模擬問題集 › GCP-PCD › 練習問題 7

GCP-PCD 練習問題 7|アプリケーションのビルドとテスト

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

問題
あなたは大企業の開発者です。3 つの GKE クラスタを管理しています。チームの開発者は、同じワークステーション上で、あるクラスタから別のクラスタへ定期的に切り替える必要があります。Google が推奨するプラクティスに従いながら、これら複数のクラスタへの個別のアクセスを安全に構成したいと考えています。どうすればよいですか。

選択肢と解説

  • 1
    開発者に Cloud Shell を使用してもらい、gcloud container clusters get-credentials コマンドを実行して別のクラスタに切り替えてもらう。
  • 2
    開発者にワークステーション上で 3 つのターミナルを開いてもらい、kubectl config set コマンドを使用して各クラスタへのアクセスを構成してもらう。
  • ✓
    開発者にワークステーションに gcloud CLI をインストールしてもらい、gcloud container clusters get-credentials コマンドを実行して別のクラスタに切り替えてもらう。
  • 4
    テキスト ファイルにクラスタ、ユーザー、コンテキストを定義する。そのファイルを開発者にメールで送り、kubectl config set コマンドを使用してクラスタ、ユーザー、コンテキストの詳細をファイルに追加してもらう。

解説

【正解】C

【0からの解説】
①前提知識:kubectl は Kubernetes クラスタを操作するコマンドライン ツールで、接続先の情報を kubeconfig ファイル(通常 ~/.kube/config)から読みます。kubeconfig には「cluster(API サーバーのエンドポイントと CA 証明書)」「user(認証方法)」「context(cluster と user の組み合わせ)」が登録され、kubectl config use-context で接続先を切り替えられます。
GKE では、gcloud container clusters get-credentials コマンドを実行すると、そのクラスタのエンドポイント・証明書と、gke-gcloud-auth-plugin を使った認証設定が kubeconfig に自動で追加され、現在のコンテキストがそのクラスタに切り替わります。認証は開発者本人の Google アカウント(gcloud auth login でログインした ID)で行われ、有効期間の短いアクセス トークンが都度取得されます。つまり、パスワードや長期間有効な秘密情報を kubeconfig に書き込まずに、開発者ごとに個別の ID で IAM/RBAC に基づくアクセス制御が効きます。

②要件の整理:「同じワークステーション上で」「3 クラスタを定期的に切り替える」「個別のアクセス(開発者ごとの ID)」「安全に」「Google 推奨のプラクティス」。

③正解の理由:C は、各開発者のワークステーションに gcloud CLI を入れ、本人の ID でログインした上で get-credentials を使う方法です。3 クラスタ分のエントリが kubeconfig に正しく作られ、以後は get-credentials の再実行や kubectl config use-context で簡単に切り替えられます。認証情報は本人の Google ID に紐づく短期トークンなので安全で、これが GKE ドキュメントで案内されている標準的な kubectl のアクセス構成方法です。

【誤りの選択肢】
A:Cloud Shell でも get-credentials は使えますが、Cloud Shell はブラウザから使う Google Cloud 上の一時的な VM であり、「同じワークステーション上で」切り替えるという要件を満たしません。開発者のローカルのツールやエディタ、ソースコードとも分かれてしまい、日常的な開発環境としての要件に合致しません。
B:ターミナルを 3 つ開いても kubeconfig は同じファイルを共有するため、ターミナルごとに接続先が分かれるわけではありません。また kubectl config set で cluster・user・認証情報を手作業で組み立てると、証明書やトークンを手で扱うことになり、誤設定や認証情報の漏えいのリスクが増えます。gcloud が自動で正しく構成してくれる方法に比べ、手間と安全性の両面で劣ります。
D:クラスタ・ユーザー・コンテキスト(認証情報を含み得る)をテキスト ファイルにまとめてメールで配布するのは、認証情報の共有・平文送信にあたり、安全ではありません。共通のファイルを配ると「個別のアクセス」にもならず、Google が推奨するやり方とは正反対です。

【参考】
クイックスタート: Google Cloud CLI をインストールする SDK
クラスタ管理の概要 | Google Kubernetes Engine (GKE)
Cloud Code for VS Code で kubeconfig ファイルを操作する
← 練習問題 6練習問題 8 →
GCP-PCD の模擬問題集は全 200 問

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

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

GCP-PCD の無料公開問題

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