無限ノック › DVA 練習問題一覧 › 問題
DVAデプロイ

ある企業が複数のチームで共有する社内 npm パッケージを管理しています。これまで各チームが独自に npm パッケージを保管していたためバージョン不整合が頻発していました。公開 npm レジストリのパッケージも一元的にプロキシしつつ、社内パッケージを安全に保管・共有し、CodeBuild からの認証取得を IAM で制御したいと考えています。最も適したマネージドサービスはどれですか。

A
AWS CodeArtifact のリポジトリを作成し、公開 npm を上流リポジトリとして接続して社内・外部パッケージを一元管理する
✓ 正解
CodeArtifact は npm 等に対応したアーティファクトリポジトリで、公開 npm を上流に接続して外部パッケージをプロキシしつつ社内パッケージを一元配信できる。IAM と一時トークンで CodeBuild の認証も制御でき、要件をすべて満たすため正しい。
B
Amazon S3 バケットにパッケージを格納し、バケットポリシーで各チームのアクセスを制御する
S3 は汎用オブジェクトストレージで、npm のセマンティックバージョン解決やレジストリプロトコルを提供しない。パッケージの依存解決やプロキシ機能を自前実装する必要があり、マネージドな一元管理には不向き。
C
Amazon ECR にパッケージをコンテナイメージとして push し、リポジトリポリシーで共有する
ECR はコンテナイメージ専用のレジストリで、npm パッケージの保管・バージョン配信には対応していない。イメージ管理が目的であり、社内 npm パッケージ共有の用途には適さない。
D
AWS CodeCommit にパッケージのソースを保存し、各チームがクローンして個別にビルドする
CodeCommit はソースコードを管理する Git リポジトリで、ビルド済みパッケージの配信やバージョン解決を担わない。各チームが個別ビルドする運用ではバージョン不整合の解消につながらない。

解説

AWS CodeArtifact は npm、PyPI、Maven、NuGet などに対応したマネージドのアーティファクトリポジトリで、公開レジストリを上流リポジトリ(upstream)として接続すれば外部パッケージをプロキシ・キャッシュしつつ社内パッケージを同じエンドポイントで配信できる。認証は IAM と一時トークンで制御でき、CodeBuild からの取得もポリシーで管理できるため要件に最適。 選択肢Bの S3 は汎用ストレージで npm のバージョン解決やレジストリプロトコルを提供しない。 選択肢Cの ECR はコンテナイメージ専用レジストリで npm パッケージ管理用ではない。 選択肢Dの CodeCommit はソース管理であり、ビルド済みパッケージの配信・バージョン管理を担うものではない。

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

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

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