GKE on AWS のアーキテクチャ

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

GKE on AWS のアーキテクチャ。Google Cloud サービス、コントロール プレーンおよびノードプールを含むクラスタが明示されています。

リソース管理

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 や Cloud 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

次のステップ