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

開発チームは AWS CodeBuild で Node.js アプリケーションをビルドしています。npm install のたびに公開 npm レジストリから全依存関係を取得するためビルドが遅く、外部レジストリ障害時にはパイプライン全体が失敗します。チームは社内で承認済みのパッケージのみを使わせつつ、公開パッケージは透過的に取得・キャッシュし、ビルドの安定性と速度を向上させたいと考えています。これらを満たす施策の組み合わせはどれですか?(2 つ選択)

A
AWS CodeArtifact リポジトリを作成し、npm 公開レジストリを上流(upstream)リポジトリとして接続する。CodeBuild の buildspec でレジストリ URL を CodeArtifact に向けて認証トークンを取得する
✓ 正解
CodeArtifact に公開 npm レジストリを上流接続すると、承認済みパッケージの一元管理と公開パッケージの透過的取得・キャッシュを両立できます。一度取得したパッケージは保持されるため外部障害の影響を受けず、buildspec で認証トークンを取得してレジストリを向ければ安定性が向上します。
B
CodeBuild プロジェクトでローカルキャッシュ(LOCAL_CUSTOM_CACHE)または S3 キャッシュを有効化し、node_modules / npm キャッシュディレクトリをビルド間で再利用する
✓ 正解
CodeBuild の S3 キャッシュやローカルカスタムキャッシュで node_modules や npm キャッシュをビルド間で再利用すると、依存解決の再ダウンロードを避けられビルド時間を短縮できます。CodeArtifact による安定化と組み合わせることで速度と安定性の両要件を満たします。
C
CodeBuild の特権モード(privileged mode)を有効化し、各ビルドで Docker レイヤーキャッシュに依存関係を保存して外部レジストリへのアクセスを排除する
特権モードは Docker デーモンをビルド内で動かすための設定で、依存関係管理の課題は解決しません。CodeBuild のビルド環境は基本的に使い捨てで Docker レイヤーキャッシュは永続化されず、承認済みパッケージの統制という要件にも対応できません。
D
buildspec の install フェーズで npm レジストリのミラーを EC2 上に自前構築し、CodeBuild から VPC エンドポイント経由でアクセスする
EC2 上に npm ミラーを自前構築・運用する案は、パッチ適用や可用性確保などの運用負荷が高く、CodeArtifact というマネージドサービスで同等以上の機能が得られるため適切ではありません。AWS のベストプラクティスにも反します。
E
Amazon ECR をプライベート npm レジストリとして設定し、承認済みパッケージを OCI アーティファクトとして push してビルド時に pull する
Amazon ECR はコンテナイメージや OCI アーティファクトのレジストリであり、npm パッケージのプライベートレジストリとしては機能しません。npm install が解決できる形式ではないため、依存取得の安定化・キャッシュ要件を満たせません。

解説

承認済みパッケージの一元管理と公開パッケージの透過的キャッシュには AWS CodeArtifact が最適です。CodeArtifact リポジトリに npm 公開レジストリを上流(upstream)として接続すると、初回取得時にパッケージがリポジトリへ保持され、以降は外部レジストリ障害の影響を受けずに取得できます。CodeBuild では aws codeartifact get-authorization-token でトークンを取得し npm のレジストリを CodeArtifact に向けます。 ビルド速度の向上には CodeBuild のキャッシュ機能が有効です。S3 キャッシュやローカルカスタムキャッシュで node_modules や npm キャッシュをビルド間で再利用すれば、依存解決の時間を短縮できます。 選択肢Cの特権モードは Docker デーモン実行のための設定であり、Docker レイヤーキャッシュは CodeBuild 環境では永続化されず npm 依存管理の解決にはなりません。 選択肢Dの自前ミラーを EC2 で運用する案は CodeArtifact と比べ運用負荷が高く、マネージドサービスを使うべきです。 選択肢Eの ECR はコンテナイメージ/OCI アーティファクト用であり、npm パッケージレジストリとしては機能しません。

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

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

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