Q29 — AWS DOP-C02 第2章

第 29/100 問 | ← 第2章

ある企業は、社内で開発されたPythonパッケージを格納するためにAWS CodeArtifactリポジトリを使用しています。DevOpsエンジニアは、AWS CodeDeployを用いてアプリケーションをAmazon EC2インスタンスにデプロイする必要があります。このアプリケーションは、CodeArtifactリポジトリに格納されたPythonパッケージに依存しており、BeforeInstallライフサイクルイベントフックでそのパッケージをインストールします。DevOpsエンジニアは、EC2インスタンスがCodeArtifactリポジトリにアクセスできるようにする必要があります。

正解: D. CodeArtifactへのアクセス権限を持つIAMロールを含むインスタンスプロファイルを作成し、そのインスタンスプロファイルをEC2インスタンスに関連付けます。その後、インスタンス上でaws codeartifact login CLIコマンドを実行します。

解説

AWSの権限管理において、EC2インスタンスが他のAWSサービスにアクセスする際は通常、IAMロールとインスタンスプロファイルによる認可が用いられます。AWS公式ドキュメントによると、CodeArtifactへの認証はIAMポリシーによって制御され、インスタンスプロファイルによりEC2インスタンスに適切な権限を付与した後、`aws codeartifact login`コマンドを実行して一時的な認証トークンを取得します。選択肢Aのサービス関連ロールは、EC2インスタンスがCodeArtifactを直接呼び出す用途には適用されません。選択肢Bのリソースベースポリシーは、CodeArtifactでは主にIAMポリシーに基づくアクセス制御が採用されており、適用されません。選択肢CのACLは、CodeArtifactのアクセス制御メカニズムではありません。選択肢DはAWSのベストプラクティスに従っており、インスタンスプロファイルの適切な設定とCLIによるトークン取得を正しく実装しています。