EKSを理解する
EKSはKubernetesを使うためのマネージドサービスです。コントロールプレーン、Pod、実行基盤を分け、Kubernetesを選ぶ理由と利用者に残る設計を学びます。
この単元で学ぶこと
- EKSとKubernetesの役割を説明する
- 管理プレーンと実行基盤の分担を区別する
- ワークロードの権限・状態・互換性を判断する
本文解説
1. Kubernetesを使う選択肢 Kubernetesはコンテナの配置や実行状態等を管理する仕組みです。EKSではAWSのマネージドサービスとして利用できます。Kubernetes対応のアプリ、マニフェスト、運用ツールを活用したい場合に選択肢になります。ECS固有のタスク管理と同じAPIではありません。
2. コントロールプレーン 標準のEKSではKubernetesのAPIや管理情報等を扱うコントロールプレーンをAWSが管理します。利用者がその管理サーバーを自作・保守する負担を減らせます。ただし業務アプリ、設定、データの権限をAWSが全て決める意味ではありません。
3. Podという実行単位 Kubernetesは一つ以上のコンテナを含むPodを配置します。Podの内容を宣言的に定義し、管理機能が望ましい状態へ近づけます。設定ファイルを用意したことと、Podが正常に動き要求を処理していることは別です。資源やイメージの取得、通信を確認します。
4. 計算基盤を選ぶ EKSではEC2による実行や、条件を満たすPodのFargate実行等を選べます。現行のEKS Auto Modeはノード等の管理をさらに自動化する方式です。標準、自社管理、マネージドな方式で分担が違うため、選んだモードと基盤の具体的な条件を確認します。
5. Fargateとの関係 EKSでFargateを使う際はPodがFargateプロファイルの条件に合う必要があります。ホストを直接制御する機能等には制約があるため、全てのPodを同じように移せるとは限りません。サーバーの管理を減らせても、Podの要求資源、ネットワーク、権限は検討します。
6. 権限と保護 利用者やワークロードのアクセスにはAWS IAMとKubernetesの機能等を使います。クラスタへアクセスする権限と、Pod内のアプリがAWS資源へ操作する権限を混同しないようにします。アプリに必要な権限へ絞り、イメージの安全性も利用者が管理します。
7. 状態と更新 Podが置き換わることを前提に、必要データの保存先を設計します。新イメージへ変更した際も稼働する版と正常性を確認します。またKubernetesのバージョンにはサポートのライフサイクルがあるため、対応するアドオンやアプリを確認しながら更新を計画します。
8. 利用コストと運用 EKSではクラスタの料金等と、ワークロードが使う計算・保存・通信等の料金を分けて確認します。管理が軽減されても監視やアプリの不具合対応は残ります。Kubernetes互換性という利点が必要か、組織が運用できるかを含めてECS等と比較します。
図解
重要ポイント
- Kubernetesのマネージドな利用がEKS。
- コントロールプレーンとワークロードの責任を分ける。
- 計算方式ごとに機能と管理範囲を確認する。
間違えやすい点
- AWSがコントロールプレーンを管理するのでアプリ更新も不要と考える。
- 全Podが条件なしでFargateへ移せると思う。
用語解説
- コントロールプレーン
- KubernetesのAPIやクラスタの管理状態等を扱う部分。
- ノード
- Kubernetesのワークロードを実行する計算資源。
- マニフェスト
- Kubernetes資源の望ましい構成を宣言する記述。
- Fargateプロファイル
- EKSでどのPodをFargateへ配置するか等を指定する設定。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
- https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html
- https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html
- https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html
- https://docs.aws.amazon.com/eks/latest/userguide/fargate.html
- https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html
- https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definitions.html
- https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html
確認問題の出題・採点や学習履歴の保存にはログインが必要です。