GKE on AWS のアーキテクチャ

GKE on AWS は、AWS アカウントで Kubernetes クラスタをプロビジョニング、運用、スケールする場合に役立つマネージド サービスです。

Google Cloud サービスと、コントロール プレーンとノードプールを含むクラスタが明示された、GKE on AWS のアーキテクチャ

リソース管理

GKE on AWS では、AWS API を使用して、仮想マシン、マネージド ディスク、自動スケーリング グループ、セキュリティ グループ、ロードバランサなど、クラスタに必要なリソースをプロビジョニングします。

クラスタは、Google Cloud CLI または GKE Multi-Cloud API で、作成、記述、削除できます。

AWS に対する認証

GKE on AWS を設定する場合は、AWS アカウントに必要な権限が付与された AWS IAM ロールを作成します。また、Google Cloud プロジェクトでサービス アカウントも作成して、AWS IAM ID 連携用の信頼関係を確立します。

詳細については、認証の概要をご覧ください。

Google Cloud 上のリソース

GKE on AWS では、Google Cloud プロジェクトを使用して Google Cloud にクラスタ構成情報を保存します。

フリートと接続

GKE on AWS では、各クラスタは作成時にフリートに登録されます。Connect を使用すると、Google Cloud からクラスタとワークロードの管理機能にアクセスできます。クラスタのフリート メンバーシップ名は、クラスタ名と同じです。

フリート内では、Config Management や Anthos Service Mesh などの機能を有効にできます。

クラスタのアーキテクチャ

GKE on AWS では、AWS Virtual Private Cloud 内のプライベート サブネットを使用してクラスタをプロビジョニングします。各クラスタは、次のコンポーネントから構成されます。

  • コントロール プレーン: Kubernetes コントロール プレーンは、3 つのレプリカを持つ高可用性アーキテクチャを使用します。各レプリカは、kube-apiserverkube-controller-managerkube-scheduleretcd などのすべての Kubernetes コンポーネントを実行します。各 etcd インスタンスは EBS ボリュームにデータを保存し、ネットワーク インターフェースを使用して他の etcd インスタンスと通信します。標準のロードバランサを使用して、Kubernetes API エンドポイント kube-apiserver にトラフィックを分散します。

  • ノードプール: ノードプールは、インスタンス タイプ、ディスク構成、インスタンス プロファイルなど、同じ構成による Kubernetes ワーカーノードのグループです。ノードプール内のすべてのノードは、同じサブネットで実行されます。高可用性を実現するため、複数のノードプールを同じ AWS リージョン内の異なるサブネットにプロビジョニングできます。

次の図では、ネットワーク アドレス変換(NAT)ゲートウェイとロードバランサを含む VPC、ノードプール、コントロール プレーンの構造の例を示します。このインフラストラクチャは、AWS VPC を作成するクイックスタートの手順で作成します。

サンプル VPC

次のステップ