View a markdown version of this page

AZ-Verfügbarkeit: Stromunterbrechung - AWS Service zur Fehlerinjektion

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

AZ-Verfügbarkeit: Stromunterbrechung

Sie können das AZ Availability: Power Interruption Szenario verwenden, um die erwarteten Symptome einer vollständigen Unterbrechung der Stromversorgung in einer Availability Zone (AZ) hervorzurufen.

Dieses Szenario kann verwendet werden, um zu demonstrieren, dass Multi-AZ-Anwendungen während einer einzigen, vollständigen AZ-Stromunterbrechung erwartungsgemäß funktionieren. Es beinhaltet den Verlust der zonalen Rechenleistung (Amazon EC2, EKS und ECS), keine Neuskalierung der Rechenleistung im AZ, Verlust der Subnetzkonnektivität, RDS-Failover, Failover, eingeschränkter Zugriff auf S3 Express One Zone-Verzeichnis-Buckets und EBS-Volumes, die ElastiCache nicht reagieren. Standardmäßig werden Aktionen, für die keine Ziele gefunden wurden, übersprungen.

Aktionen

Zusammengenommen führen die folgenden Aktionen zu vielen der erwarteten Symptome einer vollständigen Stromunterbrechung in einer einzelnen AZ. AZ-Verfügbarkeit: Eine Stromunterbrechung wirkt sich nur auf Dienste aus, bei denen zu erwarten ist, dass sie während einer einzelnen AZ-Stromunterbrechung beeinträchtigt werden. In der Standardeinstellung werden im Szenario 30 Minuten lang Symptome einer Stromunterbrechung und dann für weitere 30 Minuten Symptome eingeblendet, die während der Wiederherstellung auftreten können.

Stop-Instances

Während einer AZ-Stromunterbrechung werden die EC2-Instances in der betroffenen AZ heruntergefahren. Nach Wiederherstellung der Stromversorgung werden die Instances neu gestartet. AZ Availability: Power Interruptionschließt aws:ec2:stop-instances ein, um alle Instances in der betroffenen AZ für die Dauer der Unterbrechung zu stoppen. Nach Ablauf der Dauer werden die Instanzen neu gestartet. Das Stoppen von EC2-Instances, die von Amazon EKS verwaltet werden, führt dazu, dass abhängige EKS-Pods gelöscht werden. Das Stoppen von EC2-Instances, die von Amazon ECS verwaltet werden, führt dazu, dass abhängige ECS-Aufgaben gestoppt werden.

Diese Aktion zielt auf EC2-Instances ab, die in der betroffenen AZ ausgeführt werden. Standardmäßig zielt sie auf Instances ab, deren Tag AzImpairmentPower mit dem Wert von StopInstances benannt ist. Sie können dieses Tag zu Ihren Instances hinzufügen oder das Standard-Tag in der Experimentvorlage durch Ihr eigenes Tag ersetzen. Wenn keine gültigen Instanzen gefunden werden, wird diese Aktion standardmäßig übersprungen.

Stop-ASG-Instances

Während einer AZ-Stromunterbrechung werden EC2-Instances, die von einer Auto Scaling-Gruppe im betroffenen AZ verwaltet werden, heruntergefahren. Nach Wiederherstellung der Stromversorgung werden die Instances neu gestartet. AZ Availability: Power Interruptionschließt aws:ec2:stop-instances ein, um alle Instances, einschließlich der von Auto Scaling verwalteten, in der betroffenen AZ für die Dauer der Unterbrechung zu stoppen. Nach Ablauf der Dauer werden die Instances neu gestartet.

Diese Aktion zielt auf EC2-Instances ab, die in der betroffenen AZ ausgeführt werden. Standardmäßig zielt sie auf Instances ab, deren Tag AzImpairmentPower mit dem Wert von IceAsg benannt ist. Sie können dieses Tag zu Ihren Instances hinzufügen oder das Standard-Tag in der Experimentvorlage durch Ihr eigenes Tag ersetzen. Wenn keine gültigen Instanzen gefunden werden, wird diese Aktion standardmäßig übersprungen.

Instanzstarts pausieren

Während einer AZ-Stromunterbrechung schlagen EC2-API-Aufrufe zur Bereitstellung von Kapazitäten in der AZ fehl. Insbesondere die folgenden APIs werden betroffen sein: ec2:StartInstancesec2:CreateFleet, und. ec2:RunInstances AZ Availability: Power Interruption includesbeinhaltet aws:ec2:api-insufficient-instance-capacity-error, um zu verhindern, dass neue Instances in der betroffenen AZ bereitgestellt werden.

Diese Aktion zielt auf IAM-Rollen ab, die zur Bereitstellung von Instances verwendet werden. Diese müssen mithilfe eines ARN als Ziel ausgewählt werden. Wenn keine gültigen IAM-Rollen gefunden werden, wird diese Aktion standardmäßig übersprungen.

ASG Scaling anhalten

Während einer AZ-Stromunterbrechung schlagen EC2-API-Aufrufe fehl, die von der Auto Scaling-Steuerungsebene zur Wiederherstellung der verlorenen Kapazität in der AZ getätigt werden. Insbesondere die folgenden APIs werden betroffen sein: ec2:StartInstancesec2:CreateFleet, und. ec2:RunInstances AZ Availability: Power Interruptionbeinhaltet aws:ec2:asg-insufficient-instance-capacity-error, um zu verhindern, dass neue Instances in der betroffenen AZ bereitgestellt werden. Dadurch wird auch verhindert, dass Amazon EKS und Amazon ECS in der betroffenen AZ skaliert werden.

Diese Aktion zielt auf Auto Scaling-Gruppen ab. Standardmäßig zielt sie auf Auto Scaling-Gruppen ab, deren Tag AzImpairmentPower mit dem Wert von benannt istIceAsg. Sie können dieses Tag zu Ihren Auto Scaling-Gruppen hinzufügen oder das Standard-Tag in der Experimentvorlage durch Ihr eigenes Tag ersetzen. Wenn keine gültigen Auto Scaling-Gruppen gefunden werden, wird diese Aktion standardmäßig übersprungen.

Netzwerkkonnektivität unterbrechen

Während einer Stromunterbrechung im AZ ist das Netzwerk im AZ nicht verfügbar. In diesem Fall kann es bei einigen AWS-Services bis zu ein paar Minuten dauern, bis das DNS aktualisiert ist, um zu berücksichtigen, dass private Endpunkte in der betroffenen AZ nicht verfügbar sind. Während dieser Zeit geben DNS-Lookups möglicherweise unzugängliche IP-Adressen zurück. AZ Availability: Power Interruptionbeinhaltet aws:network:disrupt-connectivity, um die gesamte Netzwerkkonnektivität für alle Subnetze in der betroffenen AZ für 2 Minuten zu blockieren. Dadurch werden Timeouts und DNS-Aktualisierungen für die meisten Anwendungen erzwungen. Wenn die Aktion nach 2 Minuten beendet wird, kann das DNS des regionalen Dienstes anschließend wiederhergestellt werden, solange die AZ weiterhin nicht verfügbar ist.

Diese Aktion zielt auf Subnetze ab. Standardmäßig zielt sie auf Cluster ab, deren Tag mit dem Wert von DisruptSubnet benannt AzImpairmentPower ist. Sie können dieses Tag zu Ihren Subnetzen hinzufügen oder das Standard-Tag in der Versuchsvorlage durch Ihr eigenes Tag ersetzen. Wenn keine gültigen Subnetze gefunden werden, wird diese Aktion standardmäßig übersprungen.

Failover RDS

Während einer Stromunterbrechung in AZ werden die RDS-Knoten im betroffenen AZ heruntergefahren. Einzelne AZ RDS-Knoten in der betroffenen AZ werden vollständig nicht verfügbar sein. Bei Multi-AZ-Clustern erfolgt ein Failover des Writer-Knotens in ein nicht betroffenes AZ, und die Reader-Nodes in der betroffenen AZ sind nicht verfügbar. Bei Multi-AZ-Clustern AZ Availability: Power Interruption schließt dies https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#failover-db-cluster aws:rds:failover-db-cluster für den Failover ein, wenn sich der Writer in der betroffenen AZ befindet.

Diese Aktion zielt auf RDS-Cluster ab. Standardmäßig zielt sie auf Cluster ab, deren Tag AzImpairmentPower mit dem Wert von benannt istDisruptRds. Sie können dieses Tag zu Ihren Clustern hinzufügen oder das Standard-Tag in der Experimentvorlage durch Ihr eigenes Tag ersetzen. Wenn keine gültigen Cluster gefunden werden, wird diese Aktion standardmäßig übersprungen.

ElastiCache Replikationsgruppe anhalten

Während einer Stromunterbrechung in AZ sind die ElastiCache Knoten in der AZ nicht verfügbar. AZ Availability: Power Interruptionbeinhaltet https://docs.aws.amazon.com/fis/latest/userguide/fis-actions-reference.html#interrupt-elasticache aws:elasticache:replicationgroup-interrupt-az-power, um Knoten in der betroffenen AZ zu beenden. ElastiCache Während der Dauer der Unterbrechung werden in der betroffenen AZ keine neuen Instances bereitgestellt, sodass die Kapazität der Replikationsgruppe weiterhin reduziert ist.

Diese Aktion zielt auf ElastiCache Replikationsgruppen ab. Standardmäßig zielt es auf Replikationsgruppen mit einem Tag ab, der AzImpairmentPower mit dem Wert von benannt istElasticacheImpact. Sie können dieses Tag zu Ihren Replikationsgruppen hinzufügen oder das Standard-Tag in der Versuchsvorlage durch Ihr eigenes Tag ersetzen. Wenn keine gültigen Replikationsgruppen gefunden werden, wird diese Aktion standardmäßig übersprungen. Beachten Sie, dass nur Replikationsgruppen mit Knoten in der betroffenen AZ als gültige Ziele betrachtet werden.

Starten Sie ARC Zonal Autoshift

Fünf Minuten nach Beginn der AZ-Stromunterbrechung verschiebt die Wiederherstellungsaktion den Ressourcenverkehr für die verbleibenden 25 Minuten der Stromunterbrechung aws:arc:start-zonal-autoshift automatisch vom angegebenen AZ weg. Nach Ablauf dieser Dauer wechselt der Verkehr zurück zur ursprünglichen AZ. Beachten Sie, dass bei einer realen Stromunterbrechung die Störung erkannt und der Ressourcenverkehr verlagert AWS wird, sofern die automatische Schaltfunktion aktiviert ist. Der Zeitpunkt dieser Schicht variiert zwar, aber es wird geschätzt, dass sie fünf Minuten nach Beginn der Störung eintritt.

Diese Aktion zielt auf Ressourcen ab, die für die automatische Verschiebung von Amazon Application Recovery Controller (ARC) aktiviert sind. Standardmäßig zielt sie auf Ressourcen mit dem Tag-Schlüssel AzImpairmentPower und -Wert ab. RecoverAutoshiftResources Sie können dieses Tag zu Ihren Ressourcen hinzufügen oder das Standard-Tag in der Versuchsvorlage durch Ihr eigenes Tag ersetzen. Beispielsweise möchten Sie vielleicht ein anwendungsspezifisches Tag verwenden. Wenn keine gültigen Ressourcen gefunden werden, wird diese Aktion standardmäßig übersprungen.

EBS anhalten I/O

Nach einer AZ-Stromunterbrechung kann es bei einem sehr kleinen Prozentsatz der Instances vorkommen, dass EBS-Volumes nicht mehr reagieren, sobald die Stromversorgung wiederhergestellt ist. AZ Availability: Power Interruptionbeinhaltet aws:ebs:pause-io, sodass ein EBS-Volume nicht mehr reagiert.

Standardmäßig werden nur Volumes als Ziel ausgewählt, die so eingestellt sind, dass sie auch nach dem Beenden der Instance bestehen bleiben. Diese Aktion zielt auf Volumes ab, deren Tag AzImpairmentPower mit dem Wert von APIPauseVolume benannt ist. Sie können dieses Tag zu Ihren Volumes hinzufügen oder das Standard-Tag in der Versuchsvorlage durch Ihr eigenes Tag ersetzen. Wenn keine gültigen Volumes gefunden werden, wird diese Aktion standardmäßig übersprungen.

Unterbrechen Sie die Konnektivität zu S3 Express One Zone-Verzeichnis-Buckets

Während einer AZ-Stromunterbrechung ist der Zugriff auf Daten, die in den S3 Express One Zone-Verzeichnis-Buckets im AZ gespeichert sind, nicht möglich. AZ-Verfügbarkeit: Die Stromunterbrechung umfasst aws:network:disrupt-connectivity, um die Konnektivität zwischen Subnetzen und One Zone-Verzeichnis-Buckets in der betroffenen AZ für die Dauer des Experiments zu unterbrechen, was zu Zeitüberschreitungen bei API-Vorgängen auf der Datenebene der zonalen Endpunkte führt. Verwenden Sie diese Aktion, um die Unterbrechung zu testen, wenn sich die Rechenleistung und der Speicher in einer AZ gleichzeitig befinden.

Diese Aktion zielt auf Subnetze ab. Standardmäßig zielt sie auf Subnetze ab, deren Tag mit dem Wert von benannt AzImpairmentPower ist. DisruptSubnet Sie können dieses Tag zu Ihren Subnetzen hinzufügen oder das Standard-Tag in der Versuchsvorlage durch Ihr eigenes Tag ersetzen. Wenn keine gültigen Subnetze gefunden werden, wird diese Aktion standardmäßig übersprungen.

Einschränkungen

  • Dieses Szenario beinhaltet keine Stoppbedingungen. Die richtigen Stoppbedingungen für Ihre Anwendung sollten der Versuchsvorlage hinzugefügt werden.

  • In der Ziel-AZ werden Amazon EKS-Pods, die auf EC2 laufen, mit EC2-Worker-Knoten beendet und das Starten neuer EC2-Knoten wird blockiert. Amazon EKS-Pods, die auf AWS Fargate ausgeführt werden, werden jedoch nicht unterstützt.

  • In der Ziel-AZ werden Amazon ECS-Aufgaben, die auf EC2 ausgeführt werden, mit EC2-Worker-Knoten beendet und das Starten neuer EC2-Knoten wird blockiert. Amazon ECS-Aufgaben, die auf AWS Fargate ausgeführt werden, werden jedoch nicht unterstützt.

  • Amazon RDS Multi-AZ mit zwei lesbaren Standby-DB-Instances wird nicht unterstützt. In diesem Fall werden die Instances beendet, RDS führt ein Failover durch und die Kapazität wird sofort wieder in der betroffenen AZ bereitgestellt. Die lesbare Standby-Funktion in der betroffenen AZ bleibt verfügbar.

Voraussetzungen

  • Fügen Sie der AWS FIS Experimentrolle die erforderliche Berechtigung hinzu.

  • Ressourcen-Tags müssen auf Ressourcen angewendet werden, auf die das Experiment abzielen soll. Diese können Ihre eigene Tagging-Konvention oder die im Szenario definierten Standard-Tags verwenden.

Berechtigungen

ARC Zonal Autoshift verwendet eine serviceverknüpfte IAM-Rolle, AWSServiceRoleForZonalAutoshiftPracticeRun um die zonale Verschiebung in Ihrem Namen durchzuführen. Diese Rolle verwendet die von IAM verwaltete Richtlinie. AWSZonalAutoshiftPracticeRunSLRPolicy Sie müssen die Rolle nicht manuell erstellen. Wenn Sie eine Versuchsvorlage aus dem AZ Power Interruption-Szenario im AWS-Managementkonsole, dem AWS CLI oder einem AWS SDK erstellen, erstellt ARC die serviceverknüpfte Rolle für Sie. Weitere Informationen finden Sie unter Verwenden der serviceverknüpften Rolle für zonale Autoshift in ARC.

Die folgende Richtlinie gewährt AWS FIS die erforderlichen Berechtigungen, um ein Experiment mit dem Szenario durchzuführen. AZ Availability: Power Interruption Diese Richtlinie muss der Experimentrolle zugeordnet werden.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Sid": "AllowFISExperimentLoggingActionsCloudwatch", "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:PutResourcePolicy", "logs:DescribeResourcePolicies", "logs:DescribeLogGroups" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:*:*:network-acl/*", "Condition": { "StringEquals": { "ec2:CreateAction": "CreateNetworkAcl", "aws:RequestTag/managedByFIS": "true" } } }, { "Effect": "Allow", "Action": "ec2:CreateNetworkAcl", "Resource": "arn:aws:ec2:*:*:network-acl/*", "Condition": { "StringEquals": { "aws:RequestTag/managedByFIS": "true" } } }, { "Effect": "Allow", "Action": [ "ec2:CreateNetworkAclEntry", "ec2:DeleteNetworkAcl" ], "Resource": [ "arn:aws:ec2:*:*:network-acl/*", "arn:aws:ec2:*:*:vpc/*" ], "Condition": { "StringEquals": { "ec2:ResourceTag/managedByFIS": "true" } } }, { "Effect": "Allow", "Action": "ec2:CreateNetworkAcl", "Resource": "arn:aws:ec2:*:*:vpc/*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeVpcs", "ec2:DescribeManagedPrefixLists", "ec2:DescribeSubnets", "ec2:DescribeNetworkAcls" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:ReplaceNetworkAclAssociation", "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:network-acl/*" ] }, { "Effect": "Allow", "Action": [ "rds:FailoverDBCluster" ], "Resource": [ "arn:aws:rds:*:*:cluster:*" ] }, { "Effect": "Allow", "Action": [ "rds:RebootDBInstance" ], "Resource": [ "arn:aws:rds:*:*:db:*" ] }, { "Effect": "Allow", "Action": [ "elasticache:DescribeReplicationGroups", "elasticache:InterruptClusterAzPower" ], "Resource": [ "arn:aws:elasticache:*:*:replicationgroup:*" ] }, { "Sid": "TargetResolutionByTags", "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances" ], "Resource": "arn:aws:ec2:*:*:instance/*" }, { "Effect": "Allow", "Action": [ "ec2:DescribeInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "kms:CreateGrant" ], "Resource": [ "arn:aws:kms:*:*:key/*" ], "Condition": { "StringLike": { "kms:ViaService": "ec2.*.amazonaws.com" }, "Bool": { "kms:GrantIsForAWSResource": "true" } } }, { "Effect": "Allow", "Action": [ "ec2:DescribeVolumes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:PauseVolumeIO" ], "Resource": "arn:aws:ec2:*:*:volume/*" }, { "Sid": "AllowInjectAPI", "Effect": "Allow", "Action": [ "ec2:InjectApiError" ], "Resource": [ "*" ], "Condition": { "ForAnyValue:StringEquals": { "ec2:FisActionId": [ "aws:ec2:api-insufficient-instance-capacity-error", "aws:ec2:asg-insufficient-instance-capacity-error" ] } } }, { "Sid": "DescribeAsg", "Effect": "Allow", "Action": [ "autoscaling:DescribeAutoScalingGroups" ], "Resource": [ "*" ] } ] }

Inhalt des Szenarios

Der folgende Inhalt definiert das Szenario. Dieses JSON kann gespeichert und verwendet werden, um eine Versuchsvorlage mithilfe des Befehls create-experiment-template aus der AWS-Befehlszeilenschnittstelle (AWS CLI) zu erstellen. Die neueste Version des Szenarios finden Sie in der Szenariobibliothek in der FIS-Konsole.

{ "targets": { "IAM-role": { "resourceType": "aws:iam:role", "resourceArns": [], "selectionMode": "ALL" }, "EBS-Volumes": { "resourceType": "aws:ec2:ebs-volume", "resourceTags": { "AzImpairmentPower": "ApiPauseVolume" }, "selectionMode": "COUNT(1)", "parameters": { "availabilityZoneIdentifier": "us-east-1a" }, "filters": [ { "path": "Attachments.DeleteOnTermination", "values": [ "false" ] } ] }, "EC2-Instances": { "resourceType": "aws:ec2:instance", "resourceTags": { "AzImpairmentPower": "StopInstances" }, "filters": [ { "path": "State.Name", "values": [ "running" ] }, { "path": "Placement.AvailabilityZone", "values": [ "us-east-1a" ] } ], "selectionMode": "ALL" }, "ASG": { "resourceType": "aws:ec2:autoscaling-group", "resourceTags": { "AzImpairmentPower": "IceAsg" }, "selectionMode": "ALL" }, "ASG-EC2-Instances": { "resourceType": "aws:ec2:instance", "resourceTags": { "AzImpairmentPower": "IceAsg" }, "filters": [ { "path": "State.Name", "values": [ "running" ] }, { "path": "Placement.AvailabilityZone", "values": [ "us-east-1a" ] } ], "selectionMode": "ALL" }, "Subnet": { "resourceType": "aws:ec2:subnet", "resourceTags": { "AzImpairmentPower": "DisruptSubnet" }, "filters": [ { "path": "AvailabilityZone", "values": [ "us-east-1a" ] } ], "selectionMode": "ALL", "parameters": {} }, "RDS-Cluster": { "resourceType": "aws:rds:cluster", "resourceTags": { "AzImpairmentPower": "DisruptRds" }, "selectionMode": "ALL", "parameters": { "writerAvailabilityZoneIdentifiers": "us-east-1a" } }, "ElastiCache-Cluster": { "resourceType": "aws:elasticache:replicationgroup", "resourceTags": { "AzImpairmentPower": "DisruptElasticache" }, "selectionMode": "ALL", "parameters": { "availabilityZoneIdentifier": "us-east-1a" } } }, "actions": { "Pause-Instance-Launches": { "actionId": "aws:ec2:api-insufficient-instance-capacity-error", "parameters": { "availabilityZoneIdentifiers": "us-east-1a", "duration": "PT30M", "percentage": "100" }, "targets": { "Roles": "IAM-role" } }, "Pause-EBS-IO": { "actionId": "aws:ebs:pause-volume-io", "parameters": { "duration": "PT30M" }, "targets": { "Volumes": "EBS-Volumes" }, "startAfter": [ "Stop-Instances", "Stop-ASG-Instances" ] }, "Stop-Instances": { "actionId": "aws:ec2:stop-instances", "parameters": { "completeIfInstancesTerminated": "true", "startInstancesAfterDuration": "PT30M" }, "targets": { "Instances": "EC2-Instances" } }, "Pause-ASG-Scaling": { "actionId": "aws:ec2:asg-insufficient-instance-capacity-error", "parameters": { "availabilityZoneIdentifiers": "us-east-1a", "duration": "PT30M", "percentage": "100" }, "targets": { "AutoScalingGroups": "ASG" } }, "Stop-ASG-Instances": { "actionId": "aws:ec2:stop-instances", "parameters": { "completeIfInstancesTerminated": "true", "startInstancesAfterDuration": "PT30M" }, "targets": { "Instances": "ASG-EC2-Instances" } }, "Pause-network-connectivity": { "actionId": "aws:network:disrupt-connectivity", "parameters": { "duration": "PT2M", "scope": "all" }, "targets": { "Subnets": "Subnet" } }, "Failover-RDS": { "actionId": "aws:rds:failover-db-cluster", "parameters": {}, "targets": { "Clusters": "RDS-Cluster" } }, "Pause-ElastiCache": { "actionId": "aws:elasticache:replicationgroup-interrupt-az-power", "parameters": { "duration": "PT30M" }, "targets": { "ReplicationGroups": "ElastiCache-Cluster" } } }, "stopConditions": [ { "source": "aws:cloudwatch:alarm", "value": "" } ], "roleArn": "", "tags": { "Name": "AZ Impairment: Power Interruption" }, "logConfiguration": { "logSchemaVersion": 2 }, "experimentOptions": { "accountTargeting": "single-account", "emptyTargetResolutionMode": "skip" }, "description": "Affect multiple resource types in a single AZ, targeting by tags and explicit ARNs, to approximate power interruption in one AZ." }