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

「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」

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

以下のセクションでは、クラスター、コントロールプレーン、およびクラスターのノードセキュリティグループの推奨または最小要件セキュリティグループ設定について説明します。これらの考慮事項は、使用する Kubernetes のバージョンとAmazon EKSプラットフォームのバージョンによって異なります。

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

Amazon EKS クラスター (Kubernetes バージョン 1.14 および プラットフォームバージョン から開始) はeks.3、クラスターセキュリティグループの作成時に作成します。これは、以前のバージョンのクラスターがこの Kubernetes バージョンとプラットフォームバージョンにアップグレードされたときにも発生します。クラスターセキュリティグループは、コントロールプレーンとマネージド型ノードグループからのすべてのトラフィックが相互に自由に流れるように設計されています。コントロールプレーンがマネージド型ノードグループインスタンスと通信Amazon EKSできるようにする、 によって作成された Elastic Network Interface にクラスターセキュリティグループを割り当てることで、この通信を許可する複雑なセキュリティグループルールを設定する必要はありません。このセキュリティグループが割り当てられているインスタンスまたはネットワークインターフェイスは、このセキュリティグループを使用して他のリソースと自由に通信できます。

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

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

クラスターセキュリティグループを既存および将来のすべてのノードグループに追加することをお勧めします。詳細については、の「VPC のセキュリティグループ」を参照してくださいAmazon VPC ユーザーガイド。 Amazon EKS マネージド型ノードグループは、クラスターセキュリティグループを使用するように自動的に設定されます。

プロトコル ポート 送信元 送信先

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

すべて

すべて

Self

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

すべて

すべて

0.0.0.0/0

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

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

プロトコル ポート 送信元 送信先
最小インバウンドトラフィック TCP

443

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

10250

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

443

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

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

10250

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

*必要に応じて、ノード間の通信にノードが使用するプロトコルとポートを含める必要があります。ノードには、クラスターの詳細分析と起動時のノード登録Amazon EKSAPIsのために、または で必要な設定を実装するために、 へのアウトバウンドインターネットアクセスも必要ですプライベートクラスター。コンテナイメージをプルするにはAmazon S3Amazon ECRAPIs、、、およびイメージをプルするために必要なその他のコンテナレジストリ ( など) にアクセスする必要がありますDockerHub。 詳細については、AWS 全般のリファレンスの「AWS IP アドレス範囲」を参照してください。

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

Kubernetes バージョン 1.14 より前に作成されたAmazon EKSクラスターとプラットフォームバージョン の場合eks.3、コントロールプレーンとノード間の通信は、コントロールプレーンセキュリティグループを手動で作成し、クラスターの作成時にそのセキュリティグループを指定することによって設定されていました。クラスターの作成時に、このセキュリティグループは、コントロールプレーンとノード間の通信を許可する Amazon EKS によって作成されたネットワークインターフェイスにアタッチされました。これらのネットワークインターフェイスの説明は Amazon EKS <cluster name> にあります。

注記

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

クラスターのコントロールプレーンセキュリティグループは、クラスターの [AWS マネジメントコンソールNetworking] セクション ([Additional security groups] として表示) で、または次のコマンドを使用して で確認できますAWS CLI。

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

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

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

注記

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

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

TCP

443

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

クラスターエンドポイントのプライベートアクセスが有効になっている場合: API サーバークライアントトラフィックを生成する任意のセキュリティグループ (クラスターの VPC 内の踏み台ホスト上での kubectl コマンドなど)

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

TCP

443

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

クラスターエンドポイントのプライベートアクセスが有効になっている場合: API サーバークライアントトラフィックを生成する任意のセキュリティグループ (クラスターの VPC 内の踏み台ホスト上での kubectl コマンドなど)

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

TCP

10250

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

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

TCP

1025-65535

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

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

ノード間通信にノードが使用するプロトコル

ノード間通信にノードが使用するポート

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

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

TCP

10250

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

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

すべて

TCP

すべて

443, 1025-65535

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

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

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

TCP

443

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

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

すべて

すべて

0.0.0.0/0

*ノードには、クラスターの詳細分析および起動時に、インターネットまたは VPC エンドポイントを通じてノード登録Amazon EKSAPIsを行うため、 へのアクセスも必要です。コンテナイメージをプルするには、 Amazon S3 および Amazon ECR APIs (および などの他のコンテナレジストリ) へのアクセスが必要ですDockerHub。詳細については、 https://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html および のAWS General Reference「AWS IP アドレス範囲」を参照してくださいプライベートクラスター

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

キー

kubernetes.io/cluster/<cluster-name>

owned