模擬問題集 › GCP-PCSE › 練習問題 13

GCP-PCSE 練習問題 13|運用の管理

Professional Cloud Security Engineer・無料公開(全 200 問中 15 問を無料公開中)

問題
あなたの組織は、異なるフォルダとプロジェクトにまたがって、ビジネス アプリケーションを実行する多数の Google Kubernetes Engine(GKE)クラスタをデプロイする予定です。脆弱性のリスクと管理作業を最小限に抑えるため、すべての GKE ノードが常に最新のリリースを実行するようにする必要があります。どうすればよいですか。

選択肢と解説

  • 1
    クラスタの作成後に、Google Cloud コンソールで gcloud container node-pools describe NODE_POOL_NAME --cluster=CLUSTER_NAME コマンドを使用する。出力の upgradeSettings と UpdateInfo を確認する。
  • ✓
    デプロイ前に、組織レベルで、アクション タイプを ALLOW としたカスタムの組織のポリシーの制約 resource.management.autoUpgrade == true を作成する。
  • 3
    各クラスタで新しいバージョンの新しいノードプールを作成する。ワークロードを移行する。古いノードプールを削除する。
  • 4
    新しく作成したクラスタに対して、Google Cloud コンソールで gcloud container clusters upgrade CLUSTER_NAME --node-pool=NODE_POOL_NAME --cluster-version VERSION コマンドを定期的に手動で実行する。

解説

【正解】B

【0からの解説】
①前提知識:
・GKE のノードの自動アップグレード:ノードプールの設定 management.autoUpgrade を有効にすると、GKE がコントロール プレーンのバージョンやリリース チャンネルに合わせてノードを自動的にアップグレードし、セキュリティ パッチが適用されたバージョンを維持します。Google はセキュリティ パッチを迅速に反映するため、自動アップグレードの利用を推奨しています。
・カスタムの組織のポリシー(カスタム制約):組織のポリシー サービスで、リソースのフィールドに対する条件を CEL 式で記述し、リソースの作成時(CREATE)や更新時(UPDATE)に強制できる機能です。GKE では container.googleapis.com/Cluster や container.googleapis.com/NodePool のフィールドを条件にできます。actionType が ALLOW の場合は「条件を満たすリソースだけを許可(それ以外はブロック)」、DENY の場合は「条件を満たすリソースを拒否」となります。組織やフォルダに適用したポリシーは、配下のすべてのプロジェクトに継承されます。

②要件の整理:多数のクラスタがさまざまなフォルダ・プロジェクトに作られる予定で、(1) すべてのノードが常に最新のリリースを実行して脆弱性リスクを下げる、(2) 管理作業を最小限にする、という 2 つの要件があります。「デプロイ前に」「大規模に」「漏れなく」強制できる仕組みが必要です。

③正解の理由:resourceTypes に container.googleapis.com/NodePool、condition に resource.management.autoUpgrade == true、actionType に ALLOW を指定したカスタム制約を作成し、組織レベルで適用すると、ノードの自動アップグレードが無効なノードプールは作成できなくなります(GKE の公式ドキュメントにも「すべてのノードプールでノードの自動アップグレードを有効にする」例としてこの制約が掲載されています)。これにより、どのチームがどのフォルダ・プロジェクトでクラスタを作っても必ず自動アップグレードが有効になり、以降のアップグレードは GKE が自動で行うため手作業も不要です。

【誤りの選択肢】
A:describe コマンドはノードプールの設定やアップグレードの情報を「確認」するだけで、最新リリースの実行を強制も自動化もしません。多数のクラスタを個別に確認する作業も発生し、管理作業の最小化にも反します。
C:新しいノードプールを作ってワークロードを移行し、古いノードプールを削除する方法(手動の Blue/Green 移行)は、アップグレードの手段としては有効です。しかしクラスタごと・リリースごとに繰り返す必要があり管理作業が非常に大きく、「常に最新」を継続的に保証する仕組みにもなりません。
D:upgrade コマンドを定期的に手動で実行する方法は作業負荷が大きく、実行漏れや遅れがあるとその間は脆弱なバージョンのまま残ります。多数のクラスタを対象とし、管理作業を最小限にするという要件に適しません。

【参考】
カスタム制約を作成する | Organization Policy
セキュリティ パッチ | GKE security
← 練習問題 12練習問題 14 →
GCP-PCSE の模擬問題集は全 200 問

本番形式の練習テスト 4 回を、試験モード/演習モードで受験できます。 全問に解説付き、ドメイン別の弱点分析にも対応。模試プラン(月額 ¥980)からご利用いただけます。

GCP-PCSE の模試を受ける料金プランを見る

GCP-PCSE の無料公開問題

問題 1問題 2問題 3問題 4問題 5問題 6問題 7問題 8問題 9問題 10問題 11問題 12問題 13問題 14問題 15