Q97 — AWS DOP-C02 第2章
第 97/100 問 | ← 第2章
DevOpsエンジニアは、Linux AMIを自動化された方法で作成したいと考えています。新しく作成されたAMIの識別子は、他のビルドパイプラインがプログラムでアクセスできる場所に保存される必要があります。
- A. AWS CodePipeline内でパイプラインを構築し、最新のOSオープン仮想化フォーマット(OVF)イメージをダウンロードしてAmazon S3バケットに保存します。guestfishユーティリティを使用してイメージをカスタマイズします。VMインポートコマンドを使用してOVFをAMIに変換します。AMI識別子出力をAWS Systems Manager Parameter Storeのパラメータとして保存します。
- B. AMI作成手順を定義した値を含むAWS Systems Manager Automationランブックを作成します。AWS CodePipeline内でパイプラインを構築し、このランブックを実行してAMIを作成します。AMI識別子出力をSystems Manager Parameter Storeのパラメータとして保存します。 ✓
- C. AWS CodePipeline内でパイプラインを構築し、最新バージョンのアプリケーションを実行中のAmazon EC2インスタンスのスナップショットを取得します。このスナップショットから新しいEC2インスタンスを起動し、AWS Lambda関数を使用して実行中のインスタンスを更新します。更新済みインスタンスのスナップショットを取得し、AMIに変換します。AMI識別子出力をAmazon DynamoDBテーブルに保存します。
- D. Amazon EC2インスタンスを起動し、Packerをインストールします。AMI作成方法を定義する値でPackerビルドを設定します。Jenkinsパイプラインを構築し、Packerビルドを呼び出してAMIを作成します。AMI識別子出力をAmazon DynamoDBテーブルに保存します。
正解: B. AMI作成手順を定義した値を含むAWS Systems Manager Automationランブックを作成します。AWS CodePipeline内でパイプラインを構築し、このランブックを実行してAMIを作成します。AMI識別子出力をSystems Manager Parameter Storeのパラメータとして保存します。
解説
正解はBです。AWS Systems Manager Automationランブックは、AMI作成手順を効率的に統合できます。CodePipelineでランブックを実行してAMIを作成する方法は比較的シンプルかつ直接的であり、AMI識別子出力をSystems Manager Parameter Storeのパラメータとして保存することで、他のビルドパイプラインからのアクセスが容易になり、複雑なプロセスおよび追加のリソース消費を削減できます。一方、選択肢AではguestfishユーティリティおよびOVFからAMIへの変換プロセスが複雑であり、選択肢CではLambda関数およびDynamoDBテーブルの使用によりコストおよび複雑性が増加し、選択肢DではEC2インスタンスの起動・Packerのインストール・Jenkinsパイプラインの構築など、より煩雑な操作が必要となります。以上より、選択肢Bが最適な選択です。