プロファイル適用性: レベル1
プライベートノードは、パブリックIPアドレスを持たないノードです。クラスターノードのパブリックIPアドレスを無効にし、プライベートIPアドレスのみを持つようにしてください。
クラスターのノードでパブリックIPアドレスを無効にすると、アクセスが内部ネットワークのみに制限され、攻撃者は基盤となるKubernetesホストを侵害しようとする前にローカルネットワークへのアクセスを取得する必要があります。
注意デフォルトでは、プライベートノードは無効になっています。
|
影響
プライベートノードを有効にするには、クラスターをプライベートマスターIP範囲とIPエイリアスが有効な状態で構成する必要があります。プライベートノードはパブリックインターネットへのアウトバウンドアクセスを持ちません。プライベートノードにアウトバウンドのインターネットアクセスを提供したい場合は、Cloud
NATを使用するか、独自のNATゲートウェイを管理することができます。
プライベートノードからGoogle Cloud APIsとサービスにアクセスするには、Kubernetes EngineクラスタサブネットでプライベートGoogleアクセスを設定する必要があります。
監査
Google Cloud Consoleを使用する:
- Google CloudコンソールKubernetes EngineページにアクセスしてKubernetes Engineに移動します。
- 目的のクラスターを選択し、詳細ペイン内でプライベートクラスターが有効になっていることを確認してください。
コマンドラインの使用:
既存のクラスターのプライベートノードのステータスを確認するには、まず3つの変数、クラスター名、場所、プロジェクトを定義し、次のコマンドを実行します。
gcloud container clusters describe $CLUSTER_NAME --location $LOCATION -- project $PROJECT_ID --format json | jq '.privateClusterConfig.enablePrivateNodes'
上記のコマンドの出力は、プライベートノードが有効になっている場合、
{ "enablePrivateNodes": true } を返します。修復
クラスターがプライベートノードを有効にせずに作成された場合、修正することはできません。代わりにクラスターを再作成する必要があります。
Google Cloud Consoleを使用する:
- Google CloudコンソールKubernetes EngineページにアクセスしてKubernetes Engineに移動します。
- CREATE CLUSTERをクリックします。
- 必要に応じてクラスターを構成し、ナビゲーションペインのCLUSTERの下にあるNetworkingをクリックしてください。
- IPv4ネットワークアクセスの下で、プライベートクラスターのラジオボタンをクリックしてください。
- 必要に応じて他の設定を構成し、CREATEをクリックしてください。
コマンドラインの使用:
プライベートノードを有効にしたクラスターを作成するには、クラスター作成コマンドに
--enable-private-nodesフラグを含めます。gcloud container clusters create <cluster_name> --enable-private-nodes
このフラグを設定するには、
--enable-ip-aliasと--master-ipv4-cidr=<master_cidr_range>の設定も必要です。
