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

DevOpsエンジニアはCodeBuildをVPC内のプライベートサブネットで実行するよう設定し、同VPC内のAmazon OpenSearch Serviceクラスターに対して統合テストを実行できるようにしました。しかしビルド中にnpmパッケージのダウンロードが失敗するようになりました。プライベートサブネットのルートテーブルにはインターネットゲートウェイへのルートがありません。最小限の変更でOpenSearch Serviceへのアクセスを維持しつつnpmダウンロードも可能にする方法はどれですか?

A
CodeBuildに割り当てるサブネットをパブリックサブネットに変更し、セキュリティグループでAmazon OpenSearch Serviceとの通信を許可する
VPCモードで実行されるCodeBuildはパブリックサブネットに配置してもパブリックIPが自動割り当てされないため、インターネット接続は依然として確立されずnpmダウンロードの問題は解決しません。
B
VPCのパブリックサブネットにNATゲートウェイを作成し、プライベートサブネットのルートテーブルにNATゲートウェイへのデフォルトルート(0.0.0.0/0)を追加する
✓ 正解
VPC内のCodeBuildはデフォルトでインターネット接続を失います。プライベートリソース(Amazon OpenSearch Service)へのアクセスを維持しながらインターネット上のnpmレジストリにもアクセスするには、NATゲートウェイが最もシンプルな解決策です。
C
CodeArtifactリポジトリを作成してnpmパッケージをキャッシュし、VPCエンドポイント経由でCodeArtifactにアクセスするよう設定する
CodeArtifactにVPCエンドポイントを設定してnpmをキャッシュする方法も有効ですが、CodeArtifactリポジトリの作成・npm設定変更・VPCエンドポイントの追加と初期構築コストが高く「最小限の変更」とはいえません。
D
CodeBuildのbuildspecにHTTP_PROXY・HTTPS_PROXY環境変数を設定し、VPC内に構築したSquidプロキシ経由でインターネットアクセスをルーティングする
Squidプロキシは追加のEC2インスタンス管理が必要で運用オーバーヘッドが増加します。

解説

VPC内のCodeBuildはデフォルトでインターネット接続を失います。プライベートリソース(Amazon OpenSearch Service)へのアクセスを維持しながらインターネット上のnpmレジストリにもアクセスするには、NATゲートウェイが最もシンプルな解決策です。 選択肢AのVPCモードで実行されるCodeBuildはパブリックサブネットに配置してもパブリックIPが自動割り当てされないため、インターネット接続は依然として確立されずnpmダウンロードの問題は解決しません。 選択肢CのCodeArtifactにVPCエンドポイントを設定してnpmをキャッシュする方法も有効ですが、CodeArtifactリポジトリの作成・npm設定変更・VPCエンドポイントの追加と初期構築コストが高く「最小限の変更」とはいえません。 選択肢DのSquidプロキシは追加のEC2インスタンス管理が必要で運用オーバーヘッドが増加します。

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

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

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