無限ノック › DOP 練習問題一覧 › 問題
DOPSDLC の自動化

あるDevOpsエンジニアが社内npmパッケージ管理のためにAWS CodeArtifactを設定しています。要件は以下の3点です: ①開発者が社内パッケージとnpmパブリックレジストリ(npmjs.com)のパッケージを単一のCodeArtifactエンドポイントで取得できること ②npmjs.comからダウンロードしたパッケージがCodeArtifactにキャッシュされること ③すべてのパッケージアクセスがAWS CloudTrailで監査可能であること。すべての要件を正しく満たす設定はどれですか?

A
CodeArtifactドメインを作成し、リポジトリを1つ作成する。そのリポジトリにnpmjs.comへの外部接続を設定し、社内パッケージも同じリポジトリに保存する
1つのリポジトリに外部接続と社内パッケージを混在させる構成で、同名パッケージが存在した場合に衝突が発生するリスクがあります。
B
CodeArtifactドメインを作成し、npmjs.comへの外部接続を持つ「npm-upstream」リポジトリと、「npm-upstream」をアップストリームに設定した「my-packages」社内リポジトリの2つを作成する。開発者は「my-packages」のエンドポイントをnpmレジストリとして使用する
✓ 正解
CodeArtifactで外部パブリックリポジトリと社内パッケージを統合する正しいアプローチは2層構成です。npmjs.comへの外部接続を持つリポジトリ(npm-upstream)を作成し、社内リポジトリ(my-packages)がnpm-upstreamをアップストリームに設定します。これにより、my-packagesの単一エンドポイントで社内パッケージとキャッシュ済みnpmパッケージの両方にアクセスできます。
C
CodeArtifactドメインを作成し、npmjs.comへの外部接続を持つ「npm-upstream」リポジトリと「my-packages」社内リポジトリを作成する。「my-packages」を「npm-upstream」のアップストリームに設定し、開発者は「npm-upstream」のエンドポイントを使用する
アップストリームの方向が逆(正しくはmy-packages→npm-upstream)のため誤りです。
D
S3バケットを作成してnpmjs.comパッケージを定期的にミラーリングし、社内パッケージ用は別途CodeArtifactリポジトリを作成する。npmrc設定ファイル(npmの設定ファイル)で複数レジストリURLを指定して使い分ける
S3と別途CodeArtifactを組み合わせた構成で、複数レジストリURLを指定するため単一エンドポイントの要件を満たさず、CloudTrailによる統合監査も実現できません。

解説

CodeArtifactで外部パブリックリポジトリと社内パッケージを統合する正しいアプローチは2層構成です。npmjs.comへの外部接続を持つリポジトリ(npm-upstream)を作成し、社内リポジトリ(my-packages)がnpm-upstreamをアップストリームに設定します。これにより、my-packagesの単一エンドポイントで社内パッケージとキャッシュ済みnpmパッケージの両方にアクセスできます。 選択肢Aの 1つのリポジトリに外部接続と社内パッケージを混在させる構成で、同名パッケージが存在した場合に衝突が発生するリスクがあります。 選択肢Cの アップストリームの方向が逆(正しくはmy-packages→npm-upstream)のため誤りです。 選択肢Dの S3と別途CodeArtifactを組み合わせた構成で、複数レジストリURLを指定するため単一エンドポイントの要件を満たさず、CloudTrailによる統合監査も実現できません。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDOPを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DOP の問題一覧に戻る