Amazon EKS セキュリティグループの考慮事項 - Amazon EKS

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

Amazon EKS セキュリティグループの考慮事項

次のセクションでは、クラスタ、コントロールプレーン、およびクラスタのノードセキュリティグループに対して推奨される、または最低限必要なセキュリティグループ設定について説明します。これらの考慮事項は、どのKubernetesバージョンおよび Amazon EKS プラットフォームバージョンです。

クラスターセキュリティグループ

Amazon EKS クラスタ(Kubernetesバージョン1.14以降) プラットフォームバージョン eks.3、クラスタ セキュリティ グループの作成時に作成します。これは、以前のバージョンのクラスタがこのKubernetesバージョンおよびプラットフォームバージョンにアップグレードされたときにも発生します。クラスタ・セキュリティ・グループは、コントロール・プレーンおよび 管理対象ノードグループ 自由に流れます クラスタセキュリティグループをコントロールプレーンのクロスアカウントネットワークインタフェースおよび管理対象ノードグループインスタンスに割り当てることにより、この通信を可能にする複雑なセキュリティグループルールを構成する必要はありません。このセキュリティグループが割り当てられているインスタンスまたはネットワークインターフェイスは、このセキュリティグループを使用して他のリソースと自由に通信できます。

クラスターのクラスターセキュリティグループは、クラスターの [ネットワーキング] セクションの下にある AWS マネジメントコンソール で確認するか、次の AWS CLI コマンドで確認できます。

aws eks describe-cluster --name cluster_name --query cluster.resourcesVpcConfig.clusterSecurityGroupId

クラスタがKubernetesバージョン1.14を実行している場合、 プラットフォームバージョン eks.3 または後で、クラスタ セキュリティ グループをすべての既存および将来のノード グループに追加することをお勧めします。詳細については、以下を参照してください。 VPCのセキュリティグループAmazon VPC ユーザーガイド。 Amazon EKS 管理対象ノードグループ は、クラスタ セキュリティ グループを使用するように自動的に構成されます。

プロトコル。 ポート。 ソース: 送信先

推奨インバウンドトラフィック

すべて

すべて

Self

推奨アウトバウンドトラフィック

すべて

すべて

0.0.0.0/0

クラスタ トラフィックの制限

コントロール・プレーンとノード間のオープン・ポートを制限する必要がある場合は、デフォルトのクラスタ・セキュリティ・グループを変更して、以下の必要な最小ポートのみを許可することができます。必要な最小ポートは以前と同じ Amazon EKS バージョン。

プロトコル。 ポート () ソース: 送信先
最小インバウンドトラフィック TCP

443

クラスターセキュリティグループ
最小インバウンドトラフィック TCP

10250

クラスターセキュリティグループ
最小アウトバウンドトラフィック * TCP

443

クラスターセキュリティグループ

最小アウトバウンドトラフィック * TCP

10250

クラスターセキュリティグループ

*必要に応じて、ノード間の通信に使用するプロトコルとポートを含める必要があります。ノードには、 Amazon EKS 起動時のクラスタイントロスペクションおよびノード登録用 API、または プライベートクラスター. コンテナイメージを引き出すには、 Amazon S3、 Amazon ECR API、およびDockerHubなど、イメージを取得する必要があるその他のコンテナレジストリ。詳細については、以下を参照してください。 AWS IPアドレス範囲 「AWS General Reference」を参照してください。

コントロールプレーンおよびノードセキュリティグループ

対象: Amazon EKS Kubernetesバージョン1.14より前のクラスタ、および プラットフォームバージョン eks.3コントロールプレーンからノードへの通信は、コントロールプレーンセキュリティグループを手動で作成し、クラスタの作成時にそのセキュリティグループを指定することで構成されます。クラスタの作成時に、このセキュリティグループはクラスタのクロスアカウントネットワークインタフェースに接続されます。

注記

APIを直接使用した場合、または AWS CloudFormation クラスタを作成し、セキュリティグループを指定しなかった場合、VPCのデフォルトセキュリティグループがコントロールプレーンのクロスアカウントネットワークインタフェースに適用されました。

クラスターのコントロールプレーンセキュリティグループは、[ネットワーキング] セクション([追加セキュリティグループ] と表示されている)の下にある AWS マネジメントコンソール か、次の AWS CLI コマンドで確認できます。

aws eks describe-cluster --name cluster_name --query cluster.resourcesVpcConfig.securityGroupIds

ノードを AWS CloudFormation テンプレートの Amazon EKS の開始方法 ウォークスルー、 AWS CloudFormation ノードとの通信を許可するように、コントロールプレーンセキュリティグループを変更します。 Amazon EKS 各コントロールプレーンに専用のセキュリティグループを使用することを強くお勧めします(各クラスタに1つ)。. コントロールプレーンセキュリティグループを他の Amazon EKS クラスターまたはリソースと共有している場合、それらのリソースへの接続をブロックまたは中断することがあります。

ノードのセキュリティグループとノードへのコントロールプレーン通信のセキュリティグループは、ノードの特権付きのポートとの通信を行わないように設定されています。アプリケーションでコントロールプレーンまたはノードからの追加のインバウンドまたはアウトバウンドアクセスが必要な場合は、これらのルールをクラスターに関連付けられているセキュリティグループに追加する必要があります。詳細については、Amazon VPC ユーザーガイドの「VPC のセキュリティグループ」を参照してください。

注記

特権付きのポートでプロキシ機能を許可したり、CNCF 適合テストを自分で実行したりするには、コントロールプレーンとノードのセキュリティグループを編集する必要があります。ノード側のセキュリティグループは、コントロールプレーンからのポート 0 ~ 65535 のインバウンドアクセスを許可する必要があり、コントロールプレーン側は、ポート 0 ~ 65535 のノードへのアウトバウンドアクセスを許可する必要があります。

コントロールプレーンセキュリティグループ
プロトコル。 ポート範囲 ソース: 送信先
最小インバウンドトラフィック

TCP

443

すべてのノード セキュリティ グループ

いつ クラスタエンドポイントプライベートアクセス が有効です: APIサーバークライアントトラフィックを生成するセキュリティグループ(例: kubectl クラスタの VPC 内の Bastion ホスト上のコマンド)

推奨インバウンドトラフィック

TCP

443

すべてのノード セキュリティ グループ

いつ クラスタエンドポイントプライベートアクセス が有効です: APIサーバークライアントトラフィックを生成するセキュリティグループ(例: kubectl クラスタの VPC 内の Bastion ホスト上のコマンド)

最小アウトバウンドトラフィック *

TCP

10250

すべてのノード セキュリティ グループ

推奨アウトバウンドトラフィック

TCP

1025-65535

すべてのノード セキュリティ グループ

ノードセキュリティグループ
プロトコル。 ポート範囲 ソース: 送信先
最小インバウンドトラフィック(他のノードから)

ノード間の通信にノードが使用することを期待するプロトコル

ノード間の通信にノードが使用すると予想されるポート

すべてのノード セキュリティ グループ

最小インバウンドトラフィック (コントロールプレーン)

TCP

10250

コントロールプレーンセキュリティグループ

推奨インバウンドトラフィック

すべて

TCP

すべて

443, 1025-65535

すべてのノード セキュリティ グループ

コントロールプレーンセキュリティグループ

最小アウトバウンドトラフィック *

TCP

443

コントロールプレーンセキュリティグループ

推奨アウトバウンドトラフィック

すべて

すべて

0.0.0.0/0

*ノードには、 Amazon EKS インターネットまたはVPCエンドポイントのいずれかを介して、起動時のクラスタイントロスペクションおよびノード登録用のAPI。コンテナイメージをプルするには、 Amazon S3 および Amazon ECR API にアクセスする必要があります (およびその他 DockerHub などのコンテナレジストリなど) 。詳細については、以下を参照してください。 AWS IPアドレス範囲AWS General Reference および プライベートクラスター.

ノードに複数のセキュリティグループが関連付けられている場合は、セキュリティグループの 1 つで次のタグを適用する必要があります。ノードに関連付けられているセキュリティグループが 1 つしかない場合は、 タグはオプションです。タグ付けの詳細については、「コンソールでのタグの処理」を参照してください。

キー

kubernetes.io/cluster/<cluster-name>

owned