

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ゾーンシフトとゾーンオートシフトを使用して ARC のアプリケーションを復旧する
<a name="multi-az"></a>

このセクションでは、Amazon Application Recovery Controller (ARC) の機能を使用して、障害のあるアベイラビリティーゾーン (AZ) の問題から AWS リソースを確実に復旧する方法について説明します。ゾーンシフトとゾーンオートシフトは、サポートされているリソースのトラフィックを障害のある AZ から一時的に移行するため、アプリケーションの復旧までの時間が短縮されます。

ゾーンシフトとゾーンオートシフトの主な違いは、一方はユーザーが制御する手動トラフィックシフトであり、もう一方はユーザーに代わってトラフィックを自動的に障害から遠ざける点です。
+ ゾーンシフトでは、AWS リージョン でサポートされているリソースのトラフィックをアベイラビリティーゾーンから手動でシフトします。
+ ゾーンオートシフトを使用すると、サポートされているリソースのトラフィックは障害のある AZ から自動的に移行され、同じ AWS リージョン内の正常な AZ に再ルーティングされます。

以下のトピックでは、ゾーンシフト機能とゾーンオートシフト機能、それらを使用する方法について説明します。

**Topics**
+ [ARC のゾーンシフト](arc-zonal-shift.md)
+ [ARC のゾーンオートシフト](arc-zonal-autoshift.md)

# ARC のゾーンシフト
<a name="arc-zonal-shift"></a>

Amazon Application Recovery Controller (ARC) *ゾーンシフト*を使用すると、サポートされているリソースのトラフィックを の障害のあるアベイラビリティーゾーン (AZ) から同じリージョンの正常な AZs AWS リージョン にシフトできます。障害が発生している AZ からリソースのトラフィックを切り替えることにより、停電や AZ 内のハードウェア/ソフトウェアの問題によって生じる影響の期間や深刻度を低減し、問題の緩和やアプリケーションの迅速な復旧に役立ちます。例えば、不適切なデプロイが原因でレイテンシーの問題が発生していたり、アベイラビリティーゾーンで障害が発生していたりする場合、トラフィックをシフトすることを選択できます。

ゾーンシフトを使用するには、リソースをオプトインする必要があります。詳細については、[サポートされているリソース](arc-zonal-shift.resource-types.md) を参照してください。

ゾーンシフトを開始する前に、アプリケーションをプリスケールし、トラフィックをアベイラビリティーゾーンからシフトするのに十分な容量があることを確認する必要があります。プレスケーリング後、移行元のアベイラビリティーゾーンとトラフィックを移行するリソースを選択し、ゾーンシフトを開始できます。シフトはいつでもキャンセルでき、トラフィックを元のアベイラビリティーゾーンに戻すことができます。詳細については、[ARC のゾーンシフトのベストプラクティス](route53-arc-best-practices.zonal-shifts.md)を参照してください。

すべてのゾーンシフトは一時的な緩和策です。ゾーンシフトを開始するときに、最初の有効期限を 1 分から 3 日 (72 時間) に設定します。トラフィックシフトを継続する必要がある場合は延長できます。

特定の状況では、ゾーンシフトによって AZ からトラフィックが切り替えられない場合があります。詳細については、「[サポートされているリソース](arc-zonal-shift.resource-types.md)」を参照してください。

# ゾーンシフトの仕組み
<a name="arc-zonal-shift.how-it-works"></a>

サポートされているリソースに対してゾーンシフトを開始すると、そのリソースのトラフィックは、指定したアベイラビリティーゾーン (AZ) から切り替えられます。ARC がサポートするリソースは、指定した AZ を異常としてマークするための連携機能を備えており、その結果として、障害のある AZ からトラフィックが切り替えられます。

**トラフィックの切り替え開始** - ARC でゾーンシフトを開始しても、アベイラビリティーゾーンからすぐにトラフィックが移動しない場合があります。クライアントの挙動または接続の再利用によっては、アベイラビリティーゾーンで進行中の既存の接続が完了するまでに、若干時間がかかる場合もあります。DNS 設定や既存の接続を含むその他の要因は数分で完了しますが、時間がかかる場合があります。詳細については、「[トラフィックのシフトを迅速に完了させる](route53-arc-best-practices.zonal-shifts.md#arc-zonal-shift.existing-connections)」を参照してください。

**トラフィックシフトの終了** - ゾーンシフトの有効期限が切れるか、取り消した場合、ARC はトラフィックの切り替えを停止するための処理を行い、トラフィック切り替えを開始したときの手順を逆に実行します。これで、復旧した AZ がリソースで使用可能として認識され、AZ へのトラフィックが再開されます。

ゾーンシフトを開始するときは、すべてのゾーンシフトに有効期限を設定する必要があります。ゾーンシフトの有効期限は、初回は最大で 3 日 (72 時間) 後に設定できます。ただし、ゾーンシフトはいつでも新しい有効期限に更新できます。アベイラビリティーゾーンへのトラフィックを復旧する準備ができていたら、有効期限が切れる前にゾーンシフトをキャンセルすることも可能です。

**トラフィックが切り替わらない場合** - 特定の状況では、ゾーンシフトを行ってもアベイラビリティーゾーンからトラフィックが切り替えられないことがあります。例えば、ロードバランサーのゾーンシフトを開始した時点で、対象の AZ にあるロードバランサーのターゲットグループにインスタンスが存在しない場合や、すべてのインスタンスが異常である場合などが該当します。この場合、ロードバランサーはフェイルオープン状態となり、ゾーンシフトを開始してもトラフィックは移動しません。

リソースのゾーンシフトを開始する前に、成功したゾーンシフトのすべての条件が満たされていることを確認してください。 AWS リソースは、ゾーンシフトを異なる方法で処理します。ゾーンシフトのサポートに関する詳細は、「[サポートされているリソース](arc-zonal-shift.resource-types.md)」を参照してください。

# AWS リージョン ゾーンシフトの可用性
<a name="introduction-regions-zonal"></a>

Amazon Application Recovery Controller (ARC) のリージョンサポートとサービスエンドポイントに関する詳細は、「*Amazon Web Services 全般のリファレンス*」にある「[Amazon Application Recovery Controller (ARC) エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/r53arc.html)」を参照してください。

ゾーンシフトとゾーンオートシフトは現在、ここ AWS リージョン に記載されている で利用できます。ゾーンシフトおよびゾーンオートシフトは、中国 (北京) リージョンおよび中国 (寧夏) リージョンでも利用できます。Amazon Application Recovery Controller (ARC) を使用するリソースには、追加で考慮すべき点がある場合があります。詳細については、[サポートされているリソース](arc-zonal-shift.resource-types.md) を参照してください。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/r53recovery/latest/dg/introduction-regions-zonal.html)

# ゾーンシフトのコンポーネント
<a name="introduction-components-zonal"></a>

次の図は、トラフィックを AWS リージョンのアベイラビリティーゾーンから遠ざけるゾーンシフトの例を示しています。ゾーンシフトに組み込まれているチェック機能により、リソースに既にアクティブなゾーンシフトがある場合は、別のゾーンシフトを開始できないようになっています。

![\[3 つのアベイラビリティーゾーンを持つゾーンシフトの図\]](http://docs.aws.amazon.com/ja_jp/r53recovery/latest/dg/images/ZonalShiftDiagramRev2023.png)


以下は、ARC におけるゾーンシフト機能のコンポーネントです。

**ゾーンシフト**  
 AWS アカウントのマネージドリソースのゾーンシフトを開始して AWS リージョン、トラフィックを のアベイラビリティーゾーンからリージョン内の正常な AZs に一時的に移動し、1 つの AZ の問題から迅速に復旧します。ゾーンシフトでサポートされているリソースの詳細については、「[サポートされているリソース](arc-zonal-shift.resource-types.md)」を参照してください。

**組み込みの安全チェック**  
ARC に組み込まれているチェックにより、1 つのリソースについて一度に複数のトラフィックシフトが行われることはありません。つまり、アベイラビリティーゾーンからトラフィックをアクティブにシフトできるのは、1 件のユーザー起動のゾーンシフト、練習用実行、またはオートシフトのいずれか 1 つだけです。例えば、あるリソースがオートシフトで遠ざけられているときにゾーンシフトを開始した場合は、ゾーンシフトが優先されます。詳細については、「[ARC のゾーンオートシフト](arc-zonal-autoshift.md)」と「[練習実行の結果](arc-zonal-autoshift.how-it-works.precedence.md#ZAShiftPrecedence)」を参照してください。

**リソース識別子**  
ゾーンシフトに含めるリソースの識別子です。識別子は、リソースの Amazon リソースネーム (ARN) です。  
ゾーンシフトでは、ARC でサポートされている AWS サービスのアカウント内のリソースのみを選択できます。ゾーンシフトでサポートされているリソースの詳細については、「[サポートされているリソース](arc-zonal-shift.resource-types.md)」を参照してください。

**マネージドリソース**  
一部の AWS リソースはゾーンシフトに手動でオプトインする必要があり、他のリソースは自動的に有効になります。ゾーンシフトでサポートされているリソースの詳細については、「[サポートされているリソース](arc-zonal-shift.resource-types.md)」を参照してください。

**リソース名**  
ゾーンシフトに指定できる ARC のリソースの名前。

**ステータス (ゾーンシフトステータス)**  
ゾーンシフトのステータスです。ゾーンシフトの `Status` には、次のいずれかの値が設定されます。  
+ **ACTIVE (アクティブ)**: ゾーンシフトが開始され、アクティブの状態です。
+ **EXPIRED (期限切れ)**: ゾーンシフトが期限切れの状態です (有効期限を超過)。
+ **CANCELED (キャンセル)**: ゾーンシフトがキャンセルされた状態です。

**適用ステータス**  
適用ステータスは、リソースに対してシフトが適用されているかどうかを示します。ステータスが `APPLIED` のシフトによって、リソースについてアプリケーショントラフィックが遠ざけられたアベイラビリティーゾーンと、そのトラフィックシフトが終了するタイミングが決まります。

**シフトタイプ**  
ゾーンシフトタイプを定義します。`shiftType` は以下のイベント値を持ちます。  
+ **ZONAL\$1SHIFT**
+ **ZONAL\$1AUTOSHIFT**
+ **PRACTICE\$1RUN**
+ **FIS\$1EXPERIMENT**

**有効期限 (満了期限)**  
ゾーンシフトの有効期限 (満了期限) です。ゾーンシフトは一時的なものです。ゾーンシフトは、最初は 3 日間 (72 時間) 有効になるように設定できます。  
ゾーンシフトを開始するときに、ゾーンシフトをアクティブにする時間を指定します。ARC によってそれが有効期限 (満了期限) に変換されます。例えば、アベイラビリティーゾーンへのトラフィックをリカバリする準備ができている場合は、ゾーンシフトをキャンセルできます。または、顧客が開始したゾーンシフトを更新して別の有効期限を指定することによって、ゾーンシフトを延長することもできます。  
ゾーンオートシフトの一部であるゾーンシフトの練習実行をキャンセルできます。

# ゾーンシフトのデータプレーンとコントロールプレーン
<a name="data-and-control-planes-zonal-shift"></a>

フェイルオーバーとディザスタリカバリを計画する際は、フェイルオーバーメカニズムの耐障害性を考慮してください。フェイルオーバー中に依存するメカニズムは、可用性が高く、災害シナリオで必要なときに使用できるようにすることをお勧めします。信頼性と耐障害性を最大限に高めるため、可能であれば通常、データプレーン機能をメカニズムに使用する必要があります。そのことを念頭に置いて、サービス機能がコントロールプレーンとデータプレーンにどのように分けられているのか、また、サービスのデータプレーンで非常に高い信頼性が期待できるのはどのような場合なのかを理解することが重要です。

ほとんどの AWS サービスと同様に、ゾーンシフト機能の機能はコントロールプレーンとデータプレーンでサポートされています。どちらのタイプも信頼できるように構築されていますが、コントロールプレーンはデータ整合性のために最適化され、データプレーンは可用性のために最適化されています。データプレーンは、コントロールプレーンが使用できなくなるような破壊的なイベントでも、可用性を維持できるように設計されています。

一般に、コントロールプレーンを使用すると、サービス内のリソースの作成、更新、削除などの基本的な管理機能を実行できます。**データプレーンはサービスのコア機能を提供します。**

データプレーン、コントロールプレーン、および が高可用性目標を達成するためのサービス AWS を構築する方法の詳細については、Amazon Builders' Library の「ア[ベイラビリティーゾーンを使用した静的安定性」を参照してください](https://aws.amazon.com/builders-library/static-stability-using-availability-zones/)。

# ARC のゾーンシフトの料金
<a name="introduction-pricing-zonal-shift"></a>

ゾーンシフトでは、サポートされているリソースに対してゾーンシフトを開始し、アベイラビリティーゾーンで発生した問題からアプリケーションを復旧させることができます。ゾーンシフトは追加料金なしで使用できます。

ARC の料金および料金例の詳細については、「[ARC の料金](https://aws.amazon.com/application-recovery-controller/pricing/)」を参照してください。

# ARC のゾーンシフトのベストプラクティス
<a name="route53-arc-best-practices.zonal-shifts"></a>

ARC で、マルチ AZ リカバリにゾーンシフトを使用する場合は、次のベストプラクティスに従うことが推奨されます。

**トピック**
+ [キャパシティプランニングと事前スケーリング](#ZSBestPracticeCapacityPrescaling)
+ [クライアントがエンドポイントに接続したままになる時間を制限する](#arc-zonal-shift.existing-connections)
+ [ゾーンシフトの開始を事前にテストする](#ZSBestPracticeTestShifting)
+ [すべてのアベイラビリティーゾーンが正常で、トラフィックを取るようにする](#ZSBestPracticeEnsureHealthyAZs)
+ [ディザスタリカバリにデータプレーン API オペレーションを使用する](#ZSBestPracticeUseDataPlane)
+ [ゾーンシフトでトラフィックを一時的にのみ移動する](#ZSBestPracticeMoveTrafficTemp)

**キャパシティプランニングと事前スケーリング**  
ゾーンシフトを開始するときは、事前にスケーリングするか、自動スケーリングができるようにキャパシティを計画することで、アベイラビリティーゾーンにかかる通常よりも大きな負荷に対応できるようにしておきます。リカバリに重点が置かれたアーキテクチャでは一般的に、(通常) 3 つのレプリカのうちいずれかがオフラインになったとき、ピーク時のトラフィックに対応できるだけの十分なヘッドルームを確保するように、コンピューティングキャパシティを事前にスケールすることが推奨されています。  
サポートされているリソースに対してゾーンシフトを開始し、トラフィックが AZ から切り替えられると、アプリケーションがリクエストの処理に使用していたキャパシティは削除されます。AZ からのトラフィック切り替えを事前に計画し、残りの AZ でもリクエストの処理を継続できることを確認する必要があります。

**クライアントがエンドポイントに接続したままになる時間を制限する**  
Amazon Application Recovery Controller (ARC) がゾーンシフトやゾーンオートシフトなどを使用してトラフィックを障害から遠ざける場合、ARC がアプリケーショントラフィックを移動するために使用するメカニズムは DNS 更新です。DNS 更新により、すべての新しい接続が障害のある場所から遠ざけられます。  
ただし、既存のオープン接続を持つクライアントは、クライアントが再接続するまで、障害が発生したロケーションに対してリクエストを引き続き行う場合があります。迅速な復旧を確保するために、クライアントがエンドポイントに接続し続ける時間を制限することをお勧めします。

**ゾーンシフトの開始を事前にテストする**  
ゾーンシフトを開始してトラフィックをアプリケーションのアベイラビリティーゾーンから移動するテストを、定期的に行います。ゾーンシフトを計画して、障害の発生時にアプリケーションをリカバリするフェイルオーバーの定期テストの一環として、できればテストと本番の両方の環境でその開始を実行します。定期テストは、運用上のイベントに備え、イベントの発生時には自信を持って緩和できるようにするために不可欠なものです。

**すべてのアベイラビリティーゾーンが正常で、トラフィックを取るようにする**  
ゾーンシフトは、アベイラビリティーゾーン内でリソース、つまりアプリケーションレプリカを異常とマークすることにより機能します。つまり、アプリケーション内のリソースが概ね正常であり、リージョンの各アベイラビリティーゾーンでトラフィックを確実に処理していることを確認することが非常に重要です。それを追跡するには、ダッシュボードを使うのがお勧めです。ダッシュボードでは、異常のあるターゲットの Elastic Load Balancing メトリクスや、アベイラビリティーゾーン別の bytesProcessed などを確認できます。  
リソースの状態のモニタリングは、2 つ目の隣接するリージョンから行うことを検討します。このアプローチにより、エンドユーザーの体験をより多く反映させることができ、さらに、アプリケーションとモニタリングの両方が同じ災害から同時に影響を受けるリスクを下げることができます。

**ディザスタリカバリにデータプレーン API オペレーションを使用する**  
アプリケーションをほとんど依存関係なく迅速に復旧する必要がある場合にゾーンシフトを開始するには、可能であれば、 AWS Command Line Interface または API をゾーンシフトアクションとともに、認証情報を事前に保存しておくことをお勧めします。使いやすさを考慮して AWS マネジメントコンソール、 でゾーンシフトを開始することもできます。ただし、スピーディな、信頼性の高いリカバリがカギとなるケースでは、データプレーンオペレーションの方が適しています。詳細については、「[Zonal Shift API Reference Guide](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/Welcome.html)」を参照してください。

**ゾーンシフトでトラフィックを一時的にのみ移動する**  
ゾーンシフトは、障害を緩和するためにトラフィックをアベイラビリティーゾーンから一時的に移動する機能です。問題を解決するためのアクションを実行したら、すぐにアプリケーションのリソースをサービスに戻す必要があります。そうすることで、アプリケーション全体が、完全な冗長性とレジリエンスを備えた元の状態に戻ります。

# ゾーンシフト API オペレーション
<a name="actions.zonalshift"></a>

次の表は、マルチ AZ アプリケーションについてアベイラビリティーゾーンからトラフィックを遠ざけるゾーンシフトで使用できる ARC API オペレーションを一覧にしたものです。この表には、関連ドキュメントへのリンクも含まれています。

 AWS Command Line Interfaceで一般的なゾーンシフト API オペレーションを使用する方法の例については、「[ゾーンシフト AWS CLI で を使用する例](getting-started-cli-zonalshift.md)」を参照してください。


| アクション | ARC コンソールの使用 | ARC API の使用 | 
| --- | --- | --- | 
| ゾーンシフトを開始する | 「[ゾーンシフトの開始](arc-zonal-shift.start-cancel.md#arc-zonal-shift.start)」を参照してください。 | 「[StartZonalShift](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_StartZonalShift.html)」を参照 | 
| ゾーンシフトの更新 | 「[ゾーンシフトの更新またはキャンセル](arc-zonal-shift.start-cancel.md#arc-zonal-shift.update-cancel)」を参照してください。 | 「[UpdateZonalShift](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_UpdateZonalShift.html)」を参照 | 
| ゾーンシフトを一覧表示する | 「[ARC のゾーンシフト](arc-zonal-shift.md)」を参照してください。 | 「[ListZonalShifts](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_ListZonalShifts.html)」を参照 | 
| マネージドリソースを一覧表示する | 「[サポートされているリソース](arc-zonal-shift.resource-types.md)」を参照してください。 | 「[ListManagedResources](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_ListManagedResources.html)」を参照 | 
| マネージドリソースを取得する | 「[サポートされているリソース](arc-zonal-shift.resource-types.md)」を参照してください。 | 「[GetManagedResource](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_GetManagedResource.html)」を参照 | 
| ゾーンシフトのキャンセル | 「[ゾーンシフトの更新またはキャンセル](arc-zonal-shift.start-cancel.md#arc-zonal-shift.update-cancel)」を参照してください。 | 「[CancelZonalShift](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_CancelZonalShift.html)」を参照 | 

# ゾーンシフト AWS CLI で を使用する例
<a name="getting-started-cli-zonalshift"></a>

このセクションでは、 を使用して、API オペレーションを使用して Amazon Application Recovery Controller (ARC) のゾーンシフト機能 AWS Command Line Interface を操作する、ゾーンシフトを使用するアプリケーションの例を示します。これらの例は、CLI を使用したゾーンシフトの操作方法の基本的な理解を深めることを目的としています。

ARC のゾーンシフトを使用すると、サポートされているリソースのトラフィックを特定のアベイラビリティーゾーンから一時的に切り替え、アプリケーションが AWS リージョンの他のアベイラビリティーゾーンで正常に動作し続けることができます。

すべてのゾーンシフトは一時的なもので、最初は 3 日以内に期限切れになるように設定する必要があります。ただし、後でゾーンシフトを更新して新しい有効期限を設定できます。

の使用の詳細については AWS CLI、[AWS CLI 「 コマンドリファレンス](https://docs.aws.amazon.com/cli/latest/reference/arc-zonal-shift/index.html)」を参照してください。ゾーンシフト API アクションのリストと詳細情報へのリンクについては、「[ゾーンシフト API オペレーション](actions.zonalshift.md)」を参照してください。

## ゾーンシフトを開始する
<a name="getting-started-cli-zonalshift.start-zonal-shift"></a>

CLI で `start-zonal-shift` コマンドを使用して、ゾーンシフトを開始できます。

```
aws arc-zonal-shift start-zonal-shift \
       --resource-identifier arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05 \
       --away-from use1-az1 \
       --expires-in 10m \
       --comment "Shifting traffic away from use1-az1"
```

```
{
    "awayFrom": "use1-az1",
    "comment": "Shifting traffic away from use1-az1",
    "expiryTime": "2024-12-17T21:37:26-08:00",
    "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
    "startTime": "2024-12-17T21:27:26-08:00",
    "status": "ACTIVE",
    "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38"
}
```

## マネージドリソースを取得する
<a name="getting-started-cli-zonalshift.get-managed-resource"></a>

マネージドリソースに関する情報は、CLI で `get-managed-resource` コマンドを使用して取得できます。

```
aws arc-zonal-shift get-managed-resource \
       --resource-identifier arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05
```

```
{
    "appliedWeights": {
        "use1-az1": 0.0,
        "use1-az2": 1.0,
        "use1-az6": 1.0
    },
    "arn": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
    "autoshifts": [],
    "name": "Testing",
    "zonalAutoshiftStatus": "DISABLED",
    "zonalShifts": [
        {
            "appliedStatus": "APPLIED",
            "awayFrom": "use1-az1",
            "comment": "Shifting traffic away from use1-az1",
            "expiryTime": "2024-12-17T21:37:26-08:00",
            "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
            "startTime": "2024-12-17T21:27:26-08:00",
            "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38"
            "shiftType": "MANUAL"
        }
    ]
}
```

## マネージドリソースを一覧表示する
<a name="getting-started-cli-zonalshift.list-managed-resource"></a>

CLI で `list-managed-resources` コマンドを使用して、アカウント内のマネージドリソースを一覧表示できます。

```
aws arc-zonal-shift list-managed-resources 
```

```
{
    "items": [
        {
            "appliedWeights": {
                "use1-az1": 0.0,
                "use1-az2": 1.0,
                "use1-az6": 1.0
            },
            "arn": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
            "autoshifts": [],
            "availabilityZones": [
                "use1-az1",
                "use1-az2",
                "use1-az6"
            ],
            "name": "Testing",
            "practiceRunStatus": "DISABLED",
            "zonalAutoshiftStatus": "DISABLED",
            "zonalShifts": [
                {
                    "appliedStatus": "APPLIED",
                    "awayFrom": "use1-az1",
                    "comment": "Shifting traffic away from use1-az1",
                    "expiryTime": "2024-12-17T21:37:26-08:00",
                    "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
                    "startTime": "2024-12-17T21:27:26-08:00",
                    "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38"
                }
            ]
        }
    ]
}
```

## ゾーンシフトを一覧表示する
<a name="getting-started-cli-zonalshift.list-zonal-shifts"></a>

CLI で `list-zonal-shifts` コマンドを使用して、アカウント内のゾーンシフトを一覧表示できます。

```
aws arc-zonal-shift list-zonal-shifts 
```

```
{
    "items": [
        {
            "awayFrom": "use1-az1",
            "comment": "Shifting traffic away from use1-az1",
            "expiryTime": "2024-12-17T21:37:26-08:00",
            "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
            "startTime": "2024-12-17T21:27:26-08:00",
            "status": "ACTIVE",
            "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38"
        }
    ]
}
```

## ゾーンシフトを更新する
<a name="getting-started-cli-zonalshift.update-zonal-shift"></a>

CLI で `update-zonal-shift` コマンドを使用して、ゾーンシフトを更新できます。

```
aws arc-zonal-shift update-zonal-shift \  
       --zonal-shift-id 9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38 \
       --expires-in 1h \
       --comment "Still shifting traffic away from use1-az1"
```

```
{
    "awayFrom": "use1-az1",
    "comment": "Still shifting traffic away from use1-az1",
    "expiryTime": "2024-12-17T22:29:38-08:00",
    "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
    "startTime": "2024-12-17T21:27:26-08:00",
    "status": "ACTIVE",
    "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38"
}
```

## ゾーンシフトをキャンセルする
<a name="getting-started-cli-zonalshift.cancel-zonal-shift"></a>

CLI で `cancel-zonal-shift` コマンドを使用して、ゾーンシフトをキャンセルできます。

```
aws arc-zonal-shift cancel-zonal-shift \
       --zonal-shift-id 9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38
```

```
{
    "awayFrom": "use1-az1",
    "comment": "Still shifting traffic away from use1-az1",
    "expiryTime": "2024-12-17T22:29:38-08:00",
    "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
    "startTime": "2024-12-17T21:27:26-08:00",
    "status": "CANCELED",
    "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38"
}
```

# サポートされているリソース
<a name="arc-zonal-shift.resource-types"></a>

Amazon Application Recovery Controller (ARC) は現在、ゾーンシフトとゾーンオートシフトで次のリソースの有効化をサポートしています。
+ [Amazon EC2 Auto Scaling グループ](arc-zonal-shift.resource-types.ec2-auto-scaling-groups.md)
+ [アマゾン エラスティックKubernetesサービス](arc-zonal-shift.resource-types.eks.md)
+ クロスゾーンのロードバランサーの有効/無効を問わない [アプリケーション ロード バランサー](arc-zonal-shift.resource-types.app-load-balancers.md)
+ クロスゾーンのロードバランサーの有効/無効を問わない [Network Load Balancer](arc-zonal-shift.resource-types.network-load-balancers.md)

Network Load Balancer と Application Load Balancer の具体的な要件については、このセクションの追加トピックを参照してください。

ARC でゾーンシフト、ゾーンオートシフト、リソースを使用する場合は、以下の条件を確認してください。
+ トラフィックをそのリソースにシフトするには、リソースがアクティブになっており、正常にプロビジョニングされている必要があります。リソースのゾーンシフトを開始するときは、事前に、そのリソースが ARC のマネージドリソースであることを確認します。たとえば、 でマネージドリソースのリストを表示するか AWS マネジメントコンソール、リソースの識別子を指定して `get-managed-resource`オペレーションを使用します。
+ リソースを使用してゾーンシフトを開始するときは、ゾーンシフトを開始するアベイラビリティーゾーンと AWS リージョン に、リソースをデプロイする必要があります。ゾーンシフトが、シフトの対象となる AZ と同じリージョンで開始すること、および、トラフィックのシフト先となるリソースも、同じ AZ とリージョンにあることを確認します。
+ リソースでゾーンシフトを実行するときは、適切な IAM アクセス許可があることを確認します。詳細については、「[ゾーンシフトの IAM とアクセス許可](security_iam_service-with-iam-zonal-shift.md)」を参照してください。
+ Network Load Balancer または Application Load Balancer がフェイルオープン状態の場合、ゾーンシフトは効果がありません。これは想定された動作です。なぜなら、ロードバランサーがフェイルオープン状態のときに、ゾーンシフトが AZ を強制的に異常状態にして、リージョンの他の AZ にトラフィックを切り替えることはできないためです。詳細については、「*Network Load Balancer ユーザーガイド*」の「[ロードバランサーの Route 53 DNS フェイルオーバーを使用する](https://docs.aws.amazon.com//elasticloadbalancing/latest/network/load-balancer-target-groups.html#r53-dns-failover)」および「*Application Load Balancer ユーザーガイド*」の「[ロードバランサーの Route 53 DNS フェイルオーバーを使用する](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/load-balancer-target-groups.html#r53-dns-failover)」を参照してください。
+ 複数のロードバランサーが同じターゲットにトラフィックを転送する場合、クロスゾーン対応ロードバランサーのゾーンシフトは、トラフィックがゾーンシフトによってシフトされない場合でも、すべてのロードバランサーのターゲット容量を減らします。

# Amazon EC2 Auto Scaling グループ
<a name="arc-zonal-shift.resource-types.ec2-auto-scaling-groups"></a>

Amazon EC2 Auto Scaling グループには、オートスケーリングと管理のための、論理グループとして扱われる Amazon EC2 インスタンスの集合が含まれています。また、Auto Scaling グループによって、ヘルスチェックの置き換えやスケーリングポリシーなど、Amazon EC2 Auto Scaling の機能も使用できます。Auto Scaling グループでのインスタンス数の維持と自動スケーリングの両方が Amazon EC2 Auto Scaling サービスの主な機能です。

## Auto Scaling グループのゾーンシフトの使用
<a name="using-asg-zs"></a>

ゾーンシフトを有効にするには、次のいずれかの方法を使用します。

------
#### [ Console ]

**新しいグループでゾーンシフトを有効にするには (コンソール)**

1. [「起動テンプレートを使用して Auto Scaling グループを作成する](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-launch-template)」の手順に従って、ステップ 10 までの手順の各ステップを完了します。

1. **[他のサービスと統合する]**ページの **[ARC ゾーンシフト]** で、チェックボックスを選択してゾーンシフトを有効にします。

1. **[ヘルスチェックの動作]** で、[異常を無視] または [異常なものとの置換を実行] を選択します。`replace-unhealthy` に設定すると、異常なインスタンスはアベイラビリティーゾーンのアクティブなゾーンシフトに置き換えられます。`ignore-unhealthy` に設定すると、異常なインスタンスはアクティブなゾーンシフトのあるアベイラビリティーゾーンで置き換えられません。

1. [「起動テンプレートを使用して Auto Scaling グループを作成する](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-launch-template)」の手順に進みます。

------
#### [ AWS CLI ]

**新しいグループでゾーンシフトを有効にするには (AWS CLI)**  
[create-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/create-auto-scaling-group.html) コマンドに `--availability-zone-impairment-policy` パラメータを追加します。

`--availability-zone-impairment-policy` パラメータには次の 2 つのオプションがあります。
+ **ZonalShiftEnabled** – `true` に設定すると、Auto Scaling は Auto Scaling グループを ARC ゾーンシフトに登録し、ARC コンソールで[ゾーンシフトを開始、更新、またはキャンセル](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.start-cancel.html)できます。`false` に設定すると、Auto Scaling は Auto Scaling グループを ARC ゾーンシフトから登録解除します。`false` に設定するには、ゾーンシフトが既に有効になっている必要があります。
+ **ImpairedZoneHealthCheckBehavior** – `replace-unhealthy` に設定すると、異常なインスタンスはアクティブなゾーンシフトのあるアベイラビリティーゾーンで置き換えられます。`ignore-unhealthy` に設定すると、異常なインスタンスはアクティブなゾーンシフトのあるアベイラビリティーゾーンで置き換えられません。

次の例では、`my-asg` という名前の新しい Auto Scaling グループでゾーンシフトを有効にします。

```
aws autoscaling create-auto-scaling-group \
  --launch-template LaunchTemplateName=my-launch-template,Version='1' \
  --auto-scaling-group-name my-asg \
  --min-size 1 \
  --max-size 10 \
  --desired-capacity 5 \
  --availability-zones us-east-1a us-east-1b us-east-1c \
  --availability-zone-impairment-policy '{
      "ZonalShiftEnabled": true,
      "ImpairedZoneHealthCheckBehavior": IgnoreUnhealthy       
    }'
```

------

------
#### [ Console ]

**既存のグループでゾーンシフトを有効にするには (コンソール)**

1. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) でAmazon EC2 コンソールを開き、ナビゲーションペインで **[Auto Scaling グループ]** を選択します。

1. 画面上部のナビゲーションバーで、Auto Scaling グループ AWS リージョン を作成した を選択します。

1. Auto Scaling グループの横にあるチェックボックスをオンにします。

   ページの下部にスプリットペインが開きます。

1. **[統合]** タブの **[ARC ゾーンシフト]** で、**[編集]** を選択します。

1. ゾーンシフトを有効にするには、チェックボックスをオンにします。

1. **[ヘルスチェックの動作]** で、**[異常を無視]** または **[異常なものとの置換を実行]** を選択します。
   + ヘルスチェックの動作が異常を無視するように設定されている場合、異常のあるインスタンスはアベイラビリティーゾーンでアクティブなゾーンシフトに置き換えられ*ません*。
   + ヘルスチェックの動作が異常を置き換えるように設定されている場合、異常のあるインスタンスはアベイラビリティーゾーンでアクティブなゾーンシフトに置き換えられます。

1. **[更新]** を選択します。

------
#### [ AWS CLI ]

**既存のグループでゾーンシフトを有効にするには (AWS CLI)**  
[update-auto-scaling-group](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/update-auto-scaling-group.html) コマンドに `--availability-zone-impairment-policy` パラメータを追加します。

`--availability-zone-impairment-policy` パラメータには次の 2 つのオプションがあります。
+ **ZonalShiftEnabled** – `TRUE` に設定すると、Auto Scaling は Auto Scaling グループを ARC ゾーンシフトに登録し、ARC コンソールで[ゾーンシフトを開始、更新、またはキャンセル](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-shift.start-cancel.html)できます。`FALSE` に設定すると、Auto Scaling は Auto Scaling グループを ARC ゾーンシフトから登録解除します。`FALSE` に設定するには、ゾーンシフトが既に有効になっている必要があります。
+ **ImpairedZoneHealthCheckBehavior** – `replace-unhealthy` に設定すると、異常なインスタンスはアクティブなゾーンシフトのあるアベイラビリティーゾーンで置き換えられます。`ignore-unhealthy` に設定すると、異常なインスタンスはアクティブなゾーンシフトのあるアベイラビリティーゾーンで置き換えられません。

次の例では、指定された Auto Scaling グループでゾーンシフトを有効にします。

```
aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \
  --availability-zone-impairment-policy '{
      "ZonalShiftEnabled": true,
      "ImpairedZoneHealthCheckBehavior": IgnoreUnhealthy       
    }'
```

------

ゾーンシフトを開始するには、「[ゾーンシフトの開始、更新またはキャンセル](arc-zonal-shift.start-cancel.md)」を参照してください。

## Auto Scaling グループに対するゾーンシフトの仕組み
<a name="how-it-works-asg-zs"></a>

次のアベイラビリティーゾーンを含む Auto Scaling グループがあるとします。
+ `us-east-1a`
+ `us-east-1b`
+ `us-east-1c`

`us-east-1a` の障害に気づき、ゾーンシフトを開始します。`us-east-1a` でゾーンシフトが開始されると、次の動作が発生します。
+ **スケールアウト** – Auto Scaling は、正常なアベイラビリティーゾーン (`us-east-1b` および ) ですべての新しいキャパシティーリクエストを起動します`us-east-1c`。
+ **動的スケーリング** – Auto Scaling は、スケーリングポリシーが希望する容量を減らすのをブロックします。Auto Scaling は、スケーリングポリシーが希望する容量を増やすのをブロックしません。
+ **インスタンスの更新** – Auto Scaling は、アクティブなゾーンシフト中に遅延したインスタンスの更新プロセスのタイムアウトを延長します。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/r53recovery/latest/dg/arc-zonal-shift.resource-types.ec2-auto-scaling-groups.html)

## ゾーンシフトの使用に関するベストプラクティス
<a name="best-practices-asg-zs"></a>

ゾーンシフトの使用時にアプリケーションの高可用性を維持するには、次のベストプラクティスをお勧めします。
+ EventBridge 通知をモニタリングして、進行中のアベイラビリティーゾーンの障害イベントが発生するタイミングを特定します。詳細については、[EventBridge による Amazon EC2 Auto Scaling の自動化](https://docs.aws.amazon.com//autoscaling/ec2/userguide/automating-ec2-auto-scaling-with-eventbridge.html)」を参照してください。
+ 適切なしきい値を持つスケーリングポリシーを使用して、アベイラビリティーゾーンの損失を許容できる十分な容量があることを確認します。
+ 最小正常パーセンテージが 100 のインスタンスメンテナンスポリシーを設定します。この設定で、Auto Scaling は、異常なインスタンスを終了する前に、新しいインスタンスを使用する準備が整うのを待ちます。

事前スケーリングされたお客様には、以下もお勧めします。
+ 障害イベント中に異常なインスタンスを置き換える必要がないため、障害のあるアベイラビリティーゾーンのヘルスチェック動作として **[異常を無視]** を選択します。
+ Auto Scaling グループに対して ARC のゾーンオートシフトを使用します。のゾーンオートシフト機能 Amazon Application Recovery Controller (ARC) を使用すると AWS 、 がアベイラビリティーゾーンの障害 AWS を検出したときに、リソースのトラフィックをアベイラビリティーゾーンから遠ざけることができます。詳細については、「[ARC のゾーンオートシフト](arc-zonal-autoshift.md)」を参照してください。

クロスゾーンが無効になっているロードバランサーを使用するお客様には、以下もお勧めします。
+ アベイラビリティーゾーンの分散に対して **[バランシング (限定)]** を使用します。
+ Auto Scaling グループとロードバランサーの両方でゾーンシフトを使用している場合は、まず Auto Scaling グループのゾーンシフトをキャンセルしてください。次に、すべてのアベイラビリティーゾーン間で容量のバランスを取れるまで待ってから、ロードバランサーでゾーンシフトをキャンセルします。
+ ゾーンシフトを有効にし、クロスゾーン無効ロードバランサーを使用すると、容量が不均衡になる可能性があるため、Auto Scaling には追加の検証があります。ベストプラクティスに従っている場合は、 のチェックボックスを選択する AWS マネジメントコンソール か`CreateAutoScalingGroup`、、、または の `skip-zonal-shift-validation`フラグを使用して`UpdateAutoScalingGroup`、この可能性を確認できます`AttachTrafficSources`。

# アマゾン エラスティックKubernetesサービス
<a name="arc-zonal-shift.resource-types.eks"></a>

Amazon EKS には、アベイラビリティーゾーンのヘルスの低下や障害などのイベントに対するアプリケーションの回復力を高める機能があります。Amazon EKS クラスターでワークロードを実行する場合、ゾーンシフトまたはゾーンオートシフトを使用して、アプリケーション環境の耐障害性とアプリケーション復旧をさらに改善できます。

## Amazon Elastic Kubernetes Service でのゾーンシフトの使用
<a name="using-eks-zs"></a>

ゾーンシフトを有効にするには、次のいずれかの方法を使用します。詳細については、「*Amazon Elastic Kubernetes Service ユーザーガイド*」の「[ARC ゾーンシフトについて](https://docs.aws.amazon.com//eks/latest/userguide/zone-shift-enable.html#zone-shift-enable-steps)」を参照してください。

------
#### [ Console ]

**新しい Amazon EKS クラスターでゾーンシフトを有効にするには (コンソール)**

1. ARC に登録する Amazon EKS クラスターの名前とリージョンを見つけます。

1. [https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters) で Amazon EKS コンソールを開きます。

1. クラスターを選択します。

1. **[クラスター情報]** ページの **[概要]** タブを選択します。

1. **[ゾーンシフト]** で、**[管理]** を選択します。

1. **[EKS ゾーンシフト]** で **[有効]** または **[無効]** を選択します。

------
#### [ AWS CLI ]

**新しい Amazon EKS クラスターでゾーンシフトを有効にするには (AWS CLI)**
+ 次のコマンドを入力します。

  ```
  aws eks create-cluster --name my-eks-cluster --role-arn my-role-arn-to-create-cluster --resources-vpc-config subnetIds=string,string,securityGroupIds=string,string,endpointPublicAccess=boolean,endpointPrivateAccess=boolean,publicAccessCidrs=string,string --zonal-shift-config enabled=true
  ```

**既存の Amazon EKS クラスターでゾーンシフトを有効にするには (AWS CLI)**
+ 次のコマンドを入力します。

  ```
  aws eks update-cluster-config --name my-eks-cluster --zonal-shift-config enabled=true
  ```

------

Amazon EKS クラスターのゾーンシフトを開始することも、ゾーンオートシフトを有効にすることで AWS にゾーンシフトを許可することもできます。ARC で Amazon EKS クラスターのゾーンシフトを有効にしたら、ARC コンソール、 AWS CLI、またはゾーンシフトとゾーンオートシフト APIs を使用して、ゾーンシフトを開始したり、ゾーンオートシフトを有効にしたりできます。

ゾーンシフトの開始に関する詳細については、「[ゾーンシフトの開始、更新またはキャンセル](arc-zonal-shift.start-cancel.md)」を参照してください。

ゾーンシフトで Amazon EKS を有効にする方法の詳細については、「*Amazon Elastic Kubernetes Service ユーザーガイド*」の「[Amazon EKS での ARC ゾーンシフトについて](https://docs.aws.amazon.com//eks/latest/userguide/zone-shift.html)」を参照してください。

## Amazon Elastic Kubernetes Service のゾーンシフトの仕組み
<a name="how-it-works-eks-zs"></a>

Amazon EKS のゾーンシフト中、次のことが自動的に行われます。
+ 影響を受ける AZ 内のすべてのノードが遮断されます。これにより、Kubernetes スケジューラーが異常な AZ のノードに新しいポッドをスケジューリングできなくなります。
+ [Managed Node Groups](https://docs.aws.amazon.com//eks/latest/userguide/managed-node-groups.html) を使用している場合、[アベイラビリティーゾーンの再調整](https://docs.aws.amazon.com//autoscaling/ec2/userguide/auto-scaling-benefits.html#AutoScalingBehavior.InstanceUsage)は中断され、新しい Amazon EKS データプレーンノードが正常な AZs でのみ起動されるように Auto Scaling グループが更新されます。
+ 異常な AZ のノードは終了されず、ポッドはこれらのノードから削除されません。これは、ゾーンシフトの有効期限が切れたりキャンセルされたりしたときに、トラフィックがフル容量を保持している AZ に安全に戻ることができるようにするためです。
+ EndpointSlice コントローラーは、障害のある AZ 内のすべてのポッドエンドポイントを検索し、関連する EndpointSlices から削除します。これにより、正常な AZ のポッドエンドポイントのみがネットワークトラフィックの受信対象になります。ゾーンシフトがキャンセルまたは期限切れになると、EndpointSlice コントローラーは EndpointSlices を更新して、復元された AZ にエンドポイントを含めます。

詳細については、「[AWS Containers ブログ](https://aws.amazon.com/blogs/containers/amazon-eks-now-supports-amazon-application-recovery-controller/)」を参照してください。

# アプリケーション ロード バランサー
<a name="arc-zonal-shift.resource-types.app-load-balancers"></a>

## Application Load Balancer のゾーンシフト
<a name="using-alb-zs"></a>

ゾーンシフトで Application Load Balancer を使用するには、Application Load Balancer 属性で ARC ゾーンシフト統合を有効にする必要があります。Application Load Balancer は、クロスゾーンが有効な設定またはクロスゾーンが無効な設定のゾーンシフトをサポートします。

ARC 統合を有効にしてゾーンシフトの使用を開始する前に、次の情報を確認します。
+ 1 つのアベイラビリティーゾーンに対してのみ、特定のロードバランサーのゾーンシフトを開始できます。複数のアベイラビリティーゾーンに対してゾーンシフトを開始することはできません。
+ AWS は、複数のインフラストラクチャの問題がサービスに影響を与える場合、DNS からゾーンロードバランサーの IP アドレスをプロアクティブに削除します。ゾーンシフトを開始する前に、現在のアベイラビリティーゾーンの容量を必ず確認してください。
+ ゾーンシフトは、シングル AZ ターゲットグループでは機能しません。
+ Application Load Balancer が Network Load Balancer のターゲットである場合は、常に Network Load Balancer からゾーンシフトを開始します。Application Load Balancer からゾーンシフトを開始すると、Network Load Balancer はシフトを認識せず、引き続き Application Load Balancer にトラフィックを送信します。

ロードバランサーのゾーンシフトは、Elastic Load Balancing コンソール (ほとんどの AWS リージョン) または ARC コンソールで開始できます。

------
#### [ Console ]

**ロードバランサーでゾーンシフトを有効にするには (コンソール)**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. **[ナビゲーション]** ページの **[ロードバランシング]** で **[ロードバランサー]** を選択します。

1. Application Load Balancer の名前を選択します。

1. **[属性]** タブで、**[編集]** を選択します。

1. **[アベイラビリティーゾーンルーティング設定]** で、[ARC ゾーンシフト統合] を **[有効化]** に設定します。

1. **[保存]** を選択します。

------
#### [ AWS CLI ]

**ロードバランサーでゾーンシフトを有効にするには (AWS CLI)**
+ 次のコマンドを入力します。

  ```
  aws elbv2 modify-load-balancer-attributes --load-balancer-arn my-alb-arn --attributes Key=zonal_shift.config.enabled,Value=true
  ```

------

ゾーンシフトの開始に関する詳細については、「[ゾーンシフトの開始、更新またはキャンセル](arc-zonal-shift.start-cancel.md)」を参照してください。

`keepalive` オプションを使用して、接続の継続時間を設定できます。詳細については、「Application Load Balancer ユーザーガイド」の「[HTTP クライアントのキープアライブ期間](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#http-client-keep-alive-duration)」を参照してください。Application Load Balancer では、HTTP クライアントのキープアライブ期間の値はデフォルトで 3600 秒 (1 時間) に設定されます。アプリケーションの目標復旧時間に合わせて、例えば 300 秒のように値を小さくすることをお勧めします。HTTP クライアントのキープアライブ時間を設定する際は、一般的に再接続が増えてレイテンシーに影響が出ることと、障害のある AZ やリージョンからすべてのクライアントをより早く切り替えられることとのトレードオフである点を考慮してください。

## Application Load Balancer のゾーンシフトの仕組み
<a name="how-it-works-alb-zs"></a>

クロスゾーン負荷分散が有効になっている Application Load Balancer でゾーンシフトが開始されると、影響を受けるアベイラビリティーゾーンでターゲットへのすべてのトラフィックがブロックされ、ゾーンシフトによってゾーン IP アドレスが DNS から削除されます。

詳細については、「*Application Load Balancer ユーザーガイド*」の「[Application Load Balancer の統合](https://docs.aws.amazon.com//elasticloadbalancing/latest/application/load-balancer-integrations.html#zonal-shift)」を参照してください。

# Network Load Balancer
<a name="arc-zonal-shift.resource-types.network-load-balancers"></a>

## Network Load Balancer でのゾーンシフトの使用
<a name="using-nlb-zs"></a>

ゾーンシフトで Network Load Balancer を使用するには、Network Load Balancer 属性で ARC ゾーンシフト統合を有効にする必要があります。Network Load Balancer は、クロスゾーンが有効な設定またはクロスゾーンが無効な設定のゾーンシフトをサポートします。

ゾーンシフトとゾーンオートシフトを使用するようにオプトインするリソース、および障害のあるアベイラビリティーゾーンからフェイルアウェイするタイミングを選択できます。インターネット向けと内部両方の Network Load Balancer がサポートされています。

クロスゾーン対応の Network Load Balancer のゾーンシフトを有効にするには、ロードバランサーにアタッチされているすべてのターゲットグループが次の条件を満たしている必要があります。
+ クロスゾーン負荷分散が有効になっている (または `use_load_balancer_configuration` に設定されている)。
  + ターゲットグループのクロスゾーン負荷分散の詳細については、「[ターゲットグループに対するクロスゾーン負荷分散](https://docs.aws.amazon.com//elasticloadbalancing/latest/network/edit-target-group-attributes.html#target-group-cross-zone)」を参照してください。
+ ターゲットグループプロトコルは TCP または TLS である必要があります。
  + Network Load Balancer ターゲットグループプロトコルの詳細については、「[ルーティング設定](https://docs.aws.amazon.com//elasticloadbalancing/latest/network/load-balancer-target-groups.html#target-group-routing-configuration)」を参照してください。
+ 異常のあるターゲットの接続終了は無効にする必要があります。
  + ターゲットグループ接続の終了の詳細については、「[異常のあるターゲットの接続終了](https://docs.aws.amazon.com//elasticloadbalancing/latest/network/edit-target-group-attributes.html#unhealthy-target-connection-termination)」を参照してください。
+ ターゲットグループには、Application Load Balancer をターゲットとして含めないでください。
  + Application Load Balancer をターゲットとして使用する方法の詳細については、「[Application Load Balancer を Network Load Balancer のターゲットとして使用する](https://docs.aws.amazon.com//elasticloadbalancing/latest/network/application-load-balancer-target.html)」を参照してください。

Network Load Balancer のゾーンシフトは、 AWS CLI、、 AWS マネジメントコンソールまたは Elastic Load Balancing ウィジェットを使用して開始できます。Application Load Balancer が Network Load Balancer のターゲットである場合は、ゾーンシフトは Network Load Balancer から開始する必要があります。Application Load Balancer からゾーンシフトを開始すると、Network Load Balancer は Application Load Balancer とそのターゲットにトラフィックを送信し続けます。

------
#### [ Console ]

**ロードバランサーでゾーンシフトを有効にするには (コンソール)**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. **[ナビゲーション]** ページの **[ロードバランシング]** で **[ロードバランサー]** を選択します。

1. Network Load Balancer の名前を選択します。

1. **[属性]** タブで、**[編集]** を選択します。

1. **[アベイラビリティーゾーンルーティング設定]** で、**[ARC ゾーンシフト統合]** を **[有効化]** に設定します。

1. **[保存]** を選択します。

------
#### [ AWS CLI ]

**ロードバランサーでゾーンシフトを有効にするには (AWS CLI)**
+ 次のコマンドを入力します。

  ```
  aws elbv2 modify-load-balancer-attributes --load-balancer-arn my-nlb-arn --attributes Key=zonal_shift.config.enabled,Value=true
  ```

------

ゾーンシフトを開始する方法の詳細については、「[ゾーンシフトの開始、更新またはキャンセル](arc-zonal-shift.start-cancel.md)」を参照してください。

## Network Load Balancer のゾーンシフトの仕組み
<a name="howt-it-works-nlb-zs"></a>

ARC は、登録された Network Load Balancer のヘルスチェックの失敗を作成し、ゾーンシフトの開始時に障害が発生した AZ の Network Load Balancer ノードが DNS から削除されるようにします。Network Load Balancer は、影響を受けたゾーンのターゲットを無効にしてトラフィックの受信を停止し、Elastic Load Balancing はこれらのターゲットをゾーンシフトの無効なターゲットとして扱います。無効状態のターゲットは、引き続きヘルスチェックを受信します。ターゲットが正常で、ゾーンシフトの有効期限が切れる (またはキャンセルされる) と、以前に障害が発生したゾーンのターゲットへのルーティングが再開されます。

クロスゾーン負荷分散が有効になっている Network Load Balancer のゾーンシフト中に、ゾーンロードバランサーの IP アドレスは DNS から削除されます。障害のあるアベイラビリティーゾーン内のターゲットへの既存の接続は、それらが自然に閉じられるまで保持されますが、障害のあるアベイラビリティーゾーン内のターゲットへの新しい接続はルーティングされなくなります。

 詳細については、「*Network Load Balancer ユーザーガイド*」の「[Network Load Balancer のゾーンシフト](https://docs.aws.amazon.com//elasticloadbalancing/latest/network/zonal-shift.html)」を参照してください。

# ゾーンシフトの開始、更新またはキャンセル
<a name="arc-zonal-shift.start-cancel"></a>

このセクションでは、ゾーンシフトの開始やゾーンシフトのキャンセルなど、ゾーンシフトを操作する手順について説明します。

## ゾーンシフトの開始
<a name="arc-zonal-shift.start"></a>

このセクションでは、Amazon Application Recovery Controller (ARC) のコンソールで顧客開始のゾーンシフトを開始する手順について説明します。ゾーンシフトをプログラムで操作する方法については、「[Zonal Shift API Reference Guide](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/Welcome.html)」を参照してください。

ARC でゾーンシフトを開始するだけでなく、Elastic Load Balancing コンソール (サポートされているリージョン) でロードバランサーのゾーンシフトを開始することもできます。詳細については、[「Elastic Load Balancing ユーザーガイド」の「ゾーンシフト](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/zonal-shift.html)」を参照してください。 Elastic Load Balancing 

## ゾーンシフトを開始するには


1. [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard) で ARC コンソールを開きます。

1. **[マルチ AZ]** で **[ゾーンシフト]** を選択します。

1. **[ゾーンシフト]** ページで **[ゾーンシフトを開始]** を選択します。

1. トラフィックを移動させたいアベイラビリティーゾーンを選択します。

1. **リソース**テーブルからサポートされているリソースを選択して、トラフィックをシフトします。

1. **[ゾーンシフトの有効期限を設定]** で、ゾーンシフトの有効期限を選択または入力します。ゾーンシフトは、最初は 1 分～3 日 (72 時間) まで設定できます。

   すべてのゾーンシフトは一時的なものです。有効期限は必ず設定しますが、アクティブなシフトは、後から新しい有効期限 (最大 3 日後) に更新できます。

1. コメントを入力します。必要に応じて、後でゾーンシフトを更新してコメントを編集できます。

1. このチェックボックスをオンにすると、ゾーンシフトを開始した際、トラフィックがアベイラビリティーゾーンからシフトし、アプリケーションの容量が減ることを了承します。

1. **[開始]** を選択します。

## ゾーンシフトの更新またはキャンセル
<a name="arc-zonal-shift.update-cancel"></a>

このセクションでは、Amazon Application Recovery Controller (ARC) のコンソールで、開始するゾーンシフトを更新する方法、またはゾーンシフトをキャンセルする手順について説明します。ゾーンシフトをプログラムで操作する方法については、「[Zonal Shift API Reference Guide](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/Welcome.html)」を参照してください。

ゾーンシフトは、更新して新しい有効期限を設定できます。また、コメントを編集したり置き換えたりもできます。ゾーンシフトは、有効期限が切れる前であればいつでもキャンセルできます。

開始したゾーンシフト、またはゾーンオートシフトの練習実行のリソースに対して AWS 開始されたゾーンシフトをキャンセルできます。ゾーンオートシフトの練習シフトの詳細については、「[ゾーンオートシフトと練習実行の仕組み](arc-zonal-autoshift.how-it-works.md)」を参照してください。

## ゾーンシフトを更新するには


1. [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard) で ARC コンソールを開きます。

1. **[マルチ AZ]** で **[ゾーンシフト]** を選択します。

1. 更新するゾーンシフトを選択し、**[ゾーンシフトを更新]** を選択します。

1. **[Set zonal shift expiration time]** (ゾーンシフトの有効期限の設定) で、オプションで有効期限を選択または入力します。

1. **[Comment]** (コメント) には、必要に応じて既存のコメントを編集するか、新しいコメントを入力します。

1. **[更新]** を選択します。

## ゾーンシフトをキャンセルするには


1. [https://console.aws.amazon.com/route53recovery/home#/dashboard](https://console.aws.amazon.com/route53recovery/home#/dashboard) で ARC コンソールを開きます。

1. **[マルチ AZ]** で **[ゾーンシフト]** を選択します。

1. 更新するゾーンシフトを選択し、**[ゾーンシフトをキャンセル]** を選択します。

1. ダイアログボックスで、**[確認]** を選択します。

# Amazon Application Recovery Controller (ARC) のゾーンシフトのログ記録とモニタリング
<a name="monitoring-zonal-shift"></a>

 AWS CloudTrail を使用して、Amazon Application Recovery Controller (ARC) のゾーンシフトをモニタリングし、パターンを分析し、問題のトラブルシューティングに役立てることができます。

**Topics**
+ [AWS CloudTrail を使用したゾーンシフト API コールのログ記録](cloudtrail-zonal-shift.md)

# AWS CloudTrail を使用したゾーンシフト API コールのログ記録
<a name="cloudtrail-zonal-shift"></a>

ARC のゾーンシフトは、AWS CloudTrail と統合されています。これは、ARC のユーザー、ロール、または AWS のサービスで実行されたアクションを記録するためのサービスです。CloudTrail は、ゾーンシフトに対するすべての API コールをイベントとしてキャプチャします。キャプチャされたコールには、ARC コンソールからのコールと、ゾーンシフトの ARC API オペレーションへのコードコールが含まれます。

証跡を作成する場合は、ゾーンシフトのイベントを含む、Amazon S3 バケットへの CloudTrail イベントの継続的デリバリーを有効にすることができます。証跡を設定しない場合でも、CloudTrail コンソールの **[イベント履歴]** で最新のイベントを表示できます。

CloudTrail で収集した情報を使用して、ゾーンシフトの ARC に対するリクエスト、リクエスト元の IP アドレス、リクエストした人、リクエストが行われた日時などの詳細を確認できます。

CloudTrail の詳細については、「[AWS CloudTrail ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)」を参照してください。

## CloudTrail のゾーンシフト情報
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail は、AWS アカウントを作成すると、その中で有効になります。ゾーンシフトの ARC でアクティビティが発生すると、そのアクティビティは他の AWS サービスイベントと共に、**[イベント履歴]** 内で CloudTrail イベントに記録されます。最近のイベントは、AWS アカウント で表示、検索、ダウンロードできます。詳細については、「[CloudTrail イベント履歴の操作](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)」を参照してください。

ゾーンシフトの ARC のイベントなど、AWS アカウント で継続しているイベントの記録については、証跡を作成します。*証跡*により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。デフォルトでは、コンソールで証跡を作成するときに、証跡がすべての AWS リージョン に適用されます。証跡は、AWS パーティションのすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集したイベントデータをより詳細に分析し、それに基づいて対応するため、他の AWS サービスを構成できます。詳細については、次を参照してください:
+ [追跡を作成するための概要](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail がサポートされているサービスと統合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [CloudTrail の Amazon SNS 通知の設定](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [複数のリージョンから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)および[複数のアカウントから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

すべての ARC アクションは CloudTrail によってログに記録され、「[Amazon Application Recovery Controller のルーティングコントロール API リファレンスガイド](https://docs.aws.amazon.com/routing-control/latest/APIReference/)」に記載されています。例えば、`StartZonalShift` および `ListManagedResources` の各アクションを呼び出すと、CloudTrail ログファイルにエントリが生成されます。

各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます:
+ リクエストが、ルート認証情報と AWS Identity and Access Management (IAM) ユーザー認証情報のどちらを使用して送信されたか。
+ リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。
+ リクエストが別の AWS サービスによって行われたかどうか。

詳細については、「[CloudTrail userIdentity エレメント](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)」を参照してください。

## イベント履歴での ARC イベントの表示
<a name="amazon-arc-events-in-cloudtrail-event-history"></a>

CloudTrail では、[**イベント履歴**] に最近のイベントが表示されます。詳細については、「*AWS CloudTrail ユーザーガイド*」の「[CloudTrail イベント履歴の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)」を参照してください。

## ゾーンシフトログファイルエントリの理解
<a name="understanding-service-name-entries"></a>

「トレイル」は、指定した Amazon S3 バケットにイベントをログファイルとして配信するように設定できます。CloudTrail のログファイルは、単一か複数のログエントリを含みます。イベントは任意ソースからの単一リクエストを表し、リクエストされたアクション、アクションの日時、リクエストパラメータなどの情報を含みます。CloudTrail ログファイルは、パブリック API 呼び出しの順序付けられたスタックトレースではないため、特定の順序では表示されません。

次の例は、ゾーンシフトの `ListManagedResources` アクションを実行する CloudTrail ログエントリです。

```
{
      "eventVersion": "1.08",
      "userIdentity": {
        "type": "AssumedRole",
        "principalId": "A1B2C3D4E5F6G7EXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/admin",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
          "sessionIssuer": {
            "type": "Role",
            "principalId": "AROA33L3W36EXAMPLE",
            "arn": "arn:aws:iam::111122223333:role/admin",
            "accountId": "111122223333",
            "userName": "EXAMPLENAME"
          },
          "webIdFederationData": {},
          "attributes": {
            "creationDate": "2022-11-14T16:01:51Z",
            "mfaAuthenticated": "false"
          }
        }
      },
      "eventTime": "2022-11-14T16:14:41Z",
      "eventSource": "arc-zonal-shift.amazonaws.com",
      "eventName": "ListManagedResources",
      "awsRegion": "us-west-2",
      "sourceIPAddress": "192.0.2.50",
      "userAgent": "Boto3/1.17.101 Python/3.8.10 Linux/4.14.231-180.360.amzn2.x86_64 exec-env/AWS_Lambda_python3.8 Botocore/1.20.102",      
      "requestParameters": null,
      "responseElements": null,
      "requestID": "VGXG4ZUE7UZTVCMTJGIAF_EXAMPLE",
      "eventID": "4b5c42df-1174-46c8-be99-d67_EXAMPLE",
      "readOnly": true,
      "eventType": "AwsApiCall",
      "managementEvent": true,
      "recipientAccountId": "111122223333"
      "eventCategory": "Management"
      }
    }
```

次の例は、ゾーンシフトの競合の例外を含む `StartZonalShift` アクションを実行する CloudTrail ログエントリです。

```
{
      "eventVersion": "1.08",
      "userIdentity": {
        "type": "AssumedRole",
        "principalId": "A1B2C3D4E5F6G7EXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/admin",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
          "sessionIssuer": {
            "type": "Role",
            "principalId": "AROA33L3W36EXAMPLE",
            "arn": "arn:aws:iam::111122223333:role/admin",
            "accountId": "111122223333",
            "userName": "EXAMPLENAME"
          },
          "webIdFederationData": {},
          "attributes": {
            "creationDate": "2022-11-14T16:01:51Z",
            "mfaAuthenticated": "false"
          }
        }
      },
      "eventTime": "2022-11-14T16:10:38Z",
      "eventSource": "arc-zonal-shift.amazonaws.com",
      "eventName": "StartZonalShift",
     "awsRegion": "us-west-2",
      "sourceIPAddress": "192.0.2.50",
      "userAgent": "Boto3/1.17.101 Python/3.8.10 Linux/4.14.231-180.360.amzn2.x86_64 exec-env/AWS_Lambda_python3.8 Botocore/1.20.102",
      "errorCode": "ConflictException",
      "errorMessage": "There's already an active zonal shift for that resource identifier: 'arn:aws:testservice:us-west-2:077059137270:testResource/456apples'. Active zonal shift: 'bac23b74-176e-c073-de8f-484ca508910f'",
      "requestParameters": {
        "resourceIdentifier": "arn:aws:testservice:us-west-2:077059137270:testResource/456apples",
        "awayFrom": "usw2-az1",
        "expiresIn": "2m",
        "comment": "HIDDEN_FOR_SECURITY_REASONS"
      },
      "responseElements": null,
      "requestID": "OP4OYXZ54HUPMIPGWH_EXAMPLE",
      "eventID": "0bca6660-e999-43a5-9008-EXAMPLE",
      "readOnly": false,
      "eventType": "AwsApiCall",
      "managementEvent": true,
      "recipientAccountId": "111122223333"
      "eventCategory": "Management"
      }
    }
```

# ARC でのゾーンシフトの Identity and Access Management
<a name="security-iam-zonalshift"></a>

AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、誰が*認証* (サインイン) でき、誰が ARC リソースの使用を*許可される* (権限を持つ) かを制御します。IAM は、追加料金なしで使用できる AWS のサービス です。

**Topics**
+ [IAM を使用したゾーンシフトの仕組み](security_iam_service-with-iam-zs.md)
+ [ゾーンシフトのアクセス許可](security_iam_service-with-iam-zonal-shift.md)
+ [アイデンティティベースのポリシーの例](security_iam_id-based-policy-examples-zonal.md)

# IAM を使用したゾーンシフトの仕組み
<a name="security_iam_service-with-iam-zs"></a>

IAM を使用して Amazon Application Recovery Controller (ARC) のゾーンシフトへのアクセスを管理する前に、ゾーンシフトで使用できる IAM 機能について説明します。


**ゾーンシフトで使用できる IAM の機能**  

| IAM 機能 | ゾーンシフトのサポート | 
| --- | --- | 
|  [アイデンティティベースのポリシー](#security_iam_service-with-iam-id-based-policies)  |   あり  | 
|  [リソースベースのポリシー](#security_iam_service-with-iam-resource-based-policies)  |   なし   | 
|  [ポリシーアクション](#security_iam_service-with-iam-id-based-policies-actions)  |   あり  | 
|  [ポリシーリソース](#security_iam_service-with-iam-id-based-policies-resources)  |   あり  | 
|  [ポリシー条件キー](#security_iam_service-with-iam-id-based-policies-conditionkeys)  |   あり  | 
|  [ACL](#security_iam_service-with-iam-acls)  |   なし   | 
|  [ABAC (ポリシー内のタグ)](#security_iam_service-with-iam-tags)  |   部分的  | 
|  [一時認証情報](#security_iam_service-with-iam-roles-tempcreds)  |   あり  | 
|  [プリンシパルアクセス権限](#security_iam_service-with-iam-principal-permissions)  |   あり  | 
|  [サービスロール](#security_iam_service-with-iam-roles-service)  |   いいえ   | 
|  [サービスリンクロール](#security_iam_service-with-iam-roles-service-linked)  |   はい  | 

 AWS サービスがほとんどの IAM 機能と連携する方法の概要を把握するには、「IAM *ユーザーガイド*」の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## ARC のアイデンティティベースのポリシー
<a name="security_iam_service-with-iam-id-based-policies"></a>

**アイデンティティベースのポリシーのサポート:** あり

アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「*IAM ユーザーガイド*」の「[カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「*IAM ユーザーガイド*」の「[IAM JSON ポリシーの要素のリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。

ARC のアイデンティティベースのポリシーの例を表示するには、「[Amazon Application Recovery Controller (ARC) のアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

## ARC 内のリソースベースのポリシー
<a name="security_iam_service-with-iam-resource-based-policies"></a>

**リソースベースのポリシーのサポート:** なし 

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM ロールの信頼ポリシーや Amazon S3 バケットポリシーがあげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。

## ゾーンシフトのポリシーアクション
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

**ポリシーアクションのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

ゾーンシフトにおける ARC アクションのリストを確認するには、「[サービス認証リファレンス](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53applicationrecoverycontroller-zonalshift-actions-as-permissions)」の「*Amazon Route 53 ゾーンシフトで定義されるアクション*」を参照してください。

ARC におけるゾーンシフト用ポリシーのアクションでは、アクションの前に次のプレフィックスを使用しています。

```
arc-zonal-shift
```

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。例えば、次のようになります。

```
"Action": [
      "arc-zonal-shift:action1",
      "arc-zonal-shift:action2"
         ]
```

ワイルドカード (\$1) を使用して複数アクションを指定できます。例えば、`Describe` という単語で始まるすべてのアクションを指定するには次のアクションを含めます。

```
"Action": "arc-zonal-shift:Describe*"
```

ゾーンシフトにおける ARC のアイデンティティベースのポリシーの例を表示するには、「[ARC でのゾーンシフトのアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples-zonal.md)」を参照してください。

## ゾーンシフトのポリシーリソース
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

**ポリシーリソースのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件**下で**アクション**を実行できるかということです。

`Resource` JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (\$1) を使用します。

```
"Resource": "*"
```

リソースタイプとその ARN のリスト、および各リソースの ARN で指定できるアクションについては、「*サービス認証リファレンス*」の以下のトピックを参照してください。
+ [Amazon Route 53 - ゾーンシフトで定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53applicationrecoverycontroller-zonalshift-actions-as-permissions)

条件キーで使用できるアクションとリソースについては、「*サービス認証リファレンス*」の以下のトピックを参照してください。
+ [Amazon Route 53 - ゾーンシフトで定義される条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53applicationrecoverycontroller-zonalshift-policy-keys)

ゾーンシフトにおける ARC のアイデンティティベースのポリシーの例を表示するには、「[ARC でのゾーンシフトのアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples-zonal.md)」を参照してください。

## ゾーンシフトのポリシー条件キー
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

**サービス固有のポリシー条件キーのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

`Condition` 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの[条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、*「IAM ユーザーガイド*」の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

ゾーンシフト条件キーのリストについては、「*サービス認証リファレンス*」の以下のトピックを参照してください。
+ [Amazon Route 53 - ゾーンシフトで定義される条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53applicationrecoverycontroller-zonalshift-policy-keys)

条件キーで使用できるアクションとリソースについては、「サービス認証リファレンス」の以下のトピックを参照してください。**
+ [Amazon Route 53 - ゾーンシフトで定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53applicationrecoverycontroller-zonalshift-actions-as-permissions)
+ [Amazon Route 53 - ゾーンシフトで定義されるリソースタイプ](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonroute53applicationrecoverycontroller-zonalshift.html#amazonroute53applicationrecoverycontroller-zonalshift-resources-for-iam-policies)

ゾーンシフトにおける ARC のアイデンティティベースのポリシーの例を表示するには、「[ARC でのゾーンシフトのアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples-zonal.md)」を参照してください。

## ARC のアクセスコントロールリスト (ACL)
<a name="security_iam_service-with-iam-acls"></a>

**ACL のサポート:** なし 

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

## ARC での属性ベースのアクセス制御 (ABAC)
<a name="security_iam_service-with-iam-tags"></a>

**ABAC (ポリシー内のタグ) のサポート:** 一部

属性ベースのアクセスコントロール (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可するように ABAC ポリシーを設計できます。

タグに基づいてアクセスを管理するには、`aws:ResourceTag/key-name`、`aws:RequestTag/key-name`、または `aws:TagKeys` の条件キーを使用して、ポリシーの[条件要素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)でタグ情報を提供します。

サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値は**あり**です。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「**部分的**」になります。

ABAC の詳細については、「*IAM ユーザーガイド*」の「[ABAC 認可でアクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「*IAM ユーザーガイド*」の「[属性ベースのアクセスコントロール (ABAC) を使用する](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)」を参照してください。

ARC には、ABAC に対する以下の部分的なサポートが含まれています。
+ ゾーンシフトは、ゾーンシフト用に ARC に登録されている、マネージドリソースの ABAC をサポートしています。Network Load Balancer と Application Load Balancer マネージドリソースにおける ABAC の詳細については、「Elastic Load Balancing ユーザーガイド」の「[Elastic Load Balancing での ABAC](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-tags)」を参照してください。

## ARC での一時的な認証情報の使用
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

**一時的な認証情報のサポート:** あり

一時的な認証情報は、 AWS リソースへの短期的なアクセスを提供し、フェデレーションまたはスイッチロールの使用時に自動的に作成されます。長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成 AWS することをお勧めします。詳細については、「*IAM ユーザーガイド*」の「[IAM の一時的な認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)」および「[AWS のサービス と IAM との連携](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## ARC のクロスサービスプリンシパル権限
<a name="security_iam_service-with-iam-principal-permissions"></a>

**転送アクセスセッション (FAS) のサポート:** あり

IAM エンティティ (ユーザーまたはロール) を使用して でアクションを実行すると AWS、プリンシパルと見なされます。ポリシーによって、プリンシパルに許可が付与されます。一部のサービスを使用する際に、アクションを実行することで、別サービスの別アクションがトリガーされることがあります。この場合、両方のアクションを実行するためのアクセス許可が必要です。

アクションにポリシーで追加の依存アクションが必要かどうかを確認するには、「*サービス認証リファレンス*」の以下のトピックを参照してください。
+ [ Amazon Route 53 ゾーンシフト](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonroute53applicationrecoverycontroller-zonalshift.html)

## ARC のサービスロール
<a name="security_iam_service-with-iam-roles-service"></a>

**サービスロールのサポート:** なし 

 サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける [IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)です。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、IAM ユーザーガイド**の [AWS のサービスに許可を委任するロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)を参照してください。

## ARC のサービスにリンクされたロール
<a name="security_iam_service-with-iam-roles-service-linked"></a>

**サービスリンクロールのサポート:** あり

 サービスにリンクされたロールは、 にリンクされたサービスロールの一種です AWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示され AWS アカウント 、サービスによって所有されます。IAM 管理者は、サービスリンクロールのアクセス許可を表示できますが、編集することはできません。

ゾーンシフトはサービスリンクロールを使用しません。

# ゾーンシフトの IAM とアクセス許可
<a name="security_iam_service-with-iam-zonal-shift"></a>

このセクションでは、特に Elastic Load Balancing などの別の AWS サービスの機能を使用する場合に、Amazon Application Recovery Controller (ARC) のゾーンシフト機能に対するアクセス許可の仕組みに関する追加情報を提供します。ARC 機能が IAM やアクセス許可とどのように連携するのかといった一般的な情報については、概要トピックの「[ARC でのゾーンシフトの Identity and Access Management](security-iam-zonalshift.md)」を参照してください。

ゾーンシフトは、Application Load Balancer、Network Load Balancer、Amazon EC2 Auto Scaling グループ、Amazon EKS をサポートしています。IAM 条件キーを使用して、IAM アクセス許可ポリシーをこれらのリソースにスコープできます。以下は、異なるタイプの複数のリソースを持つ条件キーを使用するポリシーの例です。

```
{
    "Condition": {
        "StringLike": {
            "arc-zonal-shift:ResourceIdentifier": [
                "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/net/*",
                "arn:aws:elasticloadbalancing:us-east-1:123456789012:loadbalancer/app/*",
                "arn:aws:eks:us-east-1:123456789012:cluster/*"
            ]
        }
    },
    "Action": [
        "arc-zonal-shift:StartZonalShift"
    ],
    "Resource": "*",
    "Effect": "Allow"
}
```

詳細については、「[サポートされているリソース](arc-zonal-shift.resource-types.md)」を参照してください。

IAM の概要トピックで説明されているアクセス許可に加えて、ゾーンシフトに関する IAM 権限には、以下の点が適用されます。
+ ARC でゾーンシフトを使用するのに必要なアクセス許可があることを確認します。詳細については、「[ゾーンシフトコンソールアクセス](security_iam_id-based-policy-examples-zonal.md#security_iam_id-based-policy-examples-console-zonal)」および「[ゾーンシフトオペレーションアクセス](security_iam_id-based-policy-examples-zonal.md#security_iam_id-based-policy-examples-api-zonal)」を参照してください。
+ ARC でアカウント内のマネージドロードバランサーリソースのゾーンシフトを実行するときは、IAM で Elastic Load Balancing のアクセス許可を追加する必要はありません。
+ Elastic Load Balancing へのフルアクセスを提供する AWS マネージドポリシーには、ゾーンシフトを操作するためのアクセス許可が含まれています。Elastic Load Balancing アクセスに AWS マネージドポリシーを使用する場合、ロードバランサーのゾーンシフトを開始したり、Elastic Load Balancing コンソールで を操作するために、ゾーンシフトの IAM で追加のアクセス許可は必要ありません。詳細については、「[Elastic Load Balancing のAWS マネージドポリシー](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/managed-policies.html)」を参照してください。

# ARC でのゾーンシフトのアイデンティティベースのポリシーの例
<a name="security_iam_id-based-policy-examples-zonal"></a>

デフォルトでは、ユーザーおよびロールには、ARC リソースを作成または変更する権限はありません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。

これらのサンプルの JSON ポリシードキュメントを使用して IAM アイデンティティベースのポリシーを作成する方法については、「*IAM ユーザーガイド*」の「[IAM ポリシーを作成する (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)」を参照してください。

ARC が定義するアクションとリソースタイプの詳細 (各リソースタイプの ARN の形式を含む) については、「*サービス認証リファレンス*」の「[Amazon Application Recovery Controller (ARC) のアクション、リソース、および条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html)」を参照してください。

**Topics**
+ [ポリシーに関するベストプラクティス](#security_iam_service-with-iam-policy-best-practices-zonal)
+ [例: ゾーンシフトコンソールアクセス](#security_iam_id-based-policy-examples-console-zonal)
+ [例: ゾーンシフト API アクション](#security_iam_id-based-policy-examples-api-zonal)

## ポリシーに関するベストプラクティス
<a name="security_iam_service-with-iam-policy-best-practices-zonal"></a>

ID ベースのポリシーは、ユーザーのアカウントで誰かが ARC リソースを作成、アクセス、または削除できるどうかを決定します。これらのアクションでは、 AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
+ ** AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する** – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与する*AWS 管理ポリシー*を使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、*IAM ユーザーガイド* の [AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) または [ジョブ機能のAWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) を参照してください。
+ **最小特権を適用する** – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、*IAM ユーザーガイド* の [IAM でのポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) を参照してください。
+ **IAM ポリシーで条件を使用してアクセスをさらに制限する** - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます CloudFormation。詳細については、*IAM ユーザーガイド* の [IAM JSON ポリシー要素:条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) を参照してください。
+ **IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する** - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、*IAM ユーザーガイド* の [IAM Access Analyzer でポリシーを検証する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) を参照してください。
+ **多要素認証 (MFA) を要求する** – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、*IAM ユーザーガイド* の [MFA を使用した安全な API アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) を参照してください。

IAM でのベストプラクティスの詳細については、*IAM ユーザーガイド* の [IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) を参照してください。

## 例: ゾーンシフトコンソールアクセス
<a name="security_iam_id-based-policy-examples-console-zonal"></a>

Amazon Application Recovery Controller (ARC) コンソールにアクセスするには、最小限のアクセス許可セットが必要です。これらのアクセス許可により、 の ARC リソースの詳細を一覧表示および表示できます AWS アカウント。最小限必要な許可よりも制限が厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。

 AWS CLI または AWS API のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。

でゾーンシフトを使用するためのフルアクセスをユーザーに付与するには AWS マネジメントコンソール、次のようなポリシーをユーザーにアタッチします。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                   "arc-zonal-shift:ListManagedResources",
                   "arc-zonal-shift:GetManagedResource",
                   "arc-zonal-shift:ListZonalShifts",
                   "arc-zonal-shift:StartZonalShift",
                   "arc-zonal-shift:UpdateZonalShift",
                   "arc-zonal-shift:CancelZonalShift"
             ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeAvailabilityZones",
            "Resource": "*"
        }
    ]
}
```

------

## 例: ゾーンシフト API アクション
<a name="security_iam_id-based-policy-examples-api-zonal"></a>

ゾーンシフト API は一時的にトラフィックをアベイラビリティーゾーンからシフトしてアプリケーションを復旧します。

ユーザーがゾーンシフト API アクションを使用できるようにするには、以下のように、ユーザーが使用すべき API オペレーションに対応したポリシーをアタッチします。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [		
                   "arc-zonal-shift:ListManagedResources",
                   "arc-zonal-shift:GetManagedResource",
                   "arc-zonal-shift:ListZonalShifts",
                   "arc-zonal-shift:StartZonalShift",
                   "arc-zonal-shift:UpdateZonalShift",
                   "arc-zonal-shift:CancelZonalShift"
             ],
            "Resource": "*"
        }
    ]
}
```

------

# ARC のゾーンオートシフト
<a name="arc-zonal-autoshift"></a>

ゾーンオートシフトでは、ユーザーに代わって、イベント中にアプリケーションのリソーストラフィック AWS をアベイラビリティーゾーン (AZ) から遠ざけることを に許可します。これにより、復旧までの時間を短縮できます。 は、内部テレメトリが、顧客に影響を与える可能性のあるアベイラビリティーゾーンの障害があることを示すと、オートシフト AWS を開始します。がオートシフト AWS を開始すると、ゾーンオートシフト用に設定したリソースへのアプリケーショントラフィックがアベイラビリティーゾーンから移行し始めます。

ARC は個々のリソースの状態を検査しないことに注意してください。 は、顧客に影響を与える可能性のあるアベイラビリティーゾーンの障害が AWS テレメトリによって検出されたときにオートシフト AWS を開始します。場合によっては、影響が及んでいないリソースのトラフィックがシフトされることもあります。

ゾーンオートシフトでは、通常の練習実行のために、ユーザーに代わってアプリケーションのリソーストラフィック AWS をアベイラビリティーゾーンから遠ざけることを に許可します。ゾーンオートシフトには練習実行が必要です。ARC が練習実行として開始するゾーンシフトは、オートシフト中にアベイラビリティーゾーンからトラフィックをシフトすることがアプリケーションにとって安全であることを保証するのに役立ちます。練習実行では、リソースのトラフィックをアベイラビリティーゾーンから遠ざけるゾーンシフトを開始することによって、1 つのアベイラビリティーゾーンがなくてもアプリケーションが正常に動作することを定期的にテストします。練習実行は毎週行われ、アプリケーションが期待どおりに動作するかどうかの判断に役立つ結果 (`SUCCEEDED` や `FAILED` など) が表示されます。

**重要**  
練習実行を設定したり、ゾーンオートシフトを有効にしたりする前に、アプリケーションリソースがデプロイされているリージョンのすべてのアベイラビリティーゾーンで、アプリケーションリソースの容量をプリスケールすることを強くお勧めします。オートシフトまたは練習実行が開始されるとき、オンデマンドでのスケーリングに頼るべきではありません。練習実行を含むゾーンオートシフトは独立して動作し、自動スケーリングアクションの完了を待ちません。プレスケーリングの代わりに自動スケーリングを使用すると、アプリケーションの復旧に時間がかかる可能性があります。  
自動スケーリングを使用して定期的なトラフィックサイクルを処理する場合は、アベイラビリティーゾーンが失われても正常に動作し続けるように、自動スケーリングの最小容量を設定することを強くお勧めします。

ゾーンオートシフトを有効にしたり、練習実行を設定したりする予定がある場合は、アプリケーションのリソース容量をプレスケーリングした後、1 つのアベイラビリティーゾーンがなくてもアプリケーションが正常に動作することをテストしてください。これをテストするには、ゾーンシフトを開始して、リソースのトラフィックをアベイラビリティーゾーンから遠ざけます。

ゾーンオートシフトを有効にした後は、オンデマンドの練習実行のゾーンシフトを開始し評価することにより、アベイラビリティーゾーンからシフトしたトラフィックでアプリケーションが正常な動作を継続できることを確認するようお勧めします。ARC が実行する通常の練習実行は、オートシフトに十分な容量があることを継続的に確認するために役立ちます。

ゾーンシフトによるテストが有効であることを確認するには、トラフィックが想定どおりにシフト元の AZ からドレインすることを検証することが重要です。例えば、Application Load Balancer と Network Load Balancer の両方とも、この監視に使用可能な Amazon CloudWatch による AZ ごとのメトリクスを提供します。サービスやクライアントが接続を再利用する時間によっては、シフトした AZ へのトラフィックが想定よりも長く続く場合があります。詳細については、「[クライアントがエンドポイントに接続したままになる時間を制限する](arc-zonal-autoshift.considerations.md#ZAConsiderationsCurrentConnections)」を参照してください。

ARC コンソールでは、サポートされるリソースのゾーンオートシフトを有効にできます。または、Amazon EC2 コンソールには、特定のロードバランサーリソースのゾーンオートシフトを有効にするオプションがあります。Elastic Load Balancing でゾーンオートシフトを有効にする方法の詳細については、Elastic Load Balancing ユーザーガイド」の[「ゾーンシフト](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/zonal-shift.html)」を参照してください。

オートシフトと練習実行のゾーンシフトは一時的なものです。オートシフトでは、影響を受けるアベイラビリティーゾーンが回復すると、 はアベイラビリティーゾーンからリソースのトラフィックの移行を AWS 停止します。顧客のアプリケーショントラフィックは、リージョン内のすべてのアベイラビリティーゾーンに戻ります。練習実行では、トラフィックは 1 つのリソースについて 1 つのアベイラビリティーゾーンから約 30 分間遠ざけられ、その後、リージョン内のすべてのアベイラビリティーゾーンに戻されます。

Amazon EventBridge 通知を設定して、オートシフトや練習実行についてアラートを受け取ることができます。詳細については、「[Amazon EventBridge でのゾーンオートシフトの使用](eventbridge-zonal-autoshift.md)」を参照してください。

# ゾーンオートシフトと練習実行の仕組み
<a name="arc-zonal-autoshift.how-it-works"></a>

Amazon Application Recovery Controller (ARC) のゾーンオートシフト機能を使用すると、 がアベイラビリティーゾーンの顧客に影響を与える可能性のある障害がある AWS と判断した場合、ユーザーに代わってリソースのトラフィックをアベイラビリティーゾーンから AWS 遠ざけることができます。ゾーンオートシフトは、 のすべてのアベイラビリティーゾーンで事前にスケーリングされたリソース用に設計されているため AWS リージョン、アプリケーションは 1 つのアベイラビリティーゾーンが失われても正常に動作します。

ゾーンオートシフトでは、ARC がリソースのトラフィックを定期的に 1 つのアベイラビリティーゾーンから遠ざけるようにする練習実行を設定する必要があります。ARC は、練習実行設定が関連付けられているリソースにつき、約 1 週間ごとに練習実行をスケジュールします。各リソースの練習実行は個別にスケジュールされます。

各練習実行について、ARC は結果を記録します。練習実行がブロック条件によって中断された場合、練習実行の結果は成功としてマークされません。練習実行の結果の詳細については、「[練習実行の結果](arc-zonal-autoshift.considerations.md#ZAConsiderationsPracticeRunOutcomes)」を参照してください。

Amazon EventBridge 通知を設定して、オートシフトや練習実行についてアラートを受け取ることができます。詳細については、「[Amazon EventBridge でのゾーンオートシフトの使用](eventbridge-zonal-autoshift.md)」を参照してください。

**Topics**
+ [ゾーンオートシフトについて](arc-zonal-autoshift.how-it-works.about.md)
+ [がオートシフト AWS を開始および停止する場合](arc-zonal-autoshift.how-it-works.start-stop-auto.md)
+ [ARC が練習実行をスケジュール、開始、終了するタイミング](arc-zonal-autoshift.how-it-works.scheduled-practice-runs.md)
+ [練習実行の容量チェック](arc-zonal-autoshift.how-it-works.capacity-check.md)
+ [練習実行とオートシフトの通知](arc-zonal-autoshift.how-it-works.notifications.md)
+ [ゾーンシフトの優先順位](arc-zonal-autoshift.how-it-works.precedence.md)
+ [アクティブなオートシフトまたは練習実行を停止する](arc-zonal-autoshift.how-it-works.stop-shift.md)
+ [トラフィックを遠ざける方法](arc-zonal-autoshift.how-it-works.how-traffic-shifted.md)
+ [練習実行のアラーム](arc-zonal-autoshift.how-it-works.alarms.md)
+ [ブロックされた時間枠と許可された時間枠 (UTC)](arc-zonal-autoshift.how-it-works.blocked-windows.md)

# ゾーンオートシフトについて
<a name="arc-zonal-autoshift.how-it-works.about"></a>

ゾーンオートシフトは、ユーザーに代わってアプリケーションリソーストラフィックをアベイラビリティーゾーンから AWS 遠ざける機能です。 は、内部テレメトリが、顧客に影響を与える可能性のあるアベイラビリティーゾーンの障害があることを示すと、オートシフト AWS を開始します。内部テレメトリには、 AWS ネットワーク、Amazon EC2、Elastic Load Balancing サービスなど、複数のソースからのメトリクスが組み込まれています。

サポートされている AWS リソースに対してゾーンオートシフトを手動で有効にする必要があります。

リージョン内の複数の (通常は 3 つの) AZs のロードバランサーに AWS アプリケーションをデプロイして実行し、静的安定性をサポートするように事前スケーリングすると、 はトラフィックをオートシフトで移行することで、AZ 内の顧客アプリケーションをすばやく復旧 AWS できます。リソーストラフィックをリージョン内の他の AZs に移行することで、 は、停電、AZ のハードウェアまたはソフトウェアの問題、またはその他の障害による潜在的な影響の期間と重大度を減らす AWS ことができます。

ARC がサポートするリソースは、指定した AZ を異常としてマークするための連携機能を備えており、その結果として、障害のある AZ からトラフィックがシフトされます。

リソースのゾーンオートシフトを有効にする場合は、そのリソースの練習実行も設定する必要があります。リージョンのアベイラビリティーゾーンの 1 つがなくてもアプリケーションを実行するのに十分な容量があることを確認できるように、 AWS は約 1 週間ごとに 30 分間の練習実行を実施します。

ゾーンシフトと同様に、ゾーンオートシフトによってトラフィックが AZ から遠ざけられない特定のシナリオがいくつかあります。例えば、AZ 内のロードバランサーのターゲットグループにインスタンスが含まれていない場合や、すべてのインスタンスが「異常」である場合、ロードバランサーはフェイルオープン状態であり、AZ の 1 つをシフトできません。

ゾーンオートシフトの詳細については、「[ARC のゾーンオートシフト](arc-zonal-autoshift.md)」を参照してください。

# がオートシフト AWS を開始および停止する場合
<a name="arc-zonal-autoshift.how-it-works.start-stop-auto"></a>

リソースのゾーンオートシフトを有効にすると、 AWS がユーザーに代わってイベント中にアプリケーションのリソーストラフィックをアベイラビリティーゾーンから遠ざけることを承認し、復旧までの時間を短縮できます。

これを実現するために、ゾーンオートシフトは AWS テレメトリを使用して、顧客に影響を与える可能性のあるアベイラビリティーゾーンの障害をできるだけ早く検出します。 AWS がオートシフトを開始すると、設定済みリソースへのトラフィックは、顧客に影響を与える可能性のある障害のあるアベイラビリティーゾーンからただちに遠ざけられます。

ゾーンオートシフトは、 AWS リージョン内のすべてのアベイラビリティーゾーンのアプリケーションリソースをあらかじめスケールされたお客様向けに設計された機能です。オートシフトまたは練習実行が開始されるとき、オンデマンドでのスケーリングに頼るべきではありません。

AWS は、アベイラビリティーゾーンが回復したと判断されると、オートシフトを終了します。

# ARC が練習実行をスケジュール、開始、終了するタイミング
<a name="arc-zonal-autoshift.how-it-works.scheduled-practice-runs"></a>

ARC は、1 つのリソースについて、毎週約 30 分間の練習実行をスケジュールします。ARC は、各リソースの練習実行を個別にスケジュール、開始、および管理します。ARC は、同じアカウントの複数のリソースの練習実行をまとめることはありません。ゾーンオートシフトイベントのセットアップが安全であることを確認するために、オンデマンドの練習実行を自分で開始することもできます。

練習実行が予想された時間だけ中断されずに続行すると、`SUCCESSFUL` という結果でマークされます。他にも可能性のある結果として、`FAILED`、`INTERRUPTED`、`CAPACITY_CHECK_FAILED`、`PENDING` があります。結果の値と説明は、「[練習実行の結果](arc-zonal-autoshift.considerations.md#ZAConsiderationsPracticeRunOutcomes)」セクションに記載されています。

ARC が練習実行を中断して終了するシナリオがいくつかあります。例えば、練習実行中にオートシフトが開始した場合、ARC は練習実行を中断して終了します。別の例として、練習実行に対してリソースが不利な反応を示し、練習実行を監視するために指定したアラームが `ALARM` 状態になったとします。このシナリオでも、ARC は練習実行を中断して終了します。

さらに、ARC がリソースについてスケジュールされた練習実行を開始しないシナリオもいくつかあります。

リソースの練習実行が中断またはブロックされた場合に対応して、ARC は次のことを行います。
+ リソースの練習実行が進行中に中断された場合、ARC は毎週の練習実行が終了したとみなし、そのリソースの新しい練習実行を次の週にスケジュールします。このシナリオでは、毎週の練習の結果は `FAILED` ではなく `INTERRUPTED` です。練習実行の結果が `FAILED` に設定されるのは、練習実行を監視する結果アラームが練習実行中に `ALARM` 状態になった場合のみです。
+ リソースの練習実行の開始が予定されているときにブロッキング制約がある場合、ARC は練習実行を開始しません。ARC は引き続き定期的な監視を行い、ブロッキング制約が 1 つ以上あるかどうかを判断します。ブロッキング制約がない場合、ARC はリソースの練習実行を開始します。

以下は、ARC がリソースの練習実行を開始または続行することを禁止するブロック制約の例です。
+ ARC は、進行中の AWS Fault Injection Service 実験がある場合、練習実行を開始または続行しません。ARC が練習実行の開始をスケジュールしたときに AWS FIS イベントがアクティブな場合、ARC は練習実行を開始しません。ARC は、 AWS FIS イベントを含むブロック制約について練習実行全体を監視します。練習実行がアクティブな間に AWS FIS イベントが開始された場合、ARC は練習実行を終了し、リソースに対して次に定期的にスケジュールされた練習実行まで別のイベントを開始しようとしません。
+ リージョンに現在の AWS イベントがある場合、ARC はリソースの練習実行を開始せず、リージョンでアクティブな練習実行を終了します。

練習実行が中断されずに終了すると、ARC は通常どおり 1 週間後に次の練習実行をスケジュールします。指定した AWS FIS 実験やブロックされた時間枠などのブロック制約が原因で練習実行が開始されない場合、ARC は練習実行が開始されるまで練習実行の開始を試行し続けます。

# 練習実行の容量チェック
<a name="arc-zonal-autoshift.how-it-works.capacity-check"></a>

練習実行が開始されると、一時的にトラフィックをアベイラビリティーゾーンから遠ざけるため、ARC は他のアベイラビリティーゾーンにトラフィックを安全に AZ から遠ざけるのに十分な容量があることをチェックします。十分な容量がない場合は、練習実行のトラフィックシフトは開始されず、練習実行が終了します。

さらに、ゾーンオートシフトが完了すると、オートシフトによって開始されたトラフィックシフトを ARC が終了する前に、ARC はロードバランサーリソースの容量チェックを実行します。オートシフトの終了時に容量チェックに失敗する場合、トラフィックは移動元のアベイラビリティーゾーンにシフトされません。

バランス容量のチェックは、ロードバランサーと Auto Scaling グループに対してのみ完了します。

ロードバランサーリソースの場合、容量チェックは、ロードバランサーに関連付けられた正常なホストがアベイラビリティーゾーンに分散されていることを検証します。特に、容量チェックでは、リソースが登録されているすべてのアベイラビリティーゾーンで、正常なホストの数のバランスが取れていることを確認します。容量チェックにおけるバランスとは、各アベイラビリティーゾーンの正常な容量が他のゾーンと同等であり、差異がわずかであることを意味します。

容量チェックは、Lambda タイプであるターゲットグループのロードバランサーにも、Application Load Balancer にも適用されないことに注意してください。これらのターゲットはゾーンに設定されていないためです。

Auto Scaling グループのキャパシティチェックも完了します。Auto Scaling グループの場合、キャパシティチェックは、Auto Scaling グループの正常なゾーン容量の合計、つまりすべてのアベイラビリティーゾーンにわたる正常なホストの合計数が、その Auto Scaling グループに必要な容量セットを満たしていることを確認します。

**容量チェックが失敗する場合**

リソースで使用可能な容量のバランスが取れていないことが容量チェックでわかった場合、練習実行の結果は `CAPACITY_CHECK_FAILED` になります。容量チェックが失敗する理由の詳細については、`ZonalShiftSummary` のコメントフィールドを参照してください。練習実行ゾーンシフトのコメントフィールドを見つけるには、以下を実行してください。

1. を使用して AWS CLI、[ListZonalShifts](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_ListZonalShifts.html) API オペレーションを使用して練習実行で指定したリソースのゾーンシフトを一覧表示します。

   例えば、ゾーンシフトを返すために、次のようなコマンドを実行できます。

   ```
   aws arc-zonal-shift start-practice-run 
       --resource-identifier="arn:aws:elasticloadbalancing:Region:111122223333:ExampleALB123456890"
   ```

1. 返された `ZonalShiftSummary` オブジェクトの配列を確認して、容量チェックのために失敗した練習実行のゾーンシフトを見つけます。

1. 該当するゾーンシフトに関して、`Comment` フィールドの情報を確認してください。

# 練習実行とオートシフトの通知
<a name="arc-zonal-autoshift.how-it-works.notifications"></a>

Amazon EventBridge 通知を設定すると、リソースの練習実行とオートシフトに関する通知の受信を選択できます。*オートシフトオブザーバー通知*と呼ばれるリソースに対してゾーンオートシフトを有効にしていない場合でも、EventBridge 通知を設定できます。オートシフトオブザーバー通知では、アベイラビリティーゾーンに障害が発生する可能性があるときに ARC が開始するすべてのオートシフトについて通知されます。このオプションは、通知 AWS リージョン を受信する各 で設定する必要があることに注意してください。

オートシフトのオブザーバー通知を有効にする手順については、「[オートシフトのオブザーバー通知の有効化または無効化](arc-zonal-autoshift.enable-autoshift-observer.md)」を参照してください。通知オプションの詳細と EventBridge での構成方法については、「[Amazon EventBridge でのゾーンオートシフトの使用](eventbridge-zonal-autoshift.md)」を参照してください。

# ゾーンシフトの優先順位
<a name="arc-zonal-autoshift.how-it-works.precedence"></a>

一度に適用できるゾーンシフトは 1 つのみです。つまり、リソースに対してゾーンシフト、お客様が開始したゾーンシフト、オートシフト、または AWS FIS 実験を実行する練習は 1 つだけです。2 番目のゾーンシフトが開始されると、ARC は優先順位に従いリソースに有効なゾーンシフトタイプを判断します。

優先順位の一般的な原則は、顧客として開始するゾーンシフトを他のシフトタイプよりも優先することです。ただし、現在実行中 AWSの練習実行では、オンデマンドの練習実行を開始できないことに注意してください。

ARC における優先順位について説明するために、シナリオ例における優先順位の仕組みを以下に示します。


| 適用されるゾーンシフトタイプ | 開始されるゾーンシフトタイプ | 結果 | 
| --- | --- | --- | 
| AWS FIS 実験 | 練習実行 |  AWS FIS 実験が優先されるため、練習実行は開始されません。 | 
| AWS FIS 実験 | 手動ゾーンシフト |  AWS FIS 実験はキャンセルされ、手動ゾーンシフトが適用されます。 | 
| AWS FIS 実験 | ゾーンオートシフト |  AWS FIS 実験はキャンセルされ、ゾーンオートシフトが適用されます。 | 
| AWS FIS 実験 | AWS FIS 実験 | 自動 AWS FIS シフトアクションをトリガーした既存の AWS FIS 実験が実行されているため、開始された実験は開始できません。 | 
| 練習実行 | 手動ゾーンシフト | 練習実行がキャンセルされて結果が INTERRUPTED に設定され、ゾーンシフトが適用されます。 | 
| 練習実行 | AWS FIS 実験 | 練習実行がキャンセルされて結果が INTERRUPTED に設定され、 AWS FIS 実験が適用されます。 | 
| 練習実行 | ゾーンオートシフト | 練習実行がキャンセルされて結果が INTERRUPTED に設定され、ゾーンオートシフトが適用されます。 | 
| 手動ゾーンシフト | 練習実行 | 練習実行の開始が失敗します。 | 
| 手動ゾーンシフト | AWS FIS 実験 |  AWS FIS 実験は開始に失敗するか、すでに進行中の場合は失敗します。 | 
| 手動ゾーンシフト | ゾーンオートシフト | ゾーンオートシフトは ACTIVE ですが、リソースに APPLIED されません。手動ゾーンシフトが優先されます。 | 
| ゾーンオートシフト  | AWS FIS 実験 |  AWS FIS 実験は開始に失敗するか、進行中の場合は失敗します。 | 
| ゾーンオートシフト  | 手動ゾーンシフト | ゾーンオートシフトは ACTIVE ですが、リソースに APPLIED されません。手動ゾーンシフトが優先されます。 | 
| ゾーンオートシフト  | 練習実行 | ゾーンオートシフトが優先されるため、練習実行の開始が失敗します。 | 

リソースで現在実施されているトラフィックシフトは、適用されたゾーンシフトステータスが `APPLIED` に設定されています。一度に `APPLIED` に設定できるシフトは 1 つだけです。進行中の他のシフトは `NOT_APPLIED` に設定されますが、`ACTIVE` ステータスのままです。

# リソースのアクティブなオートシフトまたは練習実行を停止する
<a name="arc-zonal-autoshift.how-it-works.stop-shift"></a>

リソースの進行中のオートシフトを停止するには、ゾーンシフトをキャンセルする必要があります。

そのリソースについては、これまでと同じスケジュールで定期的に練習実行が行われます。オートシフトを無効にするだけでなく、練習実行も停止したい場合は、リソースに関連付けられている練習実行設定を削除する必要があります。

練習実行設定を削除すると、 はリソースのトラフィックを毎週アベイラビリティーゾーンから遠ざける練習実行を AWS 停止します。さらに、ゾーンオートシフトには練習実行が必要なため、ARC コンソールを使用して練習実行設定を削除すると、このアクションによりリソースのゾーンオートシフトも無効になります。ただし、ゾーンオートシフト API を使用して練習実行を削除する場合は、まずリソースのゾーンオートシフトを無効にする必要があることに注意してください。

詳細については、「[ゾーンオートシフトのキャンセル](arc-zonal-autoshift.canceling-an-autoshift.md)」および「[ゾーンオートシフトの有効化と操作](arc-zonal-autoshift.start-cancel.md)」を参照してください。

# トラフィックを遠ざける方法
<a name="arc-zonal-autoshift.how-it-works.how-traffic-shifted"></a>

オートシフトと練習実行のゾーンシフトの場合、ARC が顧客によって開始されたゾーンシフトに使用するのと同じメカニズムを使用して、トラフィックはアベイラビリティーゾーンから遠ざけられます。ヘルスチェックに異常があると、Amazon Route 53 は、リソースの対応する IP アドレスを DNS から削除します。それにより、トラフィックはアベイラビリティーゾーンからリダイレクトされます。新しい接続は、 AWS リージョン 代わりに の他のアベイラビリティーゾーンにルーティングされるようになりました。

オートシフトでは、アベイラビリティーゾーンが回復してオートシフトを終了する AWS と、ARC はヘルスチェックプロセスを元に戻して、Route 53 ヘルスチェックの元に戻すようリクエストします。その後、元のゾーン IP アドレスが復元され、ヘルスチェックが引き続き正常であれば、そのアベイラビリティーゾーンはアプリケーションのルーティングに再び含まれます。

オートシフトは、ロードバランサーやアプリケーションの基本的な状態を監視するヘルスチェックに基づくものではないことに注意することが重要です。ARC は、ヘルスチェックを「異常」に設定し、オートシフトまたはゾーンシフトを終了したときにヘルスチェックを再び「正常」に戻すようにリクエストすることにより、ヘルスチェックを使用してトラフィックをアベイラビリティーゾーンから遠ざけます。

# 練習実行のアラーム
<a name="arc-zonal-autoshift.how-it-works.alarms"></a>

ゾーンオートシフトでは、練習実行に CloudWatch アラームを 2 つ指定できますが、それは結果アラームとブロッキングアラームです。

**結果アラーム (必須)**  
 最初のタイプのアラームである*結果アラーム*では、少なくとも 1 つのアラームを指定する必要があります。30 分間の練習実行中にトラフィックがアベイラビリティーゾーンから遠ざけられるときに、結果アラームを設定して、アプリケーションの状態を監視する必要があります。  
練習実行を有効にするには、結果アラームとして、次の両方の基準を満たす CloudWatch アラームを少なくとも 1 つ指定します。  
アラームは、リソースまたはアプリケーションのメトリクスをモニタリングします。  
AND  
1 つのアベイラビリティーゾーンを失ってアプリケーションに悪影響が及ぶと、アラームは `ALARM` 状態で応答します。  
詳細については、「[ゾーンオートシフトを設定する際のベストプラクティス](arc-zonal-autoshift.considerations.md)」の「**練習実行について指定するアラーム**」セクションを参照してください。  
結果アラームには、ARC が各練習実行について報告する*練習実行結果*の情報も表示されます。結果アラームが `ALARM` 状態になると、ARC は練習実行を終了し、`FAILED` の練習実行の結果を返します。練習実行が 30 分間のテスト期間を完了しても指定した結果アラームが `ALARM` 状態にならない場合、返される結果は `SUCCEEDED` です。すべての結果値のリストと説明は、「[練習実行の結果](arc-zonal-autoshift.considerations.md#ZAConsiderationsPracticeRunOutcomes)」セクションに記載されています。

**ブロッキングアラーム (オプション)**  
オプションで、2 種類目のアラーム、*ブロッキングアラーム*を指定できます。1 つ以上のアラームが `ALARM` 状態のとき、ブロッキングアラームは練習実行の開始または続行をブロックします。ブロッキングアラームは、少なくとも 1 つのアラームが `ALARM` 状態になると、練習実行のトラフィックシフトの開始をブロックし、進行中の練習実行を停止します。  
例えば、複数のマイクロサービスを使用する大規模なアーキテクチャでは、1 つのマイクロサービスに問題が発生すると、通常、アプリケーション環境内の他のすべての変更を停止する必要があり、これにはブロッキング練習実行も含まれます。ARC にブロッキングアラームを追加してこれを実行できます。

# ブロックされた時間枠と許可された時間枠 (UTC)
<a name="arc-zonal-autoshift.how-it-works.blocked-windows"></a>

特定の歴日、または特定の時間枠 (つまり UTC の日時) について練習実行を*ブロック*または*許可*するオプションがあります。

例えば、2024 年 5 月 1 日にアプリケーションの更新を開始する予定があり、その時点で練習実行によってトラフィックが遠ざけられないようにしたい場合は、`2024-05-01` をブロック日に設定できます。

または、ビジネスレポートの概要を週に 3 日作成するとします。このシナリオでは、次のような定期的な曜日と時刻をブロックされる時間枠として設定できます (例: UTC: `MON-20:30-21:30 WED-20:30-21:30 FRI-20:30-21:30`)。

または、ARC が練習実行を開始してセットアップをテストするには、水曜日と金曜日の正午から 5:00 までが最適だと思うかもしれません。このシナリオでは、次のような定期的な曜日と時刻を許可される時間枠として設定できます (例: UTC: `WED-12:00-17:00 FRI-12:00-17:00`)。

# AWS リージョン ゾーンオートシフトの可用性
<a name="introduction-region-zonal-autoshift"></a>

ゾーンシフトとゾーンオートシフトは現在 AWS リージョン、中国リージョン、つまり中国 (北京) リージョンと中国 (寧夏) リージョンで利用可能です。

Amazon Application Recovery Controller (ARC) を使用するリソースには、追加の考慮事項が含まれる場合があります。詳細については、「[サポートされているリソース](arc-zonal-shift.resource-types.md)」を参照してください。

リージョンの一覧および ARC のリージョンサポートとリージョンサービスエンドポイントに関する詳細は、「*Amazon Web Services 全般のリファレンス*」にある「[Amazon Application Recovery Controller (ARC) のエンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/r53arc.html)」を参照してください。

# ゾーンオートシフトのコンポーネント
<a name="introduction-components-zonal-autoshift"></a>

次の図は、トラフィックをアベイラビリティーゾーンから遠ざけるオートシフトの例を示しています。顧客に影響を与える可能性のあるアベイラビリティーゾーンの障害が内部テレメトリによって示された場合、 AWS はオートシフトを開始します。

![\[3 つのアベイラビリティーゾーンでのオートシフトの図\]](http://docs.aws.amazon.com/ja_jp/r53recovery/latest/dg/images/ZonalAutoshiftDiagram.png)


以下は、ARC におけるゾーンオートシフト機能のコンポーネントです。

**ゾーンオートシフト**  
ゾーンオートシフトは、何も操作しなくても、リソースのトラフィックを遠ざけます。ゾーンオートシフトは、カスタマーに影響を与える可能性のあるアベイラビリティーゾーンの障害が内部テレメトリによって示されると、 がオートシフト AWS を開始する ARC の機能です。場合によっては、影響が及んでいないリソースがシフトされることもあります。

**練習実行**  
リソースのゾーンオートシフトを有効にする場合は、リソースのゾーンオートシフト*練習実行*も設定する必要があります。 は、練習実行のゾーンシフトを約毎週約 30 分間 AWS 実行します。練習実行は、オンデマンドでもスケジュールできます。  
練習実行により、1 つのアベイラビリティーゾーンが失われても、アプリケーションが正常に動作することを確認できます。練習実行では、 はリソースのトラフィックをゾーン AWS シフトのある 1 つのアベイラビリティーゾーンからシフトし、練習実行が終了したらトラフィックをシフトバックします。

**練習実行設定**  
練習実行設定を使用すると、ARC がゾーンオートシフトでリソースの練習実行を開始できる時間枠 (ブロックまたは許可される時間枠) を定義できます。また、 AWS 練習実行の CloudWatch アラームも定義します。練習実行設定はいつでも編集でき、ブロックまたは許可される時間枠を追加または変更したり、練習実行のアラームを更新したりできます。  
ゾーンオートシフトを有効にするには、リソース用の練習実行設定が必要です。  
練習実行は削除できますが、まず、ゾーンオートシフトを無効にする必要があります。

**練習実行アラーム**  
練習実行を設定するときには、リソースとアプリケーションの要件に基づいて、(CloudWatch で最初に作成する) CloudWatch アラームを指定します。指定したアラームは、アプリケーションが練習実行によって悪影響を受けた場合に、練習実行の開始をブロックしたり、進行中の練習実行を停止したりできます。  
指定したアラームが `ALARM` 状態になると、ARC は練習実行のゾーンシフトを終了します。これにより、リソースのトラフィックはアベイラビリティーゾーンから遠ざけられなくなります。  
練習実行用に指定するアラームには 2 種類あります。1 つは練習実行中にリソースとアプリケーションの状態を監視する*結果*アラームです。もう 1 つは*ブロッキング*アラームであり、練習実行の開始を妨げたり、進行中の練習実行を停止したりするように設定できます。少なくとも 1 つの結果アラームが必須です。ブロッキングアラームはオプションです。

**練習実行の結果**  
ARC は各練習実行の結果を報告します。可能な練習実行の結果は以下のとおりです。  
+ **PENDING:** 練習実行のゾーンシフトはアクティブ (進行中) です。まだ結果は戻されていません。
+ **SUCCEEDED:** 練習実行中、結果アラームは `ALARM` 状態にならず、練習実行は 30 分間のテスト期間をすべて完了しました。
+ **INTERRUPTED:** 結果アラームが `ALARM` 状態になったのではない理由で、練習実行は終了しました。練習実行は、以下のようなさまざまな理由で中断されることがあります。例えば、練習実行について指定されたブロッキングアラームが `ALARM` 状態になったために終了した練習走行は、`INTERRUPTED` の結果になります。`INTERRUPTED` 結果の理由の詳細については、「[練習実行の結果](arc-zonal-autoshift.considerations.md#ZAConsiderationsPracticeRunOutcomes)」を参照してください。
+ **FAILED:** 練習実行中に結果アラームが `ALARM` 状態になりました。
+ **CAPACITY\$1CHECK\$1FAILED:** アベイラビリティーゾーン間におけるロードバランシングと Auto Scaling グループリソースとのバランスの取れたキャパシティのチェックに失敗しました。

**組み込みの安全ルール**  
ARC に組み込まれている安全ルールにより、1 つのリソースについて一度に複数のトラフィックシフトが行われることはありません。つまり、アベイラビリティーゾーンからトラフィックをアクティブにシフトできるのは、そのリソースについて、顧客が開始したゾーンシフト、( AWS または顧客が開始した) 練習実行のゾーンシフト、またはオートシフトの 1 つのみです。例えば、あるリソースがオートシフトで遠ざけられているときにゾーンシフトを開始した場合は、ゾーンシフトが優先されます。詳細については、「[ゾーンシフトの優先順位](arc-zonal-autoshift.how-it-works.precedence.md#ZAShiftPrecedence)」を参照してください。

**リソース識別子**  
ゾーンオートシフトを有効にするリソースの識別子で、リソースの Amazon リソースネーム (ARN) です。ゾーンシフトには、ARC がサポートする AWS サービスにあるアカウント内のリソース用ゾーンオートシフトのみを有効にできます。

**マネージドリソース**  
Application Load Balancer は、ゾーンオートシフトの ARC でリソースを自動的に登録します。ゾーンオートシフトの他のリソースは、手動でオプトインする必要があります。

**リソース名**  
ARC のマネージドリソースの名前です。

**適用ステータス**  
適用ステータスは、リソースに対してトラフィックシフトが適用されているかどうかを示します。ゾーンオートシフトを設定すると、1 つのリソースに複数のアクティブなトラフィックシフト、つまり、練習実行ゾーンシフト、顧客によって開始されたゾーンシフト、またはオートシフトが発生する可能性があります。ただし、リソースに*適用*される、つまり有効になるのは一度に 1 つのみです。ステータス `APPLIED` のシフトによって、リソースについてアプリケーショントラフィックが遠ざけられたアベイラビリティーゾーンと、そのトラフィックシフトが終了するタイミングが決まります。

**シフトタイプ**  
ゾーンシフトタイプを定義します。ゾーンシフトは、次のいずれかのタイプになります。  
+ **ZONAL\$1SHIFT**
+ **ZONAL\$1AUTOSHIFT**
+ **PRACTICE\$1RUN**
+ **FIS\$1EXPERIMENT**

# ゾーンオートシフトのデータプレーンとコントロールプレーン
<a name="data-and-control-planes-zonal-autoshift"></a>

フェイルオーバーとディザスタリカバリを計画する際は、フェイルオーバーメカニズムの耐障害性を考慮してください。フェイルオーバー中に依存するメカニズムは、可用性が高く、災害シナリオで必要なときに使用できるようにすることをお勧めします。信頼性と耐障害性を最大限に高めるため、可能であれば通常、データプレーン機能をメカニズムに使用する必要があります。そのことを念頭に置いて、サービス機能がコントロールプレーンとデータプレーンにどのように分けられているのか、また、サービスのデータプレーンで非常に高い信頼性が期待できるのはどのような場合なのかを理解することが重要です。

一般に、コントロールプレーンを使用すると、サービス内のリソースの作成、更新、削除などの基本的な管理機能を実行できます。**データプレーンはサービスのコア機能を提供します。**

データプレーン、コントロールプレーン、および が高可用性目標を達成するためのサービス AWS を構築する方法の詳細については、Amazon Builders' Library の「ア[ベイラビリティーゾーンを使用した静的安定性」を参照してください](https://aws.amazon.com/builders-library/static-stability-using-availability-zones/)。

# ARC のゾーンオートシフトの料金
<a name="introduction-pricing-zonal-autoshift"></a>

ゾーンオートシフトの場合、 は、顧客アプリケーションに悪影響を及ぼす可能性のある潜在的な問題があると AWS が判断した場合、サポートされているリソースのためにユーザーに代わってアベイラビリティーゾーンからトラフィックを AWS シフトします。ゾーンオートシフトは追加料金なしで使用できます。

ARC の料金および料金例の詳細については、「[ARC の料金](https://aws.amazon.com/application-recovery-controller/pricing/)」を参照してください。

# ゾーンオートシフトを設定する際のベストプラクティス
<a name="arc-zonal-autoshift.considerations"></a>

Amazon Application Recovery Controller (ARC) でゾーンオートシフトを有効にする際は、次のベストプラクティスと考慮事項に注意してください。

ゾーンオートシフトには、オートシフトと練習実行ゾーンシフトの 2 種類のトラフィックシフトがあります。
+ *オートシフト* AWS を使用すると、ユーザーに代わってイベント中にアプリケーションリソーストラフィックをアベイラビリティーゾーンから遠ざけることで、復旧までの時間を短縮できます。
+ *練習実行*では、ARC がユーザーに代わってゾーンシフトを開始、またはユーザーがゾーンシフトの練習実行を開始します。 AWS 練習実行ゾーンシフトは、トラフィックをリソースのアベイラビリティーゾーンから遠ざけ、毎週の頻度で再度シフトします。練習実行は、リージョンのアベイラビリティーゾーンの容量を十分にスケールアップして、1 つのアベイラビリティーゾーンが失われてもアプリケーションの正常な動作を確保できます。

オートシフトと練習実行では、ベストプラクティスと考慮すべき点がいくつかあります。ゾーンオートシフトを有効にしたり、リソースの練習実行を設定したりする前に、以下のトピックを確認してください。

**トピック**
+ [クライアントがエンドポイントに接続したままになる時間を制限する](#ZAConsiderationsCurrentConnections)
+ [リソース容量の事前スケーリングとトラフィックの移行のテスト](#ZAConsiderationsCapacityPrescaling)
+ [リソースタイプと制約を理解する](#ZAConsiderationsResourceRequirements)
+ [練習実行のアラームを指定する](#ZAConsiderationsPracticeRunAlarms)
+ [練習実行の結果を評価する](#ZAConsiderationsPracticeRunOutcomes)

**クライアントがエンドポイントに接続したままになる時間を制限する**  
Amazon Application Recovery Controller (ARC) がゾーンシフトやゾーンオートシフトなどを使用してトラフィックを障害から遠ざける場合、ARC がアプリケーショントラフィックを移動するために使用するメカニズムは DNS 更新です。DNS 更新により、すべての新しい接続が障害のある場所から遠ざけられます。ただし、既存のオープン接続を持つクライアントは、クライアントが再接続するまで、障害が発生したロケーションに対してリクエストを引き続き行う場合があります。迅速な復旧を確保するために、クライアントがエンドポイントに接続し続ける時間を制限することをお勧めします。  
Application Load Balancer を使用する場合は、`keepalive` オプションを使用して接続の継続期間を設定できます。アプリケーションの目標復旧時間に合わせて、例えば 300 秒のように `keepalive` 値を小さくすることをお勧めします。`keepalive` 時間を設定する際は、一般的に再接続が増えてレイテンシーに影響が出ることと、障害のある AZ やリージョンからすべてのクライアントをより早く切り替えられることとのトレードオフである点を考慮してください。  
Application Load Balancer の `keepalive` のオプション設定の詳細については、「Application Load Balancer ユーザーガイド」の「[ HTTP クライアントのキープアライブ期間](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/application-load-balancers.html#http-client-keep-alive-duration)」を参照してください。

**リソース容量の事前スケーリングとトラフィックの移行のテスト**  
がゾーン AWS シフトまたはオートシフトのためにトラフィックを 1 つのアベイラビリティーゾーンから遠ざける場合、残りのアベイラビリティーゾーンがリソースのリクエストレートの増加に対応できることが重要です。このパターンは*静的安定性*と呼ばれます。詳細については、The Amazon Builder's Library のホワイトペーパー「[アベイラビリティーゾーンを使用した静的安定性](https://aws.amazon.com/builders-library/static-stability-using-availability-zones/)」を参照してください。  
例えば、アプリケーションがクライアントにサービスを提供するために 30 個のインスタンスを必要とする場合、3 つのアベイラビリティーゾーンに 15 個のインスタンスをプロビジョニングして、合計 45 個のインスタンスをプロビジョニングする必要があります。これにより、 がオートシフトまたは練習実行中に 1 つのアベイラビリティーゾーンからトラフィックを遠ざ AWS ける場合でも、2 つのアベイラビリティーゾーンにまたがる残りの 30 個のインスタンスをアプリケーションのクライアントに提供AWS できます。  
ARC のゾーンオートシフト機能は、1 つのアベイラビリティーゾーンが失われても正常に動作するように事前にスケーリングされたリソースを持つアプリケーションがある場合に、アベイラビリティーゾーンの AWS イベントから迅速に復旧するのに役立ちます。リソースのゾーンオートシフトを有効にする前に、 AWS リージョン内の設定済みのすべてのアベイラビリティーゾーンのリソース容量をスケーリングしてください。次に、リソースのゾーンシフトを開始して、トラフィックがアベイラビリティーゾーンから遠ざけられても、アプリケーションが正常に動作することをテストします。  
ゾーンシフトでテストした後、ゾーンオートシフトを有効にして、アプリケーションリソースの練習実行を設定します。独自のオンデマンド練習実行を実行して、設定が適切にスケールされるようにします。ゾーンオートシフトを使った定期的な練習実行は、容量が引き続き適切にスケーリングされていることを継続的に確認するのに役立ちます。複数のアベイラビリティーゾーンにまたがって十分な容量があれば、アプリケーションはオートシフト中も中断することなくクライアントにサービスを提供し続けることができます。  
リソースのゾーンシフトを開始する方法の詳細については、「[ARC のゾーンシフト](arc-zonal-shift.md)」を参照してください。

**リソースタイプと制約を理解する**  
ゾーンオートシフトは、ゾーンシフトによってサポートされるすべてのリソースについて、アベイラビリティーゾーン外へのトラフィックのシフトをサポートします。一部の特定のリソースシナリオでは、ゾーンオートシフトではオートシフトのためにアベイラビリティーゾーンからトラフィックがシフトされません。  
例えば、アベイラビリティーゾーン内のロードバランサーのターゲットグループにインスタンスが含まれていない場合や、すべてのインスタンスが「異常」である場合、ロードバランサーはフェイルオープン状態になります。がこのシナリオでロードバランサーのオートシフト AWS を開始した場合、ロードバランサーがすでにフェイルオープン状態になっているため、ロードバランサーが使用するアベイラビリティーゾーンはオートシフトによって変更されません。これは想定される動作です。Autoshift では、すべてのアベイラビリティーゾーンがオープンに失敗 (異常) AWS リージョン した場合、1 つのアベイラビリティーゾーンが異常になり、トラフィックを の他のアベイラビリティーゾーンにシフトすることはできません。  
すべての要件や注意すべき例外など、サポートされているリソースの詳細を確認するには、「[サポートされているリソース](arc-zonal-shift.resource-types.md)」を参照してください。

**練習実行のアラームを指定する**  
ゾーンオートシフトによる練習実行には、少なくとも 1 つのタイプのアラーム (結果アラーム) を設定する必要があります。オプションで、2 番目のタイプのアラーム (ブロッキングアラーム) も設定できます。  
リソースの練習実行に対して設定する CloudWatch アラームについて検討するときには、次の点に注意してください。  
+ 練習実行設定には、少なくとも 1 つの結果アラームを設定する必要があります。結果アラームについては、リソースまたはアプリケーションのメトリクスが、アベイラビリティーゾーンからトラフィックを遠ざけるとパフォーマンスに悪影響があることを示したときには、CloudWatch アラームを `ALARM` 状態になるように設定することをお勧めします。例えば、リソースのリクエストレートのしきい値を決定して、そのしきい値を超えたときには `ALARM` 状態になるようにアラームを設定できます。 AWS が練習実行を終了して `FAILED` 結果を返すように、適切なアラームを設定する必要があります。
+ 重要業績評価指標 (KPI) を CloudWatch アラームとして実装することを推奨している「[AWS Well Architected フレームワーク](https://docs.aws.amazon.com/wellarchitected/2022-03-31/framework/perf_monitor_instances_post_launch_establish_kpi.html)」に従うことをお勧めします。その場合、これらのアラームを使用して、安全トリガーとして使用する複合アラームを作成し、アプリケーションが KPI を見逃す可能性がある場合には練習実行が開始されないようにすることができます。アラームが `ALARM` 状態でなくなると、ARC はそのリソースに対して次回の練習実行がスケジュールされている時点で練習実行を開始します。
+ 練習実行のブロックアラームでは、1 つ (または複数) を設定することを選択した場合、 AWS 練習実行を開始しないことを示すために使用する特定のメトリクスを追跡することを選択できます。たとえば、アラームが進行中のインシデントがあることを示す場合などです。
+ 練習実行アラームでは、各アラームの Amazon リソースネーム (ARN) を指定します。そのため、まず Amazon CloudWatch でアラームを設定する必要があります。指定する CloudWatch アラームは複合アラームでもかまいません。これにより、アラームの `ALARM` 状態への移行をトリガーできるアプリケーションとリソースの複数のメトリクスとチェックを含めることができます。または、個別のアラームを設定してから、練習実行設定で各タイプの複数のアラームを指定できます。詳細については、「Amazon CloudWatch ユーザーガイド」の「[アラームの結合](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Create_Composite_Alarm.html)」を参照してください。
+ 練習実行について指定する CloudWatch アラームが、練習実行を設定しているリソースと同じリージョンにあることを確認してください。

**練習実行の結果を評価する**  
ARC は各練習実行の結果を報告します。練習実行の後、結果を評価し、アクションを実行する必要があるかどうかを判断します。例えば、容量のスケーリングやアラーム設定の調整が必要になる場合があります。  
可能な練習実行の結果は以下のとおりです。  
+ **SUCCEEDED:** 練習実行中に結果アラームが `ALARM` 状態にならず、練習実行は 30 分間のテスト期間をすべて完了しました。
+ **FAILED:** 練習実行中に少なくとも 1 つの結果アラームが `ALARM` 状態になりました。
+ **INTERRUPTED:** 結果アラームが `ALARM` 状態になったのではない理由で、練習実行は終了しました。練習実行は、以下のようなさまざまな理由で中断される可能性があります。
  + でオートシフト AWS が開始された AWS リージョン か、リージョンにアラーム条件が発生したため、練習実行が終了しました。
  + 練習実行は、リソースの練習実行設定が削除されたために、終了しました。
  + 練習実行は、練習実行ゾーンシフトでトラフィックが遠ざけられたアベイラビリティーゾーンのリソースについて、顧客開始のゾーンシフトが開始されたために終了しました。
  + 練習実行は、練習実行設定に指定された CloudWatch アラームにアクセスできなくなったために終了しました。
  + 練習実行に指定されたブロッキングアラームが `ALARM` 状態に入ったため、練習実行は終了しました。
  + 練習実行は未知の理由で終了しました。
  + 優先されるゾーンオートシフトが開始されたため、練習実行が終了しました。「[ゾーンシフトの優先順位](https://docs.aws.amazon.com/r53recovery/latest/dg/arc-zonal-autoshift.how-it-works.html#ZAShiftPrecedence)」を参照してください。
+ **CAPACITY\$1CHECK\$1FAILED:** アベイラビリティーゾーン間におけるロードバランシングと Auto Scaling グループリソースとのバランスの取れたキャパシティのチェックに失敗しました。
+ **PENDING:** 練習実行はアクティブ (進行中) です。まだ結果は戻されていません。

# ゾーンオートシフト API オペレーション
<a name="actions.zonalautoshift"></a>

次の表に、ゾーンオートシフトで使用できる ARC API オペレーションを示します。でゾーンオートシフト API オペレーションを使用する例については AWS CLI、「」を参照してください。

 AWS Command Line Interfaceで一般的なゾーンオートシフト API オペレーションを使用する方法の例については、「[ゾーンオートシフト AWS CLI で を使用する例](getting-started-cli-zonal-autoshift.md)」を参照してください。


| Action | ARC コンソールの使用 | ARC API の使用 | 
| --- | --- | --- | 
| 練習実行設定を作成する | 「[ゾーンオートシフトの有効化または無効化](arc-zonal-autoshift.start-cancel.md#arc-zonal-autoshift.configure)」を参照してください。 | 「[CreatePracticeRunConfiguration](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_CreatePracticeRunConfiguration.html)」を参照してください。 | 
| 練習実行設定を削除する | 「[練習実行設定の設定、編集、または削除](arc-zonal-autoshift.edit-delete-practice-run.md)」を参照してください。 | 「[DeletePracticeRunConfiguration](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_DeletePracticeRunConfiguration.html)」を参照してください。 | 
| オートシフトを一覧表示する | 「[ARC のゾーンオートシフト](arc-zonal-shift.md)」を参照してください。 | 「[ListAutoshifts](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_ListAutoshifts.html)」を参照してください。 | 
| ゾーンオートシフト用のリソースを一覧表示する | 「[サポートされているリソース](arc-zonal-shift.resource-types.md)」を参照してください。 | 「[ListManagedResources](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_ListManagedResources.html)」を参照 | 
| ゾーンオートシフト用のリソースを取得する | 「[サポートされているリソース](arc-zonal-shift.resource-types.md)」を参照してください。 | 「[GetManagedResource](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_GetManagedResource.html)」を参照 | 
| 練習実行設定を編集する | 「[練習実行設定の設定、編集、または削除](arc-zonal-autoshift.edit-delete-practice-run.md)」を参照してください。 | 「[UpdatePracticeRunConfiguration](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_UpdatePracticeRunConfiguration.html)」を参照してください。 | 
| ゾーンオートシフトを有効化または無効化する | 「[ゾーンオートシフトの有効化または無効化](arc-zonal-autoshift.start-cancel.md#arc-zonal-autoshift.configure)」を参照してください。 | 「[UpdateZonalAutoshiftConfiguration](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_UpdateZonalAutoshiftConfiguration.html)」を参照してください。 | 
| オートシフトのオブザーバー通知を有効または無効にする | 「[ゾーンオートシフトの有効化と操作](arc-zonal-autoshift.start-cancel.md)」を参照してください。 | 「[UpdateAutoshiftObserverNotificationStatus](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_UpdateAutoshiftObserverNotificationStatus.html)」を参照してください。 | 
| 練習実行を開始する | 「[練習実行ゾーンシフトの開始](arc-zonal-autoshift.start-cancel.md)」を参照してください。 | 「[StartPracticeRun](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_StartPracticeRun.html)」を参照してください。 | 
| 練習実行をキャンセルする | 「[練習実行のゾーンシフトのキャンセル](arc-zonal-autoshift.start-cancel.md)」を参照 | 「[CancelPracticeRun](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_CancelPracticeRun.html)」を参照してください。 | 

# ゾーンオートシフト AWS CLI で を使用する例
<a name="getting-started-cli-zonal-autoshift"></a>

このセクションでは、 を使用して、API オペレーションを使用して Amazon Application Recovery Controller (ARC) のゾーンオートシフト機能 AWS Command Line Interface を操作する、ゾーンオートシフトを使用する簡単なアプリケーション例について説明します。これらの例は、CLI を使用したゾーンオートシフトの操作方法の基本的な理解を深めることを目的としています。

ゾーンオートシフトは ARC の機能です。ゾーンオートシフトを使用すると、ユーザーに代わって、イベント中にサポートされているアプリケーションリソーストラフィック AWS をアベイラビリティーゾーンから遠ざけることを に許可し、復旧までの時間を短縮できます。ゾーンオートシフトで使用できるリソースの詳細については、「[サポートされているリソース](arc-zonal-shift.resource-types.md)」を参照してください。

ゾーンオートシフトには、トラフィックをアベイラビリティーゾーンから遠ざける練習実行が含まれており、オートシフトがアプリケーションにとって安全であることを確認するのに役立ちます。

ゾーンオートシフト API アクションのリストと詳細情報へのリンクについては、「[ゾーンオートシフト API オペレーション](actions.zonalautoshift.md)」を参照してください。の使用の詳細については AWS CLI、[AWS CLI 「 コマンドリファレンス](https://docs.aws.amazon.com/cli/latest/reference/arc-zonal-shift/index.html)」を参照してください。

**Topics**
+ [練習実行設定を作成する](getting-started-cli-update-zonal_autoshift.create-practice-run.md)
+ [オートシフトを有効または無効にする](getting-started-cli-zonal-autoshift.update-autoshift.md)
+ [オンデマンド練習実行を開始する](getting-started-cli-zonal-autoshift.start-practice-run.md)
+ [進行中の練習実行をキャンセルする](getting-started-cli-zonal-autoshift.cancel-practice-run.md)
+ [進行中のオートシフトをキャンセルする](getting-started-cli-zonal-autoshift.cancel-autoshift.md)
+ [練習実行設定を編集する](getting-started-cli-zonal_autoshift.edit-practice-run-config.md)
+ [練習実行設定を削除する](getting-started-cli-zonal-autoshift.delete-practice-run-config.md)

# 練習実行設定を作成する
<a name="getting-started-cli-update-zonal_autoshift.create-practice-run"></a>

リソースのゾーンオートシフトを有効にする前に、リソースの練習実行設定を作成し、必要な練習実行のオプションを選択する必要があります。`create-practice-run-configuration` コマンドを使用して CLI でリソースの練習実行設定を作成します。

リソースの練習実行設定を作成するときは、次の点に注意してください。
+ 現時点でサポートされているアラームタイプは `CLOUDWATCH` のみです。
+ リソースがデプロイされている AWS リージョン のと同じ にあるアラームを使用する必要があります。
+ 結果アラームを指定する必要があります。ブロッキングアラームの指定はオプションです。
+ ブロックまたは許可する日付または時間枠の指定はオプションです。

`create-practice-run-configuration` コマンドを使用して CLI で練習実行設定を作成します。

例えば、リソースの練習実行設定を作成するには、次のようなコマンドを使用します。

```
aws arc-zonal-shift create-practice-run-configuration \
      --resource-identifier="arn:aws:elasticloadbalancing:Region:111122223333:ExampleALB123456890" \
      --outcome-alarms type=CLOUDWATCH,alarmIdentifier=arn:aws:cloudwatch:Region:111122223333:alarm:Region-MyAppHealthAlarm \
      --blocking-alarms type=CLOUDWATCH,alarmIdentifier=arn:aws:cloudwatch:Region:111122223333:alarm:Region-BlockWhenALARM \
      --blocked-dates 2023-12-01 --blocked-windows Mon:10:00-Mon:10:30
```

```
{
   "arn": "arn:aws:elasticloadbalancing:us-west-2:111122223333:ExampleALB123456890",
   "name": "zonal-shift-elb"
   "zonalAutoshiftStatus": "DISABLED",
   "practiceRunConfiguration": {
       "blockingAlarms": [
                  {
               "type": "CLOUDWATCH",
               "alarmIdentifier": "arn:aws:cloudwatch:us-west-2:111122223333:alarm:us-west-2-BlockWhenALARM"
           }
       ]
       "outcomeAlarms": [
           {
               "type": "CLOUDWATCH",
               "alarmIdentifier": "arn:aws:cloudwatch:us-west-2:111122223333:alarm:us-west-2-MyAppHealthAlarm"
           }
       ],
       "blockedWindows": [
           "Mon:10:00-Mon:10:30"
       ],
       "blockedDates": [
           "2023-12-01"
       ]
}
```

# オートシフトを有効または無効にする
<a name="getting-started-cli-zonal-autoshift.update-autoshift"></a>

リソースのオートシフトを有効または無効にするには、CLI でゾーンオートシフトのステータスを更新します。ゾーンオートシフトのステータスを変更するには、`update-zonal-autoshift-configuration` コマンドを使用します。

例えば、リソースのオートシフトを有効にするには、次のようなコマンドを使用します。

```
aws arc-zonal-shift update-zonal-autoshift-configuration \
      --resource-identifier="arn:aws:elasticloadbalancing:Region:111122223333:ExampleALB123456890" \
      --zonal-autoshift-status="ENABLED"
```

```
{
   "resourceIdentifier": "arn:aws:elasticloadbalancing:us-west-2:111122223333:ExampleALB123456890",
   "zonalAutoshiftStatus": "ENABLED"
}
```

# オンデマンド練習実行を開始する
<a name="getting-started-cli-zonal-autoshift.start-practice-run"></a>

CLI で `start-practice-run` コマンドを使用して、オンデマンド練習実行のゾーンシフトを開始できます。

例えば、リソースの練習実行を開始するには、次のようなコマンドを使用します。

```
aws arc-zonal-shift start-practice-run 
    --resource-identifier="arn:aws:elasticloadbalancing:Region:111122223333:ExampleALB123456890" \
    "awayFrom": "usw2-az1",
```

```
{
    "awayFrom": "usw2-az1",
    "comment": "Practice run started. Shifting traffic away from Availability Zone usw2-az1.",
}
```

# 進行中の練習実行をキャンセルする
<a name="getting-started-cli-zonal-autoshift.cancel-practice-run"></a>

CLI で `cancel-practice-run` コマンドを使用すると、進行中の練習実行をキャンセルできます。

例えば、リソースの練習実行をキャンセルするには、次のようなコマンドを使用します。

```
aws arc-zonal-shift cancel-practice-run \
   --zonal-shift-id="="arn:aws:testservice::111122223333:ExampleALB123456890"
```

```
{
    "zonalShiftId": "2222222-3333-444-1111",
    "resourceIdentifier": "arn:aws:testservice::111122223333:ExampleALB123456890",
    "awayFrom": "usw2-az1",
    "expiryTime": 2024-11-15T10:35:42+00:00,
    "startTime": 2024-11-15T09:35:42+00:00,
    "status": "CANCELED",
    "comment": "Practice run canceled"
}
```

# 進行中のオートシフトをキャンセルする
<a name="getting-started-cli-zonal-autoshift.cancel-autoshift"></a>

リソースのゾーンオートシフトをキャンセルすると、CLI で進行中のオートシフトをキャンセルできます。ゾーンオートシフトをキャンセルするには、`cancel-zonal-shift command` を使用します。

```
aws arc-zonal-shift cancel-zonal-shift --zonal-shift-id 9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38
```

```
{
    "awayFrom": "usw2-az1",
    "comment": "Zonal autoshift started. Shifting traffic away from Availability Zone usw2-az1.",
    "expiryTime": "2024-12-17T22:29:38-08:00",
    "resourceIdentifier": "arn:aws:elasticloadbalancing:us-east-1:111122223333:loadbalancer/app/Testing/5a19403ecd42dc05",
    "startTime": "2024-12-17T21:27:26-08:00",
    "status": "CANCELED",
    "zonalShiftId": "9ac9ec1e-1df1-0755-3dc5-8cf573cd9c38"
}
```

# 練習実行設定を編集する
<a name="getting-started-cli-zonal_autoshift.edit-practice-run-config"></a>

ARC が練習実行を開始しない場合、CLI を使用してリソースの練習実行設定を編集し、さまざまな設定オプションを更新できます。例えば、練習実行のアラームを変更したり、ブロックされた日付やブロックされた時間枠を更新したりできます。練習実行設定を編集するには、`update-practice-run-configuration` コマンドを使用します。

リソースの練習実行設定を編集するときには、次の点に注意してください。
+ 現時点でサポートされているアラームタイプは `CLOUDWATCH` のみです。
+ リソースがデプロイされている AWS リージョン のと同じ にあるアラームを使用する必要があります。
+ 結果アラームを指定する必要があります。ブロッキングアラームの指定はオプションです。
+ ブロックする日付またはブロックする時間枠の指定はオプションです。
+ ブロックする日付またはブロックする時間枠を指定すると、、既存の値は置き換えられます。

例えば、リソースの練習実行設定を編集して、新しいブロックする日付を指定するには、次のようなコマンドを使用します。

```
aws arc-zonal-shift update-practice-run-configuration \
      --resource-identifier="arn:aws:elasticloadbalancing:Region:111122223333:ExampleALB123456890" \
      --blocked-dates 2024-03-01
```

```
{
   "arn": "arn:aws:elasticloadbalancing:us-west-2:111122223333:ExampleALB123456890",
   "name": "zonal-shift-elb"
   "zonalAutoshiftStatus": "DISABLED",
   "practiceRunConfiguration": {
       "blockingAlarms": [
                  {
               "type": "CLOUDWATCH",
               "alarmIdentifier": "arn:aws:cloudwatch:us-west-2:111122223333:alarm:us-west-2-BlockWhenALARM"
           }
       ]
       "outcomeAlarms": [
           {
               "type": "CLOUDWATCH",
               "alarmIdentifier": "arn:aws:cloudwatch:us-west-2:111122223333:alarm:us-west-2-MyAppHealthAlarm"
           }
       ],
       "blockedWindows": [
           "Mon:10:00-Mon:10:30"
       ],
       "blockedDates": [
           "2024-03-01"
       ]
}
```

# 練習実行設定を削除する
<a name="getting-started-cli-zonal-autoshift.delete-practice-run-config"></a>

リソースの練習実行設定を削除できますが、まず、リソースのゾーンオートシフトを無効にする必要があります。ゾーンオートシフトを有効にするには、リソースに練習実行設定が必要です。定期的な練習実行により、1 つのアベイラビリティーゾーンがなくてもアプリケーションが正常に動作することを確認できます。

CLI を使用して練習実行設定を削除するには、まず、必要に応じて `update-zonal-autoshift` コマンドを使用してゾーンオートシフトを無効にします。次に、練習実行設定を削除するには、`delete-practice-run-configuration` コマンドを使用します。

まず、次のようなコマンドを使用して、リソースのゾーンオートシフトを無効にします。

```
aws arc-zonal-shift update-zonal-autoshift-configuration \
      --resource-identifier="arn:aws:elasticloadbalancing:Region:111122223333:ExampleALB123456890" \
      --zonal-autoshift-status="DISABLED"
```

```
{
   "resourceIdentifier": "arn:aws:elasticloadbalancing:us-west-2:111122223333:ExampleALB123456890",
   "zonalAutoshiftStatus": "DISABLED"
}
```

次に、次のようなコマンドを使用して、練習実行設定を削除します。

```
aws arc-zonal-shift delete-practice-run-configuration \
      --resource-identifier="arn:aws:elasticloadbalancing:Region:111122223333:ExampleALB123456890"
```

```
{
   "arn": "arn:aws:elasticloadbalancing:us-west-2:111122223333:ExampleALB123456890",
   "name": "TestResource",
   "zonalAutoshiftStatus": "DISABLED"
}
```

# ゾーンオートシフトの有効化と操作
<a name="arc-zonal-autoshift.start-cancel"></a>

このセクションでは、Amazon Application Recovery Controller (ARC) でゾーンオートシフトを操作する手順について説明します。ゾーンオートシフトを有効にすると、練習実行設定の変更、オンデマンド練習実行の開始、練習実行を含む進行中シフトのキャンセル、またはオートシフトのオブザーバー通知の有効化を実行できます。

## ゾーンオートシフトの有効化または無効化
<a name="arc-zonal-autoshift.configure"></a>

この手順では、Amazon Application Recovery Controller (ARC) のコンソールからゾーンオートシフトを有効化または無効化する手順について説明します。ゾーンオートシフトをプログラムで操作する方法については、「[ゾーンシフトおよびゾーンオートシフト API リファレンスガイド](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/Welcome.html)」を参照してください。

ゾーンオートシフトを有効にすると、 がユーザーに代わってイベント中にアプリケーションリソーストラフィックをアベイラビリティーゾーンから遠ざけることを承認 AWS し、復旧までの時間を短縮できます。

## ゾーンオートシフトを有効化または無効化するには


1. [https://console.aws.amazon.com/route53recovery/zonalshift/home#/autoshift](https://console.aws.amazon.com/route53recovery/zonalshift/home#/autoshift) で ARC コンソールを開きます。

1. **[リソースのゾーンオートシフト設定]** で、リソースを選択します。

1. **[アクション]** メニューで、**[ゾーンオートシフトを有効化]** を選択してから、手順に従って更新を完了します。

リソースに練習実行設定がない場合、**[ゾーンオートシフトを有効化]** は使用できません。練習実行設定を構成して、ゾーンオートシフトを有効にするには、**[ゾーンオートシフトを設定]** を選択します。

**Topics**
+ [ゾーンオートシフトの有効化または無効化](#arc-zonal-autoshift.configure)
+ [練習実行設定の設定、編集、または削除](arc-zonal-autoshift.edit-delete-practice-run.md)
+ [ゾーンオートシフトのキャンセル](arc-zonal-autoshift.canceling-an-autoshift.md)
+ [練習実行ゾーンシフトの開始](arc-zonal-autoshift.start-practice-run.md)
+ [練習実行のゾーンシフトのキャンセル](arc-zonal-autoshift.cancel-practice-run.md)
+ [オートシフトのオブザーバー通知の有効化または無効化](arc-zonal-autoshift.enable-autoshift-observer.md)

# 練習実行設定の設定、編集、または削除
<a name="arc-zonal-autoshift.edit-delete-practice-run"></a>

このセクションの手順では、Amazon Application Recovery Controller (ARC) のコンソールから練習実行設定を編集または削除する手順について説明します。ゾーンオートシフトをプログラムで操作する方法については、「[ゾーンシフトおよびゾーンオートシフト API リファレンスガイド](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/Welcome.html)」を参照してください。

コンソールで練習実行設定を削除すると、ゾーンオートシフトは無効になります。API オペレーションで練習実行設定を削除するには、その前に、ゾーンオートシフトを無効にする必要があります。ゾーンオートシフトを有効にしなくても練習実行を設定できます。ただし、ゾーンオートシフトがリソースについて有効であるためには、そのリソースに対して練習実行を設定してある必要があります。

# 練習実行を設定するには


1. [https://console.aws.amazon.com/route53recovery/zonalshift/home#/autoshift](https://console.aws.amazon.com/route53recovery/zonalshift/home#/autoshift) で ARC コンソールを開きます。

1. **[ゾーンオートシフトを設定]** を選択します。

1. ゾーンオートシフトを設定するリソースを選択します。

1.  AWS イベントが発生したときにリソースのオートシフト AWS を開始しない場合は、ゾーンオートシフトを無効にすることを選択します。必要に応じて、ウィザードを続行して、オートシフトを有効にせずに練習実行設定を構成できます。

1. リソースの練習実行のオプションを選択します。アラームの場合は、以下のことができます。
   + (必須) このリソースの練習実行を監視する結果アラームを少なくとも 1 つ指定します。
   + (オプション) このリソースの練習実行のブロッキングアラームを 1 つまたは複数指定します。

   詳細については、「[ゾーンオートシフトを設定する際のベストプラクティス](arc-zonal-autoshift.considerations.md)」の「**練習実行について指定するアラーム**」セクションを参照してください。

1. オプションとして、ブロックされた時間枠または許可された時間枠を指定して、ARC による練習実行の開始をブロック、または ARC によるこのリソースの練習実行の開始を許可します。すべての日付と時刻は UTC で表示されます。

1. チェックボックスを選択して、確認メモを読んだことを確認します。

1. **[作成]** を選択します。

# 練習実行設定を編集するには


1. [https://console.aws.amazon.com/route53recovery/zonalshift/home#/autoshift](https://console.aws.amazon.com/route53recovery/zonalshift/home#/autoshift) で ARC コンソールを開きます。

1. **[リソースのゾーンオートシフト設定]** で、リソースを選択します。

1. **[アクション]** メニューで、**[練習実行設定を編集]** を選択します。

1. 練習実行設定に変更を加えて、次の 1 つ以上の操作を行います。
   + 例えば、以下のことができます。
     + ブロッキングアラームでは、1 つまたは複数のアラームを追加、またはアラームを削除できます。
     + 結果アラームでは、1 つまたは複数のアラームを追加、またはアラームを削除できます。少なくとも 1 つの結果アラームが必須であるため、設定内のすべての結果アラームを削除することはできません。
   + ブロックされる時間枠や許可される時間枠については、新しい日付や曜日と時刻を追加したり、既存の日付や曜日と時刻を削除または更新したりできます。すべての日付と時刻は UTC で表示されます。

1. **[保存]** を選択します。

# 練習実行設定を削除するには


1. [https://console.aws.amazon.com/route53recovery/zonalshift/home#/autoshift](https://console.aws.amazon.com/route53recovery/zonalshift/home#/autoshift) で ARC コンソールを開きます。

1. **[リソースのゾーンオートシフト設定]** で、リソースを選択します。

1. **[アクション]** メニューで、**[練習実行設定を削除]** を選択します。

1. 確認ダイアログボックスで、`Delete` と入力し、**[削除]** を選択します。

   コンソールで練習実行設定を削除すると、リソースのゾーンオートシフトも無効になることに注意してください。ゾーンオートシフトでは、リソースの練習実行を設定する必要があります。

# ゾーンオートシフトのキャンセル
<a name="arc-zonal-autoshift.canceling-an-autoshift"></a>

リソースの進行中のゾーンオートシフトを停止するには、ゾーンオートシフトをキャンセルする必要があります。

# 進行中のゾーンオートシフトを停止するには


1. [https://console.aws.amazon.com/route53recovery/zonalshift/home#/](https://console.aws.amazon.com/route53recovery/zonalshift/home#/) で ARC コンソールを開きます。

1. キャンセルするゾーンオートシフトを選択してから、**[ゾーンシフトをキャンセル]** を選択します。

1. ダイアログボックスで、**[確認]** を選択します。

# 練習実行ゾーンシフトの開始
<a name="arc-zonal-autoshift.start-practice-run"></a>

このセクションの手順では、ARC コンソールでオンデマンドの練習実行ゾーンシフトを開始する方法について説明します。ゾーンシフトとゾーンオートシフトをプログラムで操作する方法については、「[ゾーンシフトおよびゾーンオートシフト API リファレンスガイド](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/Welcome.html)」を参照してください。

ゾーンオートシフトを設定してから練習実行設定を作成すると、練習実行ゾーンシフトを開始できます。

# 練習実行ゾーンシフトを開始するには


1. [https://console.aws.amazon.com/route53recovery/zonalshift/home#/](https://console.aws.amazon.com/route53recovery/zonalshift/home#/) で ARC コンソールを開きます。

1. **[ゾーンオートシフトのリソース]** で、ゾーンオートシフトが設定された個々のリソースを参照します。

1. **[リソース概要]** ページで、**[練習実行を開始する]** を選択します。

1. アベイラビリティーゾーンを選択してから、練習実行のコメントを入力します。練習実行は、選択したアベイラビリティーゾーンからトラフィックを遠ざけます。

1. **[開始]** を選択します。

# 練習実行のゾーンシフトのキャンセル
<a name="arc-zonal-autoshift.cancel-practice-run"></a>

このセクションの手順では、ARC コンソールでゾーンシフトをキャンセルする方法について説明します。ゾーンシフトとゾーンオートシフトをプログラムで操作する方法については、「[ゾーンシフトおよびゾーンオートシフト API リファレンスガイド](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/Welcome.html)」を参照してください。

自分で開始したゾーンシフトまたは練習実行はキャンセルできます。ゾーンオートシフトの練習実行のリソースに対して AWS 開始されるゾーンシフトをキャンセルすることもできます。

# 練習実行のゾーンシフトをキャンセルするには


1. [https://console.aws.amazon.com/route53recovery/zonalshift/home#/](https://console.aws.amazon.com/route53recovery/zonalshift/home#/) で ARC コンソールを開きます。

1. キャンセルする練習実行のゾーンシフトを選択してから、**[ゾーンシフトをキャンセル]** または **[練習実行をキャンセル]** を選択します。

1. ダイアログボックスで、**[確認]** を選択します。

# オートシフトのオブザーバー通知の有効化または無効化
<a name="arc-zonal-autoshift.enable-autoshift-observer"></a>

がオートシフト AWS を開始して、障害の可能性があるアベイラビリティーゾーンからトラフィックを遠ざけるたびに、Amazon EventBridge を介して通知するようにゾーンオートシフトを設定できます。このオプションは、通知 AWS リージョン を受信する各 で設定する必要があります。これらの個別の通知を有効にするために、ゾーンオートシフトで特定のリソースを設定する必要はありません。詳細については、「[Amazon EventBridge でのゾーンオートシフトの使用](eventbridge-zonal-autoshift.md)」を参照してください。

このセクションの手順では、Amazon Application Recovery Controller (ARC) のコンソールを使用してオートシフトのオブザーバー通知を有効化する手順について説明します。ゾーンオートシフトをプログラムで操作する方法については、「[ゾーンシフトおよびゾーンオートシフト API リファレンスガイド](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/Welcome.html)」を参照してください。

# オートシフトのオブザーバー通知を有効または無効にするには


1. [https://console.aws.amazon.com/route53recovery/zonalshift/home#/](https://console.aws.amazon.com/route53recovery/zonalshift/home#/) で ARC コンソールを開きます。

1. **[利用開始]** で、**[オートシフトオブザーバー通知を有効にする]** を選択します。

1. 確認ダイアログボックスで、**[オブザーバー通知を有効にする]** を選択します。

# を使用したゾーンオートシフトのテスト AWS FIS
<a name="testing-zonal-autoshift-fis"></a>

 AWS Fault Injection Service を使用して、AZ ア[ベイラビリティー: 電源中断](https://docs.aws.amazon.com//fis/latest/userguide/az-availability-scenario.html)シナリオなどの実際の条件をシミュレートする実験をセットアップして実行できます。このシナリオは、AZ の障害が広範囲にまたがる可能性がある場合に、オートシフトが有効なリソースでゾーンオートシフトを開始したときに AWS 何が起こるかを示します。

`aws:arc:start-zonal-autoshift` 復旧の開始アクションを使用すると、 AWS がゾーンオートシフトが有効なリソースのトラフィックを、障害の可能性がある AZ から自動的に移行し、AZs 可用性シナリオの実行 AWS リージョン 中に同じ 内の正常な AZ に再ルーティングする方法を示すことができます。

たとえば、 AWS FIS シナリオライブラリを使用して、停電によって発生した AZ の障害をシミュレートできます。この実験では、AZ の電源中断が始まってから 5 分後に、復旧アクション `aws:arc:start-zonal-autoshift` によってリソーストラフィックが指定の AZ から自動的にシフトします。AZ の障害が広範囲に及ぶ可能性がある場合にオートシフトがどのようにトリガーされるかを示すため、トラフィックは停電の残りの 25 分間シフトされます。実験が完了すると、トラフィックのシフトが終了し、トラフィックはすべての AZ に再び流れ始めます。このプロセスは、AZ に影響を与える電力イベントからの完全な復旧を示します。

## 実験とゾーンオートシフト練習実行の違い
<a name="zonal-shift-vs-practice"></a>

AWS FIS 実験は、通常のプロセスの一環として ARC がリソースのトラフィックを 1 つの AZ から移行し、アプリケーションが AZ の損失を許容できるという点で、ゾーンオートシフトの練習実行とは異なります。ただし、実験中に AWS FIS 、 はユーザーに代わってオートシフトが有効なリソースに対して AZ の障害とオートシフトがどのようにトリガーされるか AWS FIS を示し、障害が解決されるとオートシフトをキャンセルします。

実行中に AWS FIS 開始ゾーンシフトを更新することはできません。さらに、 の外部でゾーンシフトをキャンセルすると AWS FIS、 AWS FIS 実験は終了します。

## AWS FIS 有効期限ベースの安全メカニズム
<a name="fis-safety-mechanism"></a>

AWS FIS は、[StartZonalShift](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_StartZonalShift.html)、[UpdateZonalShift](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_UpdateZonalShift.html)、および [CancelZonalShift](https://docs.aws.amazon.com/arc-zonal-shift/latest/api/API_CancelZonalShift.html) API オペレーションを使用してゾーンシフトを管理します。これらのリクエストの `expiresIn`フィールドは安全メカニズムとして 1 分に設定されています。これにより AWS FIS 、ネットワークの停止やシステムの問題などの予期しないイベントが発生した場合に、 はゾーンシフトを迅速にロールバックできます。ARC コンソールでは、有効期限フィールドが AWS FIS管理され、実際の予想される有効期限はゾーンシフトアクションで指定された期間によって決まります。練習実行の詳細については、「[ゾーンオートシフトと練習実行の仕組み](https://docs.aws.amazon.com//r53recovery/latest/dg/arc-zonal-autoshift.how-it-works.html)」を参照してください。

一度に適用できるゾーンシフトは 1 つのみです。つまり、1 つの練習のみが、リソースに対してゾーンシフト、お客様が開始したゾーンシフト、オートシフト、または AWS FIS 実験を実行します。2 番目のゾーンシフトが開始されると、ARC は優先順位に従いリソースに有効なゾーンシフトタイプを判断します。ゾーンシフトの優先順位の詳細については、「[ゾーンシフトの優先順位](arc-zonal-autoshift.how-it-works.precedence.md)」を参照してください。

 AWS FIS 復旧アクションの詳細については、「 *AWS Fault Injection Service ユーザーガイド*」の[AWS FIS 「復旧アクション](https://docs.aws.amazon.com//fis/latest/userguide/fis-actions-reference.html#fis-actions-recovery.html)」を参照してください。

# Amazon Application Recovery Controller (ARC) のゾーンオートシフトのログ記録とモニタリング
<a name="monitoring-zonal-autoshift"></a>

 AWS CloudTrail と Amazon EventBridge を使用して、Amazon Application Recovery Controller (ARC) でゾーンオートシフトをモニタリングし、パターンを分析し、問題のトラブルシューティングに役立てることができます。

**Topics**
+ [AWS CloudTrail を使用したゾーンオートシフト API コールのログ記録](cloudtrail-zonal-autoshift.md)
+ [Amazon EventBridge でのゾーンオートシフトの使用](eventbridge-zonal-autoshift.md)

# AWS CloudTrail を使用したゾーンオートシフト API コールのログ記録
<a name="cloudtrail-zonal-autoshift"></a>

ARC のゾーンオートシフトは、AWS CloudTrail と統合されています。これは、ARC のユーザー、ロール、または AWS のサービスで実行されたアクションを記録するためのサービスです。CloudTrail は、ゾーンシフトに対するすべての API コールをイベントとしてキャプチャします。キャプチャされたコールには、ARC コンソールからのコールと、ゾーンシフトの ARC API オペレーションへのコードコールが含まれます。

証跡を作成する場合は、ゾーンシフトのイベントを含む、Amazon S3 バケットへの CloudTrail イベントの継続的デリバリーを有効にすることができます。証跡を設定しない場合でも、CloudTrail コンソールの **[イベント履歴]** で最新のイベントを表示できます。

CloudTrail で収集した情報を使用して、ゾーンシフトの ARC に対するリクエスト、リクエスト元の IP アドレス、リクエストした人、リクエストが行われた日時などの詳細を確認できます。

CloudTrail の詳細については、「[AWS CloudTrail ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)」を参照してください。

## CloudTrail のゾーンオートシフト情報
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail は、AWS アカウントを作成すると、その中で有効になります。ゾーンオートシフトの ARC でアクティビティが発生すると、そのアクティビティは他の AWS サービスイベントと共に、**[イベント履歴]** 内で CloudTrail イベントに記録されます。最近のイベントは、AWS アカウント で表示、検索、ダウンロードできます。詳細については、「[CloudTrail イベント履歴の操作](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)」を参照してください。

ゾーンオートシフトの ARC のイベントなど、AWS アカウントで継続しているイベントの記録については、証跡を作成します。*証跡*により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。デフォルトでは、コンソールで証跡を作成するときに、証跡がすべての AWS リージョン に適用されます。証跡は、AWS パーティションのすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集したイベントデータをより詳細に分析し、それに基づいて対応するため、他の AWS サービスを構成できます。詳細については、次を参照してください:
+ [追跡を作成するための概要](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail がサポートされているサービスと統合](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [CloudTrail の Amazon SNS 通知の設定](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [複数のリージョンから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)および[複数のアカウントから CloudTrail ログファイルを受け取る](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

すべての ARC アクションは CloudTrail によってログに記録され、「[Amazon Application Recovery Controller のルーティングコントロール API リファレンスガイド](https://docs.aws.amazon.com/routing-control/latest/APIReference/)」に記載されています。例えば、`StartZonalShift` および `ListManagedResources` の各アクションを呼び出すと、CloudTrail ログファイルにエントリが生成されます。

各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます:
+ リクエストが、ルート認証情報と AWS Identity and Access Management (IAM) ユーザー認証情報のどちらを使用して送信されたか。
+ リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。
+ リクエストが別の AWS サービスによって行われたかどうか。

詳細については、「[CloudTrail userIdentity エレメント](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)」を参照してください。

## イベント履歴での ARC イベントの表示
<a name="amazon-arc-events-in-cloudtrail-event-history"></a>

CloudTrail では、[**イベント履歴**] に最近のイベントが表示されます。詳細については、「*AWS CloudTrail ユーザーガイド*」の「[CloudTrail イベント履歴の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)」を参照してください。

## ゾーンオートシフトログファイルエントリについて
<a name="understanding-service-name-entries"></a>

「トレイル」は、指定した Amazon S3 バケットにイベントをログファイルとして配信するように設定できます。CloudTrail のログファイルは、単一か複数のログエントリを含みます。イベントは任意ソースからの単一リクエストを表し、リクエストされたアクション、アクションの日時、リクエストパラメータなどの情報を含みます。CloudTrail ログファイルは、パブリック API 呼び出しの順序付けられたスタックトレースではないため、特定の順序では表示されません。

次の例は、ゾーンオートシフトの `ListManagedResources` アクションを実行する CloudTrail ログエントリです。

```
{
      "eventVersion": "1.08",
      "userIdentity": {
        "type": "AssumedRole",
        "principalId": "A1B2C3D4E5F6G7EXAMPLE",
        "arn": "arn:aws:iam::111122223333:role/admin",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "sessionContext": {
          "sessionIssuer": {
            "type": "Role",
            "principalId": "AROA33L3W36EXAMPLE",
            "arn": "arn:aws:iam::111122223333:role/admin",
            "accountId": "111122223333",
            "userName": "EXAMPLENAME"
          },
          "webIdFederationData": {},
          "attributes": {
            "creationDate": "2022-11-14T16:01:51Z",
            "mfaAuthenticated": "false"
          }
        }
      },
      "eventTime": "2022-11-14T16:14:41Z",
      "eventSource": "arc-zonal-shift.amazonaws.com",
      "eventName": "ListManagedResources",
      "awsRegion": "us-west-2",
      "sourceIPAddress": "192.0.2.50",
      "userAgent": "Boto3/1.17.101 Python/3.8.10 Linux/4.14.231-180.360.amzn2.x86_64 exec-env/AWS_Lambda_python3.8 Botocore/1.20.102",      
      "requestParameters": null,
      "responseElements": null,
      "requestID": "VGXG4ZUE7UZTVCMTJGIAF_EXAMPLE",
      "eventID": "4b5c42df-1174-46c8-be99-d67_EXAMPLE",
      "readOnly": true,
      "eventType": "AwsApiCall",
      "managementEvent": true,
      "recipientAccountId": "111122223333"
      "eventCategory": "Management"
      }
    }
```

# Amazon EventBridge でのゾーンオートシフトの使用
<a name="eventbridge-zonal-autoshift"></a>

Amazon EventBridge を使用すると、ゾーンオートシフトリソースをモニタリングし、他の AWS サービスを使用するターゲットアクションを開始するイベント駆動型ルールを設定できます。例えば、ゾーンオートシフトの練習実行が開始されたとき、Amazon SNS トピックに信号を伝達すると、E メール通知を送信するルールを設定できます。

Amazon EventBridge でゾーンオートシフトに関するルールを作成できます。ゾーンオートシフトのイベントは、練習実行が開始するときなどに、練習実行またはオートシフトに関するステータス情報を指定します。ゾーンオートシフトを設定して、サービスに対して有効にしたリソースのゾーンオートシフトイベントを通知できます。

他の通知に加えて、または他の通知の代わりに、オートシフトオブザーバー通知を有効にすることもできます。オートシフトオブザーバー通知は、 がアベイラビリティーゾーンのオートシフト AWS を開始するたびに通知イベントを提供します。オートシフトのオブザーバー通知は、ゾーンオートシフトで有効にしたリソースのトラフィックがアベイラビリティーゾーンから遠ざけられたときに受け取る通知とは異なります。オートシフトのオブザーバー通知を有効にするために、ゾーンオートシフトでリソースを設定する必要はありません。詳細については、「[ゾーンオートシフトの有効化と操作](arc-zonal-autoshift.start-cancel.md)」を参照してください。

関心のある特定のゾーンオートシフトイベントをキャプチャするには、そのイベント固有のパターンを定義し、イベントを検出する EventBridge がそれを使用できるようにします。イベントパターンは、一致するイベントと同じ構造をしています。イベントのパターンでは、照合する対象のフィールドを引用符で囲み、検出したい値を指定します。

イベントは、ベストエフォートベースで出力されます。通常の運用状況下では、ARC から EventBridge にほぼリアルタイムで配信されます。ただし、イベントの配信を遅らせたり妨げたりする状況が発生する場合もあります。

EventBridge ルールがイベントパターンでどのように機能するかについては、「[EventBridge のイベントとイベントパターン](https://docs.aws.amazon.com//eventbridge/latest/userguide/eventbridge-and-event-patterns.html)」を参照してください。

## EventBridge でゾーンオートシフトリソースをモニタリングする
<a name="arc-eventbridge-tasks-zonal-autoshift"></a>

EventBridge でルールを作成すると、ARC がリソースに対してイベントを発生したときに実行されるアクションを定義できます。例えば、練習実行がゾーンオートシフトを開始したときに E メールメッセージを送信するルールを作成できます。

EventBridge コンソールにイベントパターンを入力またはコピーするには、コンソールの **[独自のサンプルイベントを入力]** オプションを選択します。有用なイベントパターンを決める際の参考になるように、このトピックでは、使用できる[ゾーンオートシフトイベントマッチングパターン](#ZAEventBridgePatterns)と[ゾーンオートシフトイベント](#ZAEventBridgeEventSamples)の両方の例を紹介します。

**リソースイベントのルールを作成するには**

1. Amazon EventBridge コンソールの [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) を開いてください。

1. ルール AWS リージョン を作成する 、つまりイベントを視聴するリージョンを選択します。

1. [**Create rule**] を選択します。

1. ルールの [**Name (名前)**] を入力し、必要に応じて説明を入力します。

1. **[イベントバス]** については、デフォルト値の **[デフォルト]** のままにします。

1. [**次へ**] を選択します。

1. **[イベントパターンを構築]** ステップでは、**[イベントソース]** はデフォルト値の **[AWS イベント]** のままにします。

1. **[サンプルイベント]** で **[独自のサンプルイベントを入力]** を選択します。

1. **[サンプルイベント]** には、イベントパターンを入力するか、コピーして貼り付けます。

## ゾーンオートシフトイベントパターンの例
<a name="arc-eventbridge-patterns-zonal-autoshift"></a>

イベントパターンは、一致するイベントと同じ構造をしています。イベントのパターンでは、照合する対象のフィールドを引用符で囲み、検出したい値を指定します。

このセクションのイベントパターンをコピーして EventBridge に貼り付け、ゾーンオートシフトのアクションとリソースの監視に使用できるルールを作成できます。

ゾーンオートシフトイベントのイベントパターンを作成するときには、`detail-type` に以下のいずれかを指定できます。
+ `Autoshift In Progress`
+ `Autoshift Completed`
+ `Practice Run Started`
+ `Practice Run Succeeded`
+ `Practice Run Interrupted`
+ `Practice Run Failed`
+ `FIS Experiment Autoshift In Progress`
+ `FIS Experiment Autoshift Completed`
+ `FIS Experiment Autoshift Canceled`
+ `Manual Shift Started`
+ `Manual Shift Updated`
+ `Manual Shift Canceled`

練習実行が中断されたとき、中断の原因について詳しくは、`additionalFailureInfo` フィールドを参照してください。

 AWS Autoshift オブ*ザーバー通知を有効にすることで、すべての Autoshift* をモニタリングすることを選択できます。オートシフトのオブザーバー通知を有効にした後、通知を受信するには、ゾーンオートシフトの詳細タイプ `Autoshift In Progress` の通知を受け取ることを選択します。オートシフトのオブザーバー通知を有効にする手順については、「[ゾーンオートシフトの有効化と操作](arc-zonal-autoshift.start-cancel.md)」を参照してください。

例については、「[ゾーンオートシフトイベントの例](#ZAEventBridgeEventSamples)」セクションを参照してください。
+ *オートシフトが開始されたゾーンオートシフトからすべてのイベントを選択します。*

  次の点に注意してください。
  + オートシフトのオブザーバー通知を有効にした場合、ARC はすべてのオートシフトイベントを返します。
  + オートシフトのオブザーバー通知を有効にしていない場合、ゾーンオートシフト用に設定したリソースがオートシフトに含まれている場合にのみ、ARC はオートシフトイベントを返します。

  ```
  {
      "source": [
          "aws.arc-zonal-shift"
      ],
      "detail-type": [
          "Autoshift In Progress"
      ]
  }
  ```
+ *練習実行が開始されたゾーンオートシフトからすべてのイベントを選択します。*

  ```
  {
      "source": [
          "aws.arc-zonal-shift"
      ],
      "detail-type": [
          "Practice Run Started"
      ]
  }
  ```
+ *練習実行が失敗したゾーンオートシフトからすべてのイベントを選択します。*

  ```
  {
      "source": [
          "aws.arc-zonal-shift"
      ],
      "detail-type": [
          "Practice Run Failed"
      ]
  }
  ```

## ゾーンオートシフトイベントの例
<a name="arc-eventbridge-examples-zonal-autoshift"></a>

このセクションでは、*ゾーンオートシフト*アクションのイベント例について説明します。

以下は、`Autoshift In Progress` アクションのイベント例です。1) オートシフトのオブザーバー通知が*有効*である場合。2) オートシフトに含まれるゾーンオートシフトでリソースを設定していない場合。

```
{
    "version": "0",
    "id": "05d4d2d5-9c76-bfea-72d2-d4614802adb4",
    "detail-type": "Autoshift In Progress",
    "source": "aws.arc-zonal-shift",
    "account": "111122223333",
    "time": "2023-11-16T23:38:14Z",
    "region": "us-east-1",
    "resources": [],
    "detail": {
        "version": "0.0.1",
        "data": "",
        "metadata": {
            "awayFrom": "use1-az2",
            "notes":"AWS has started an autoshift for an impaired Availability Zone. This notification 
            is separate from autoshift notifications for resources, if any, that you have configured for 
            zonal autoshift. For details, see the Developer Guide."
        }
    }
}
```

以下は、`Autoshift In Progress` アクションのイベント例です。1) オートシフトのオブザーバー通知が*無効*である場合。2) オートシフトに含まれるゾーンオートシフトでリソースを設定している場合。

```
{
    "version": "0",
    "id": "05d4d2d5-9c76-bfea-72d2-d4614802adb4",
    "detail-type": "Autoshift In Progress",
    "source": "aws.arc-zonal-shift",
    "account": "111122223333",
    "time": "2023-11-16T23:38:14Z",
    "region": "us-east-1",
    "resources": [
        "TEST-EXAMPLE-2023-11-16-23-28-11-5"
    ],
    "detail": {
        "version": "0.0.1",
        "data": "",
        "metadata": {
            "awayFrom": "use1-az2",
            "notes":""
        }
    }
}
```

以下は、`Practice Run Interrupted` アクションのイベント例です。

```
{
    "version": "0",
    "id": "05d4d2d5-9c76-bfea-72d2-d4614802adb4",
    "detail-type": "Practice Run Interrupted",
    "source": "aws.arc-zonal-shift",
    "account": "111122223333",
    "time": "2023-11-16T23:38:14Z",
    "region": "us-east-1",
    "resources": [
        "TEST-EXAMPLE-2023-11-16-23-28-11-5"
    ],
    "detail": {
        "version": "0.0.1",
        "data": {
            "additionalFailureInfo": "Practice run interrupted. The blocking alarm entered ALARM state."
        },
        "metadata": {
            "awayFrom": "use1-az2"
        }
    }
}
```

以下は、`FIS Experiment Autoshift In Progress` アクションのイベント例です。

```
{
    "version": "0",
    "id": "05d4d2d5-9c76-bfea-72d2-d4614802adb4",
    "detail-type": "FIS Experiment Autoshift In Progress",
    "source": "aws.arc-zonal-shift",
    "account": "111122223333",
    "time": "2023-11-16T23:38:14Z",
    "region": "us-east-1",
    "resources": [
        "TEST-EXAMPLE-2023-11-16-23-28-11-5"
    ],
    "detail": {
        "version": "0.0.1",
        "data": "",
        "metadata": {
            "awayFrom": "use1-az2",
            "notes":""
        }
    }
}
```

以下は、 `Manual Shift Started`アクションのイベント例です。これは、`StartZonalShift`API がリソースで呼び出されたときに出力されます。

```
{
    "version": "0",
    "id": "05d4d2d5-9c76-bfea-72d2-d4614802adb4",
    "detail-type": "Manual Shift Started",
    "source": "aws.arc-zonal-shift",
    "account": "111122223333",
    "time": "2023-11-16T23:38:14Z",
    "region": "us-east-1",
    "resources": [
        "TEST-EXAMPLE-2023-11-16-23-28-11-5"
    ],
    "detail": {
        "version": "0.0.1",
        "data": "",
        "metadata": {
            "awayFrom": "use1-az2",
            "notes":""
        }
    }
}
```

## ターゲットとして使用する CloudWatch ロググループを指定する
<a name="arc-eventbridge-cw-loggroup"></a>

EventBridge ルールを作成するときは、ルールに一致するイベントの送信先のターゲットを指定する必要があります。EventBridge で利用できるターゲットの一覧については、「[EventBridge コンソールで使用可能なターゲット](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-targets.html#eb-console-targets)」を参照してください。EventBridge ルールに追加できるターゲットの 1 つは、Amazon CloudWatch ロググループです。このセクションでは、CloudWatch ロググループをターゲットとして追加するための要件と、ルール作成時にロググループを追加する手順について説明します。

CloudWatch ロググループをターゲットとして追加するには、次のいずれかを実行します。
+ 新しいロググループを作成する 
+ 既存のロググループを選択する

ルールの作成時にコンソールを使用して新しいロググループを指定する場合は、EventBridge によって自動的にロググループが作成されます。EventBridge ルールのターゲットとして使用するロググループが `/aws/events` で始まることを確認します。既存のロググループを選択する場合は、`/aws/events` で始まるロググループのみがドロップダウンメニューのオプションとして表示されることに注意してください。詳細については、「*Amazon CloudWatch ユーザーガイド*」の「[新しいロググループを作成する](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#Create-Log-Group)」を参照してください。

コンソール外で CloudWatch オペレーションを使用して CloudWatch ロググループを作成またはターゲットとして使用する場合は、アクセス許可を正しく設定していることを確認してください。コンソールを使用して EventBridge ルールにロググループを追加すると、ロググループのリソースベースのポリシーが自動的に更新されます。ただし、 AWS Command Line Interface または AWS SDK を使用してロググループを指定する場合は、ロググループのリソースベースのポリシーを更新する必要があります。次のポリシー例は、ロググループのリソースベースのポリシーで定義する必要があるアクセス許可を示しています。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 

    "Statement": [
        {
            "Action": [
                "logs:CreateLogStream",
                "logs:PutLogEvents"
            ],
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "events.amazonaws.com",
                    "delivery.logs.amazonaws.com"
                ]
            },
            "Resource": "arn:aws:logs:us-east-1:222222222222:log-group:/aws/events/*:*",
            "Sid": "TrustEventsToStoreLogEvent"
        }
    ]
}
```

------

コンソールを使用してロググループのリソースベースのポリシーを設定することはできません。必要なアクセス許可をリソースベースのポリシーに追加するには、CloudWatch [PutResourcePolicy](https://docs.aws.amazon.com/AmazonCloudWatchLogs/latest/APIReference/API_PutResourcePolicy.html) API オペレーションを使用します。次に、[describe-resource-policies](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/describe-resource-policies.html) CLI コマンドを使用して、ポリシーが正しく適用されたことを確認できます。

**リソースイベントのルールを作成して CloudWatch ロググループターゲットを指定するには**

1. Amazon EventBridge コンソールの [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/) を開いてください。

1. ルール AWS リージョン を作成する を選択します。

1. **[ルールの作成]** を選択して、イベントパターンまたはスケジュールの詳細など、そのルールに関する情報を入力します。

   ARC の EventBridge ルール作成の詳細については、このトピックの前半のセクションを参照してください。

1. **[ターゲットを選択]** ページで、ターゲットとして **[CloudWatch]** を選択します。

1. ドロップダウンメニューから CloudWatch ロググループを選択します。

# ARC でのゾーンオートシフトの Identity and Access Management
<a name="security-iam-zonalautoshift"></a>

AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、誰が*認証* (サインイン) でき、誰が ARC リソースの使用を*許可される* (権限を持つ) かを制御します。IAM は、追加料金なしで使用できる AWS のサービス です。

**Topics**
+ [ゾーンオートシフトを IAM と連携させる方法](security_iam_service-with-iam-zonalautoshift.md)
+ [アイデンティティベースのポリシーの例](security_iam_id-based-policy-examples-zonalautoshift.md)
+ [サービスリンクロール](using-service-linked-roles-zonal-autoshift.md)
+ [AWS マネージドポリシー](security-iam-awsmanpol-zonal-autoshift.md)

# ARC のゾーンオートシフトを IAM と連携させる方法
<a name="security_iam_service-with-iam-zonalautoshift"></a>

IAM を使用して Amazon Application Recovery Controller (ARC) のゾーンオートシフトへのアクセスを管理する前に、ゾーンオートシフトで使用できる IAM 機能について説明します。


**ARC のゾーンオートシフトで使用できる IAM の機能**  

| IAM 機能 | ゾーンオートシフトのサポート | 
| --- | --- | 
|  [アイデンティティベースのポリシー](#security_iam_service-with-iam-zonalautoshift-id-based-policies)  |   あり  | 
|  [リソースベースのポリシー](#security_iam_service-with-iam-zonalautoshift-resource-based-policies)  |   なし   | 
|  [ポリシーアクション](#security_iam_service-with-iam-zonalautoshift-id-based-policies-actions)  |   あり  | 
|  [ポリシーリソース](#security_iam_service-with-iam-zonalautoshift-id-based-policies-resources)  |   あり  | 
|  [ポリシー条件キー](#security_iam_service-with-iam-zonalautoshift-id-based-policies-conditionkeys)  |   あり  | 
|  [ACL](#security_iam_service-with-iam-zonalautoshift-acls)  |   なし   | 
|  [ABAC (ポリシー内のタグ)](#security_iam_service-with-iam-zonalautoshift-tags)  |   部分的  | 
|  [一時認証情報](#security_iam_service-with-iam-zonalautoshift-roles-tempcreds)  |   あり  | 
|  [プリンシパルアクセス権限](#security_iam_service-with-iam-zonalautoshift-principal-permissions)  |   あり  | 
|  [サービスロール](#security_iam_service-with-iam-zonalautoshift-roles-service)  |   いいえ   | 
|  [サービスリンクロール](#security_iam_service-with-iam-zonalautoshift-roles-service-linked)  |   はい  | 

 AWS サービスがほとんどの IAM 機能と連携する方法の概要を把握するには、「IAM *ユーザーガイド*」の[AWS 「IAM と連携する のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## ARC のアイデンティティベースのポリシー
<a name="security_iam_service-with-iam-zonalautoshift-id-based-policies"></a>

**アイデンティティベースのポリシーのサポート:** あり

アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「*IAM ユーザーガイド*」の「[カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」を参照してください。

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「*IAM ユーザーガイド*」の「[IAM JSON ポリシーの要素のリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html)」を参照してください。

ARC のアイデンティティベースのポリシーの例を表示するには、「[Amazon Application Recovery Controller (ARC) のアイデンティティベースのポリシーの例](security_iam_id-based-policy-examples.md)」を参照してください。

## ARC 内のリソースベースのポリシー
<a name="security_iam_service-with-iam-zonalautoshift-resource-based-policies"></a>

**リソースベースのポリシーのサポート:** なし 

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM ロールの信頼ポリシーや Amazon S3 バケットポリシーがあげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。

## ARC のポリシーアクション
<a name="security_iam_service-with-iam-zonalautoshift-id-based-policies-actions"></a>

**ポリシーアクションのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

JSON ポリシーの `Action` 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

ゾーンオートシフトにおける ARC アクションのリストを確認するには、「[サービス認証リファレンス](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53applicationrecoverycontroller-zonalshift-actions-as-permissions)」の「*Amazon Route 53 - ゾーンシフトで定義されるアクション*」を参照してください。

ARC におけるゾーンオートシフト用ポリシーのアクションでは、アクションの前に次のプレフィックスを使用しています。

```
arc-zonal-shift
```

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。例えば、次のようになります。

```
"Action": [
      "arc-zonal-shift:action1",
      "arc-zonal-shift:action2"
         ]
```

ワイルドカード (\$1) を使用して複数アクションを指定できます。例えば、`Describe` という単語で始まるすべてのアクションを指定するには次のアクションを含めます。

```
"Action": "arc-zonal-shift:Describe*"
```

ゾーンオートシフトにおける ARC のアイデンティティベースのポリシーの例を表示するには、「[ARC でのゾーンオートシフトのアイデンティティベースのポリシー例](security_iam_id-based-policy-examples-zonalautoshift.md)」を参照してください。

## ARC のゾーンオートシフトのポリシーリソース
<a name="security_iam_service-with-iam-zonalautoshift-id-based-policies-resources"></a>

**ポリシーリソースのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件**下で**アクション**を実行できるかということです。

`Resource` JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、[Amazon リソースネーム (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (\$1) を使用します。

```
"Resource": "*"
```

リソースタイプとその ARN のリスト、および各リソースの ARN で指定できるアクションについては、「*サービス認証リファレンス*」の以下のトピックを参照してください。
+ [Amazon Route 53 - ゾーンシフトで定義されるアクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53applicationrecoverycontroller-zonalshift-actions-as-permissions)

条件キーで使用できるアクションとリソースについては、「*サービス認証リファレンス*」の以下のトピックを参照してください。
+ [Amazon Route 53 - ゾーンシフトで定義される条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html#amazonroute53applicationrecoverycontroller-zonalshift-policy-keys)

ゾーンオートシフトにおける ARC のアイデンティティベースのポリシーの例を表示するには、「[ARC でのゾーンオートシフトのアイデンティティベースのポリシー例](security_iam_id-based-policy-examples-zonalautoshift.md)」を参照してください。

## ARC のゾーンオートシフトのポリシー条件キー
<a name="security_iam_service-with-iam-zonalautoshift-id-based-policies-conditionkeys"></a>

**サービス固有のポリシー条件キーのサポート:** あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どの**プリンシパル**がどの**リソース**に対してどのような**条件下で****アクション**を実行できるかということです。

`Condition` 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの[条件演算子](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html)を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、*「IAM ユーザーガイド*」の[AWS 「グローバル条件コンテキストキー](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html)」を参照してください。

ARC の条件キーのリストについては、「*サービス認証リファレンス*」の以下のトピックを参照してください。
+ [Amazon Route 53 ゾーンシフトの条件キー](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonroute53applicationrecoverycontroller-zonalshift.html#amazonroute53applicationrecoverycontroller-zonalshift-policy-keys)

条件キーで使用できるアクションとリソースについては、「サービス認証リファレンス」の以下のトピックを参照してください。**
+ [Amazon Route 53 ゾーンシフトで定義されるアクション](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonroute53applicationrecoverycontroller-zonalshift.html#amazonroute53applicationrecoverycontroller-zonalshift-actions-as-permissions)

ゾーンオートシフトにおける ARC のアイデンティティベースのポリシーの例を表示するには、「[ARC でのゾーンオートシフトのアイデンティティベースのポリシー例](security_iam_id-based-policy-examples-zonalautoshift.md)」を参照してください。

## ARC のアクセスコントロールリスト (ACL)
<a name="security_iam_service-with-iam-zonalautoshift-acls"></a>

**ACL のサポート:** なし 

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするためのアクセス許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

## ARC での属性ベースのアクセス制御 (ABAC)
<a name="security_iam_service-with-iam-zonalautoshift-tags"></a>

**ABAC (ポリシー内のタグ) のサポート:** 一部

属性ベースのアクセスコントロール (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可するように ABAC ポリシーを設計できます。

タグに基づいてアクセスを管理するには、`aws:ResourceTag/key-name`、`aws:RequestTag/key-name`、または `aws:TagKeys` の条件キーを使用して、ポリシーの[条件要素](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html)でタグ情報を提供します。

サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値は**あり**です。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「**部分的**」になります。

ABAC の詳細については、「*IAM ユーザーガイド*」の「[ABAC 認可でアクセス許可を定義する](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html)」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「*IAM ユーザーガイド*」の「[属性ベースのアクセスコントロール (ABAC) を使用する](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html)」を参照してください。

ARC のゾーンオートシフトには、ABAC に対する以下の部分的なサポートが含まれています。
+ ゾーンオートシフトは、ゾーンシフト用に ARC に登録されている、マネージドリソースの ABAC をサポートしています。Network Load Balancer と Application Load Balancer マネージドリソースにおける ABAC の詳細については、「Elastic Load Balancing ユーザーガイド」の「[Elastic Load Balancing での ABAC](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/security_iam_service-with-iam.html#security_iam_service-with-iam-tags)」を参照してください。

## ARC での一時的な認証情報の使用
<a name="security_iam_service-with-iam-zonalautoshift-roles-tempcreds"></a>

**一時的な認証情報のサポート:** あり

一時的な認証情報は、 AWS リソースへの短期的なアクセスを提供し、フェデレーションまたはスイッチロールの使用時に自動的に作成されます。長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成 AWS することをお勧めします。詳細については、「*IAM ユーザーガイド*」の「[IAM の一時的な認証情報](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html)」および「[AWS のサービス と IAM との連携](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。

## ARC のクロスサービスプリンシパル権限
<a name="security_iam_service-with-iam-zonalautoshift-principal-permissions"></a>

**転送アクセスセッション (FAS) のサポート:** あり

IAM エンティティ (ユーザーまたはロール) を使用して でアクションを実行すると AWS、プリンシパルと見なされます。ポリシーによって、プリンシパルに許可が付与されます。一部のサービスを使用する際に、アクションを実行することで、別サービスの別アクションがトリガーされることがあります。この場合、両方のアクションを実行するためのアクセス許可が必要です。

アクションにポリシーで追加の依存アクションが必要かどうかを確認するには、「*サービス認証リファレンス*」の以下のトピックを参照してください。
+ [ Amazon Route 53 ゾーンシフト](https://docs.aws.amazon.com//service-authorization/latest/reference/list_amazonroute53applicationrecoverycontroller-zonalshift.html)

## ARC のサービスロール
<a name="security_iam_service-with-iam-zonalautoshift-roles-service"></a>

**サービスロールのサポート:** なし 

 サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける [IAM ロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)です。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、IAM ユーザーガイド**の [AWS のサービスに許可を委任するロールを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)を参照してください。

## ARC のサービスにリンクされたロール
<a name="security_iam_service-with-iam-zonalautoshift-roles-service-linked"></a>

**サービスリンクロールのサポート:** あり

 サービスにリンクされたロールは、 にリンクされたサービスロールの一種です AWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示され AWS アカウント 、サービスによって所有されます。IAM 管理者は、サービスリンクロールのアクセス許可を表示できますが、編集することはできません。

ARC サービスにリンクされたロールの作成または管理の詳細については、「[ARC でのゾーンオートシフトのサービスにリンクされたロールの使用](using-service-linked-roles-zonal-autoshift.md)」を参照してください。

サービスにリンクされたロールの作成または管理の詳細については、「[IAM と提携するAWS のサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照してください。表の「**サービスリンクロール**」列に `Yes` と記載されたサービスを見つけます。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、**[はい]** リンクを選択します。

# ARC でのゾーンオートシフトのアイデンティティベースのポリシー例
<a name="security_iam_id-based-policy-examples-zonalautoshift"></a>

デフォルトでは、ユーザーおよびロールには、ARC リソースを作成または変更する権限はありません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。

これらのサンプルの JSON ポリシードキュメントを使用して IAM アイデンティティベースのポリシーを作成する方法については、「*IAM ユーザーガイド*」の「[IAM ポリシーを作成する (コンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html)」を参照してください。

ARC が定義するアクションとリソースタイプの詳細 (各リソースタイプの ARN の形式を含む) については、「*サービス認証リファレンス*」の「[Amazon Application Recovery Controller (ARC) のアクション、リソース、および条件キー](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonroute53recoverycontrols.html)」を参照してください。

**Topics**
+ [ポリシーに関するベストプラクティス](#security_iam_service-with-iam-policy-best-practices-zonal)
+ [例: ゾーンオートシフトコンソールアクセス](#security_iam_id-based-policy-examples-console-zonalautoshift)
+ [例: ARC API アクション](#security_iam_id-based-policy-examples-api-zonalautoshift)

## ポリシーに関するベストプラクティス
<a name="security_iam_service-with-iam-policy-best-practices-zonal"></a>

ID ベースのポリシーは、ユーザーのアカウントで誰かが ARC リソースを作成、アクセス、または削除できるどうかを決定します。これらのアクションでは、 AWS アカウントに費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
+ ** AWS 管理ポリシーを開始し、最小特権のアクセス許可に移行する** – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与する*AWS 管理ポリシー*を使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、*IAM ユーザーガイド* の [AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) または [ジョブ機能のAWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html) を参照してください。
+ **最小特権を適用する** – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、*IAM ユーザーガイド* の [IAM でのポリシーとアクセス許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html) を参照してください。
+ **IAM ポリシーで条件を使用してアクセスをさらに制限する** - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合に AWS のサービス、サービスアクションへのアクセスを許可することもできます CloudFormation。詳細については、*IAM ユーザーガイド* の [IAM JSON ポリシー要素:条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) を参照してください。
+ **IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する** - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、*IAM ユーザーガイド* の [IAM Access Analyzer でポリシーを検証する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-policy-validation.html) を参照してください。
+ **多要素認証 (MFA) を要求する** – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、*IAM ユーザーガイド* の [MFA を使用した安全な API アクセス](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html) を参照してください。

IAM でのベストプラクティスの詳細については、*IAM ユーザーガイド* の [IAM でのセキュリティのベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) を参照してください。

## 例: ゾーンオートシフトコンソールアクセス
<a name="security_iam_id-based-policy-examples-console-zonalautoshift"></a>

Amazon Application Recovery Controller (ARC) コンソールにアクセスするには、最小限のアクセス許可セットが必要です。これらのアクセス許可により、 の ARC リソースの詳細を一覧表示および表示できます AWS アカウント。最小限必要な許可よりも制限が厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。

 AWS CLI または AWS API のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。

一部のタスクを実行するには、ユーザーは ARC のゾーンオートシフトに関連付けられているサービスにリンクされたロールを作成するアクセス許可を持っている必要があります。詳細については[ARC でのゾーンオートシフトのサービスにリンクされたロールの使用](using-service-linked-roles-zonal-autoshift.md)を参照してください。

でゾーンオートシフトを使用するためのフルアクセスをユーザーに付与するには AWS マネジメントコンソール、次のようなポリシーをユーザーにアタッチします。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                   "arc-zonal-shift:ListManagedResources",
                   "arc-zonal-shift:GetManagedResource",
                   "arc-zonal-shift:ListZonalShifts",
                   "arc-zonal-shift:StartZonalShift",
                   "arc-zonal-shift:UpdateZonalShift",
                   "arc-zonal-shift:CancelZonalShift",
                   "arc-zonal-shift:CreatePracticeRunConfiguration",
                   "arc-zonal-shift:DeletePracticeRunConfiguration",
                   "arc-zonal-shift:ListAutoshifts",
                   "arc-zonal-shift:UpdatePracticeRunConfiguration",
                   "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
             ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "ec2:DescribeAvailabilityZones",
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": "cloudwatch:DescribeAlarms",
            "Resource": "*"
        }
    ]
}
```

------

## 例: ARC API アクション
<a name="security_iam_id-based-policy-examples-api-zonalautoshift"></a>

ポリシーを使用して、ユーザーがゾーンオートシフトの ARC API アクションを使用してゾーンオートシフトを設定し、 がユーザーに代わってアプリケーションリソーストラフィックをアベイラビリティーゾーンから の正常な AZs AWS にシフトして AWS リージョン、イベント中の復旧時間を短縮できるようにします。これらのアクセス許可を付与するには、以下で説明するように、ユーザーが操作する必要がある API オペレーションに対応するポリシーをアタッチします。

一部のタスクを実行するには、ユーザーは ARC に関連付けられているサービスにリンクされたロールのアクセス許可を持っている必要があります。サービスにリンクされたロールの作成に必要なアクセス許可は、次のポリシー例に含まれています。詳細については[ARC でのゾーンオートシフトのサービスにリンクされたロールの使用](using-service-linked-roles-zonal-autoshift.md)を参照してください。

ゾーンオートシフト用の API オペレーションを使用するには、次のようなポリシーをユーザーにアタッチします。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [		
                   "arc-zonal-shift:ListManagedResources",
                   "arc-zonal-shift:GetManagedResource",
                   "arc-zonal-shift:ListZonalShifts",
                   "arc-zonal-shift:StartZonalShift",
                   "arc-zonal-shift:UpdateZonalShift",
                   "arc-zonal-shift:CancelZonalShift",
                   "arc-zonal-shift:CreatePracticeRunConfiguration",
                   "arc-zonal-shift:DeletePracticeRunConfiguration",
                   "arc-zonal-shift:ListAutoshifts",
                   "arc-zonal-shift:UpdatePracticeRunConfiguration",
                   "arc-zonal-shift:UpdateZonalAutoshiftConfiguration"
             ],
            "Resource": "*"
        },
        {
            "Effect" : "Allow",
            "Action" : [
                    "cloudwatch:DescribeAlarms",
                    "health:DescribeEvents"
            ],
            "Resource" : "*"
        },
        {
            "Effect" : "Allow",
            "Action" : [
                    "arc-zonal-shift:CancelZonalShift",
                    "arc-zonal-shift:GetManagedResource",
                    "arc-zonal-shift:StartZonalShift",
                    "arc-zonal-shift:UpdateZonalShift"
            ],
            "Resource" : "*"
        }
    ]
}
```

------

# ARC でのゾーンオートシフトのサービスにリンクされたロールの使用
<a name="using-service-linked-roles-zonal-autoshift"></a>

Amazon Application Recovery Controller のゾーンオートシフトは、 AWS Identity and Access Management (IAM)[ サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role)を使用します。サービスにリンクされたロールは、サービスに直接リンクされた一意のタイプの IAM ロールです。この場合は ARC です。サービスにリンクされたロールは ARC によって事前定義されており、特定の目的でサービスがユーザーに代わって他の AWS サービスを呼び出すために必要なすべてのアクセス許可が含まれています。

サービスにリンクされたロールを使用すると、必要なアクセス許可を手動で追加する必要がなくなるため、ARC の設定が簡単になります。ARC はサービスにリンクされたロールのアクセス許可を定義します。特に定義されている場合を除き、ARC のみがそのロールを引き受けることができます。定義されるアクセス許可には、信頼ポリシーと許可ポリシーが含まれており、その許可ポリシーを他の IAM エンティティにアタッチすることはできません。

サービスリンクロールを削除するには、まずその関連リソースを削除します。これにより、リソースへのアクセス許可を誤って削除できないため、ARC ゾーンオートシフトリソースが保護されます。

サービスにリンクされたロールをサポートする他のサービスの詳細については、[AWS 「IAM と連携するサービス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html)」を参照し、「サービス**にリンクされたロール**」列で**「はい**」があるサービスを探します。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、**はい**リンクを選択します。

## AWSServiceRoleForZonalAutoshiftPracticeRun のサービスリンクロールアクセス許可
<a name="slr-permissions-slr2"></a>

ARC は、**AWSServiceRoleForZonalAutoshiftPracticeRun** という名前のサービスにリンクされたロールを使用して以下を実行します。
+ お客様が用意した Amazon CloudWatch アラームと顧客 Health Dashboard イベントをモニタリングして、練習実行を行います。
+ 練習実行 (練習のゾーンシフト) を管理します。

このセクションでは、サービスリンクロールのアクセス許可と、ロールの作成、編集、および削除に関して説明します。

### AWSServiceRoleForZonalAutoshiftPracticeRun のサービスリンクロールアクセス許可
<a name="slr-permissions-slr2-permissions"></a>

このサービスリンクロールは、マネージドポリシーである `AWSZonalAutoshiftPracticeRunSLRPolicy` を使用します。

**AWSServiceRoleForZonalAutoshiftPracticeRun** サービスリンクロールは、以下のサービスを信頼してロールを引き受けます。
+ `practice-run.arc-zonal-shift.amazonaws.com`

このポリシーのアクセス許可を確認するには、「 *AWS マネージドポリシーリファレンス*」の[AWSZonalAutoshiftPracticeRunSLRPolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AWSZonalAutoshiftPracticeRunSLRPolicy.html)」を参照してください。

サービスリンク役割の作成、編集、削除を IAM エンティティ (ユーザー、グループ、役割など) に許可するにはアクセス許可を設定する必要があります。詳細については、*「IAM User Guide」*(IAM ユーザーガイド) の[「Service-linked role permissions」](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#service-linked-role-permissions)(サービスにリンクされたロールのアクセス権限) を参照してください。

### ARC 用の **AWSServiceRoleForZonalAutoshiftPracticeRun** サービスリンクロールの作成
<a name="create-slr2"></a>

**AWSServiceRoleForZonalAutoshiftPracticeRun** サービスリンクロールを手動で作成する必要はありません。 AWS マネジメントコンソール、、 AWS CLIまたは AWS SDK で最初の練習実行設定を作成すると、ARC によってサービスにリンクされたロールが作成されます。

このサービスリンクロールを削除した後で再度作成する必要が生じた場合は同じ方法でアカウントにロールを再作成できます。最初の練習実行設定を作成すると、ARC はサービスにリンクされたロールを再度作成します。

### ARC の **AWSServiceRoleForZonalAutoshiftPracticeRun** サービスにリンクされたロールの編集
<a name="edit-slr"></a>

ARC では、**AWSServiceRoleForZonalAutoshiftPracticeRun** サービスにリンクされたロールを編集することはできません。サービスリンクロールの作成後は、他のエンティティがロールを参照する可能性があるため、ロールの名前を変更することはできません。ただし、IAM を使用してロールの説明を編集することはできます。詳細については、「IAM ユーザーガイド」の「サービスリンクロールの編集」を参照してください。

### ARC の **AWSServiceRoleForZonalAutoshiftPracticeRun** サービスにリンクされたロールの削除
<a name="delete-slr"></a>

サービスリンクロールを必要とする機能やサービスが不要になった場合は、ロールを削除することをお勧めします。そうすることで、モニタリングや保守が積極的に行われていない未使用のエンティティを排除できます。ただし、手動で削除する前に、サービスリンクロールのリソースをクリーンアップする必要があります。

オートシフトを無効にした後、**AWSServiceRoleForZonalAutoshiftPracticeRun** サービスリンクロールを削除できます。オートシフト機能の詳細については、「[ARC のゾーンシフト](arc-zonal-shift.md)」を参照してください。

**注記**  
リソースを削除しようとしたときに ARC サービスがロールを使用している場合、サービスロールの削除が失敗する可能性があります。失敗した場合は、数分待ってからロールの削除をもう一度試してください。

**サービスリンクロールを IAM で手動削除するには**

IAM コンソール、 AWS CLI、または AWS API を使用して、AWSServiceRoleForZonalAutoshiftPracticeRun サービスにリンクされたロールを削除します。詳細については、 IAM ユーザーガイド の「[サービスにリンクされたロールの削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html#delete-service-linked-role)」を参照してください。

## ゾーンオートシフトの ARC サービスにリンクされたロールの更新
<a name="security-iam-awsmanpol-zonal-autoshift-updates"></a>

ARC サービスにリンクされたロールの AWS マネージドポリシーの更新については、ARC の [AWS マネージドポリシーの更新表](security-iam-awsmanpol.md#security-iam-awsmanpol-arc-updates)を参照してください。ARC [ドキュメント履歴ページで](doc-history.md)自動 RSS アラートをサブスクライブすることもできます。

# AWS ARC でのゾーンオートシフトの マネージドポリシー
<a name="security-iam-awsmanpol-zonal-autoshift"></a>

 AWS 管理ポリシーは、 によって作成および管理されるスタンドアロンポリシーです AWS。 AWS 管理ポリシーは、ユーザー、グループ、ロールにアクセス許可の割り当てを開始できるように、多くの一般的なユースケースにアクセス許可を付与するように設計されています。

 AWS 管理ポリシーは、すべての AWS お客様が使用できるため、特定のユースケースに対して最小特権のアクセス許可を付与しない場合があることに注意してください。ユースケースに固有の[カスタマー管理ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)を定義して、アクセス許可を絞り込むことをお勧めします。

 AWS 管理ポリシーで定義されているアクセス許可は変更できません。が AWS マネージドポリシーで定義されたアクセス許可 AWS を更新すると、ポリシーがアタッチされているすべてのプリンシパル ID (ユーザー、グループ、ロール) に影響します。 AWS は、新しい が起動されるか、新しい API オペレーション AWS のサービス が既存のサービスで使用できるようになったときに、 AWS マネージドポリシーを更新する可能性が最も高くなります。

詳細については、「**IAM ユーザーガイド」の「[AWS マネージドポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies)」を参照してください。

## AWS マネージドポリシー: AWSZonalAutoshiftPracticeRunSLRPolicy
<a name="security-iam-awsmanpol-AWSZonalAutoshiftPracticeRunSLRPolicy"></a>

IAM エンティティに `AWSZonalAutoshiftPracticeRunSLRPolicy` をアタッチすることはできません。このポリシーは、Amazon Application Recovery Controller (ARC) がゾーンオートシフトに対して以下を実行できるようにする、サービスにリンクされたロールにアタッチされます。
+ 顧客提供の Amazon CloudWatch アラームと顧客 Health Dashboard イベントをモニタリングして練習実行を行う
+ 練習実行 (練習のゾーンシフト) を管理します。
+ 練習実行とオートシフトのバランスの取れた容量チェックを管理する

詳細については、「[ARC でのゾーンオートシフトのサービスにリンクされたロールの使用](using-service-linked-roles-zonal-autoshift.md)」を参照してください。

## ゾーンオートシフトの AWS 管理ポリシーの更新
<a name="security-iam-awsmanpol-zonal-autoshift-updates"></a>

このサービスがこれらの変更の追跡を開始してからの ARC でのゾーンオートシフトの AWS マネージドポリシーの更新の詳細については、「」を参照してください[Amazon Application Recovery Controller (ARC) の AWS マネージドポリシーの更新](security-iam-awsmanpol.md#security-iam-awsmanpol-arc-updates)。このページの変更に関する自動通知については、ARC の「[ドキュメント履歴ページ](doc-history.md)」で RSS フィードをサブスクライブしてください。

# ゾーンオートシフトのクォータ
<a name="quotas.zonal-autoshift"></a>

Amazon Application Recovery Controller (ARC) のゾーンオートシフトには、次のクォータが必要です。


| エンティティ | クォータ | 
| --- | --- | 
|  練習実行設定あたりの結果アラーム数  |  10 [クォータの引き上げをリクエスト](https://console.aws.amazon.com/servicequotas/home?region=us-east-1#!/services/arc-region-switch/quotas)できます。  | 
|  練習実行設定あたりのブロッキングアラーム数  |  10 [クォータの引き上げをリクエスト](https://console.aws.amazon.com/servicequotas/home?region=us-east-1#!/services/arc-region-switch/quotas)できます。  | 