EKS ゾーンシフトを有効にしてアベイラビリティーゾーンの障害を回避する - Amazon EKS

View a markdown version of this page

EKS ゾーンシフトを有効にしてアベイラビリティーゾーンの障害を回避する - Amazon EKS

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

EKS ゾーンシフトを有効にしてアベイラビリティーゾーンの障害を回避する

Amazon Application Recovery Controller (ARC) は、アベイラビリティーゾーン (AZ) 間でアプリケーションのリカバリを管理および調整し、Amazon EKS を含む多くのサービスと連携動作します。ARC ゾーンシフトの EKS サポートでは、クラスター内ネットワークトラフィックを障害のある AZ から移行できます。また、AWS に AZ の健全性を監視させ、異常な AZ から別の場所へ一時的にネットワークトラフィックを切り替える権限を付与することもできます。

EKS ゾーンシフトの使用方法:

  1. Amazon Application Recovery Controller (ARC) で EKS クラスターを有効にします。これは、Amazon EKS コンソール、AWS CLI、CloudFormation、または eksctl を使用してクラスターレベルで行われます。

  2. 有効にすると、ARC コンソール、AWS CLI、またはゾーンシフト API およびゾーンオートシフト API を使用して、ゾーンシフトまたはゾーンオートシフトを管理できます。

EKS クラスターを ARC に登録した後も、ARC を設定する必要があります。例えば、ARC コンソールを使用してゾーンオートシフトを設定できます。

EKS ゾーンシフトの仕組みと、障害のあるアベイラビリティーゾーンを処理するためのワークロードの設計方法についての詳細は、「Amazon EKS での Amazon Application Recovery Controller (ARC) のゾーンシフトの詳細」を参照してください。

考慮事項

  • 各リクエストが適切に処理されるため、ゾーンシフト操作の間に少なくとも 60 秒待つことをお勧めします。

    ゾーンシフトを迅速に連続的に (互いに 60 秒以内の間隔で) 実行しようとすると、Amazon EKS サービスがすべてのシフトリクエストを適切に処理しない可能性があります。これはクラスターのゾーン状態を更新する現在のポーリングメカニズムが原因です。複数のゾーンシフトを実行する必要がある場合、システムがすべての変更を処理するため、操作間に十分な時間間隔を確保してください。

Amazon Application Recovery Controller とは

Amazon Application Recovery Controller (ARC) は、AWS 上で実行しているアプリケーションのリカバリ操作の準備や迅速な実行に役立ちます。ゾーンシフトを使用すると、サポートされているリソースのトラフィックを アベイラビリティーゾーン (AZ) から AWS リージョン内の正常な AZ に一時的に移動することで、AZ の障害からすばやく回復できます。

Amazon Application Recovery Controller (ARC) の詳細はこちら

ゾーンシフトとは

ゾーンシフトは ARC の機能であり、EKS クラスターや Elastic Load Balancer などのリソースのトラフィックを AWS リージョンのアベイラビリティーゾーンから移動できます。これにより、問題をすばやく軽減し、アプリケーションをすばやく回復できます。例えば、不適切なデプロイが原因でレイテンシーの問題が発生していたり、アベイラビリティーゾーンで障害が発生していたりする場合、トラフィックをシフトすることを選択できます。ゾーンシフトでは、事前設定手順は必要ありません。ただし、シフトを開始する前に、ワークロードがゾーン的に回復力を持つには、特定の要件を満たしている必要があります。詳細については、「Amazon EKS での Amazon Application Recovery Controller (ARC) のゾーンシフトの詳細」を参照してください。

ARC ゾーンシフトの詳細はこちら

ゾーンオートシフトとは

ゾーンオートシフトは ARC の機能であり、有効にすると AWS がユーザーに代わってサポートされているリソースのトラフィックを AZ から AWS リージョンの正常な AZ に移動できます。AWS は、顧客に影響を与える可能性のある、リージョン内の AZ の障害が内部テレメトリによって示されると、オートシフトを開始します。内部テレメトリには、AWS ネットワーク、Amazon EC2、Elastic Load Balancing サービスなど、複数のソースからのメトリクスが組み込まれています。

AWS は、インジケータが問題や潜在的な問題がなくなったことを示すと、オートシフトを終了します。

ARC ゾーンオートシフトの詳細はこちら

ゾーンシフト中に EKS は何をしますか?

EKS は、障害のある AZ へのトラフィックを停止するようにネットワーク設定を更新します。特定のコンピューティング動作は、クラスターのデータプレーン設定によって異なります。

  • EKS Auto Mode: EKS Auto Mode は、障害のある AZ 内の新しいノードのプロビジョニングを自動的に停止し、障害のある AZ に影響を与える自発的なノードの中断 (統合など) を停止します。また、障害のある AZ を対象とする厳格なスケジューリング要件 (永続的なボリュームバインドや厳格なトポロジー分散制約など) を持つポッドの容量の起動を回避します。クラスターでゾーンシフトを有効にする以外に追加の設定は必要ありません。

  • セルフマネージド Karpenter (v1.12+): --enable-zonal-shift フラグ付きで Karpenter v1.12 以降を実行している場合、Karpenter は障害のある AZ でキャパシティのプロビジョニングを停止し、障害のある AZ に依存する自発的な中断を停止します。

  • マネージドノードグループ: EKS は、アベイラビリティーゾーンの再調整を停止し、Auto Scaling グループを更新することで、ゾーンシフト中に正常な AZ でのみ新しいノードを起動します。

シフトの有効期限が切れたりキャンセルされたりすると、以前に異常として検出された AZ を含めるようにネットワーク設定とコンピューティング動作が復元されます。

EKS ゾーンシフトの詳細はこちら

EKS クラスターを Amazon Application Recovery Controller (ARC) に登録する (AWS コンソール)

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

  2. そのリージョンの EKS コンソールに移動し、クラスターを選択します。

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

  4. ゾーンシフトの見出しで、[管理] ボタンを選択します。

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

これで、EKS クラスターが ARC に登録されました。

AWS にアベイラビリティーゾーンの障害を検出して回避させるには、ARC ゾーンオートシフトを設定する必要があります。例えば、ARC コンソールで以下のことを行うことができます。

次のステップ