模擬問題集 › GCP-PCDOE › 練習問題 1

GCP-PCDOE 練習問題 1|CI/CD パイプライン(継続的テストを含む)の構築と実装

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

問題
パブリックなアップストリーム コンテナ レジストリへの依存を最小限に抑え、ビルドの再現性とセキュリティを向上させるために、コンテナ化された CI パイプラインを設計しています。必要な手作業とメンテナンスの量を最小限に抑えながら、コンテナ化されたすべての依存関係をキャッシュするパイプラインを設計する必要があります。どうすればよいですか。

選択肢と解説

  • 1
    1. アップストリーム レジストリごとに Artifact Registry に remote Docker リポジトリを作成する。2. CI パイプラインでは、その remote リポジトリを経由してコンテナ イメージにアクセスする。
  • 2
    1. アップストリーム レジストリごとに Artifact Registry に standard Docker リポジトリを作成する。2. ビルド パイプラインで使用するコンテナを適切なリポジトリにアップロードする。
  • 3
    1. アップストリーム レジストリごとに Artifact Registry に standard Docker リポジトリを作成する。2. standard リポジトリを提供する中央の virtual Docker リポジトリを作成する。3. CI パイプラインでは、中央のリポジトリを経由してコンテナ イメージにアクセスする。
  • ✓
    1. アップストリーム レジストリごとに Artifact Registry に remote Docker リポジトリを作成する。2. remote リポジトリを提供する中央の virtual Docker リポジトリを作成する。3. CI パイプラインでは、中央のリポジトリを経由してコンテナ イメージにアクセスする。

解説

【正解】D

【0からの解説】
①前提知識:Artifact Registry には 3 種類のリポジトリ モードがあります。
・standard(標準)リポジトリ:自分で push したイメージやパッケージを保存する通常のリポジトリ。
・remote(リモート)リポジトリ:Docker Hub などのアップストリーム(外部の公開レジストリ)のプロキシとして動作し、初回の pull 時に取得したイメージを自動的にキャッシュします。以後は同じイメージを Artifact Registry から返すため、アップストリームの障害やレート制限の影響を受けにくくなり、ビルドの再現性も高まります。
・virtual(仮想)リポジトリ:複数の上流リポジトリ(standard や remote)をまとめて 1 つのエンドポイントとして公開する集約用リポジトリ。優先度(priority)に従って上流リポジトリを検索します。

②要件の整理:(a) パブリックなアップストリームへの依存を減らす、(b) すべてのコンテナ依存関係をキャッシュする、(c) 手作業とメンテナンスを最小限にする、の 3 点です。アップストリーム レジストリは複数(「アップストリーム レジストリごとに」)ある前提です。

③正解の理由:アップストリームごとに remote リポジトリを作れば、イメージは pull されたときに自動でキャッシュされ、手動のアップロード作業は不要です((a)(b)(c) を満たす)。さらにそれらを 1 つの virtual リポジトリの背後にまとめれば、CI パイプラインは単一のエンドポイントだけを参照すればよく、アップストリームを追加・変更しても virtual リポジトリの上流設定を変えるだけでパイプライン側の設定変更が不要になります。複数のアップストリームを扱う場合のメンテナンス負荷を最も小さくできる構成が D です。

【誤りの選択肢】
A:remote リポジトリによる自動キャッシュは正しい方向ですが、アップストリームごとに別のエンドポイントを CI パイプラインが個別に参照する必要があります。アップストリームの追加・変更のたびにパイプラインの設定(イメージ参照)を書き換える必要があり、virtual リポジトリで 1 か所に集約する D に比べてメンテナンス負荷が大きくなります。
B:standard リポジトリは自動キャッシュの機能を持たないため、使用するイメージを人手で取得してアップロードし、新しいバージョンが出るたびに更新し続ける必要があります。「手作業とメンテナンスを最小限に」という要件に反します。
C:virtual リポジトリで集約している点は良いものの、その上流が standard リポジトリなので、結局イメージを手動でアップロードする作業が残ります。キャッシュが自動化されないため要件を満たしません。

【参考】
リモート リポジトリの概要 | Artifact Registry
仮想リポジトリの概要 | Artifact Registry
練習問題 2 →
GCP-PCDOE の模擬問題集は全 200 問

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

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

GCP-PCDOE の無料公開問題

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