AWS Storage Gateway gateway is not hosted on EC2
AWS Storage Gateway hosted on an EC2 instance is flagged by assessing each gateway's hosting environment, distinguishing single-instance EC2 deployments from non-EC2 platforms that can leverage platform-level high availability.
Risk
A single EC2-hosted gateway concentrates failure risk. Instance or AZ disruption, reboots, or network faults can halt file access, causing downtime and stalled writes. This degrades availability and can affect integrity via partial operations or cache desynchronization.
Run this check with Prowler
Run in Prowler Cloudprowler aws --checks storagegateway_gateway_fault_tolerantRecommendation
Design for high availability: avoid single-instance gateways for critical workloads. Prefer managed multi-AZ services like EFS or FSx, or use multiple gateways with client failover and resilient naming. Apply defense in depth, validate failover regularly, and monitor health to prevent outages.
Remediation
Other
Check Code
from prowler.lib.check.models import Check, Check_Report_AWS
from prowler.providers.aws.services.storagegateway.storagegateway_client import (
storagegateway_client,
)
class storagegateway_gateway_fault_tolerant(Check):
def execute(self):
findings = []
for gateway in storagegateway_client.gateways:
report = Check_Report_AWS(metadata=self.metadata(), resource=gateway)
report.status = "FAIL"
report.status_extended = f"StorageGateway Gateway {gateway.name} may not be fault tolerant as it is hosted on {gateway.environment}."
if gateway.environment != "EC2":
report.status = "PASS"
report.status_extended = f"StorageGateway Gateway {gateway.name} may be fault tolerant as it is hosted on {gateway.environment}."
findings.append(report)
return findings