翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
信頼性のベストプラクティス
このセクションでは、EKS で実行されているワークロードを回復力と可用性を高める方法に関するガイダンスを提供します。
このガイドの使い方
このガイドは、EKS で可用性と耐障害性に優れたサービスを開発および運用したい開発者やアーキテクトを対象としています。このガイドは、使いやすくするためにさまざまなトピック領域にまとめられています。各トピックは簡単な概要から始まり、EKS クラスターの信頼性に関する推奨事項とベストプラクティスのリストが続きます。
序章
EKS の信頼性のベストプラクティスは、以下のトピックにグループ化されています。
-
アプリケーション
-
コントロールプレーン
-
データプレーン
システムの信頼性を高めるものは何ですか? システムが一定の期間にわたって環境の変化にもかかわらず、一貫して機能し、需要を満たすことができる場合は、信頼性と呼ぶことができます。これを実現するには、システムは障害を検出し、自動的に修復し、需要に基づいてスケーリングできる必要があります。
お客様は、ミッションクリティカルなアプリケーションとサービスを確実に運用するための基盤として Kubernetes を使用できます。ただし、コンテナベースのアプリケーション設計原則を組み込むことに加えて、ワークロードを確実に実行するには、信頼性の高いインフラストラクチャも必要です。Kubernetes では、インフラストラクチャはコントロールプレーンとデータプレーンで構成されます。
EKS は、可用性と耐障害性に優れた本番稼働グレードの Kubernetes コントロールプレーンを提供します。
EKS では、AWS が Kubernetes コントロールプレーンの信頼性を担当します。EKS は、AWS リージョンの 3 つのアベイラビリティーゾーンで Kubernetes コントロールプレーンを実行します。Kubernetes API サーバーと etcd クラスターの可用性とスケーラビリティを自動的に管理します。
データプレーンの信頼性に対する責任は、ユーザー、顧客、AWS 間で共有されます。EKS には、Kubernetes データプレーンをデプロイするための 3 つのワーカーノードオプションが用意されています。Fargate は、最も管理されたオプションであり、データプレーンのプロビジョニングとスケーリングを処理します。2 番目のオプションは、マネージド型ノードグループで、データプレーンのプロビジョニングと更新を処理します。最後に、セルフマネージドノードはデータプレーンの最小マネージドオプションです。使用する AWS マネージドデータプレーンが多いほど、責任は軽減されます。
マネージド型ノードグループは、EC2 ノードのプロビジョニングとライフサイクル管理を自動化します。EKS API (EKS コンソール、AWS API、AWS CLI、CloudFormation、Terraform、または を使用eksctl
) を使用して、マネージドノードを作成、スケーリング、アップグレードできます。マネージドノードは、アカウントで EKS 最適化 Amazon Linux 2 EC2 インスタンスを実行し、SSH アクセスを有効にすることでカスタムソフトウェアパッケージをインストールできます。マネージドノードをプロビジョニングすると、複数のアベイラビリティーゾーンにまたがることができる EKS マネージド Auto Scaling グループの一部として実行されます。これは、マネージドノードの作成時に指定したサブネットを介して制御します。また、EKS は Cluster Autoscaler で使用できるように、マネージドノードに自動的にタグを付けます。
Amazon EKS は、マネージド型ノードグループで CVE およびセキュリティパッチの責任共有モデルに従います。マネージドノードは Amazon EKS に最適化された AMIs を実行するため、Amazon EKS はバグ修正時にこれらの AMIs のパッチ適用されたバージョンを構築する責任があります。ただし、これらのパッチが適用された AMI バージョンのマネージド型ノードグループへのデプロイはユーザーが担当します。
EKS はノードの更新も管理しますが、更新プロセスを開始する必要があります。マネージドノードを更新するプロセスは、EKS ドキュメントで説明されています。
セルフマネージド型ノードを実行する場合は、Amazon EKS 最適化 Linux AMI を使用してワーカーノードを作成できます。AMI とノードにパッチを適用してアップグレードする責任はお客様にあります。、eksctl
CloudFormation、または infrastructure as code tools を使用してセルフマネージドノードをプロビジョニングするのがベストプラクティスです。これにより、セルフマネージドノードのアップグレードが容易になります。ワーカーノードを更新するときは、新しいノードへの移行を検討してください。移行プロセスによって古いノードグループが としてテイントNoSchedule
され、新しいスタックが既存のポッドワークロードを受け入れる準備ができたらノードがドレインされるためです。ただし、セルフマネージドノードのインプレースアップグレードを実行することもできます。
責任共有モデル - Fargate

責任共有モデル - MNG

このガイドには、EKS データプレーン、Kubernetes コアコンポーネント、アプリケーションの信頼性を向上させるために使用できる推奨事項のセットが含まれています。
フィードバック
このガイドは、より広範な EKS/Kubernetes コミュニティから直接フィードバックや提案を収集するために GitHub でリリースされています。ガイドに含める必要があると思われるベストプラクティスがある場合は、GitHub リポジトリに問題をファイルするか、PR を送信してください。サービスに新機能が追加されたときや、新しいベストプラクティスが進化したときに、ガイドを定期的に更新する予定です。