無限ノック › SOA 練習問題一覧 › 問題
SOAデプロイ、プロビジョニング、および自動化

ある企業のOpsチームは、本番EC2インスタンスのリサイズ作業(インスタンス停止→EBSスナップショット作成→インスタンスタイプ変更→インスタンス再起動)を月次で手動実施しており、手順ミスが頻発しています。この一連の作業を手順書として定義・バージョン管理し、AWSコンソールやCLIから手動実行でき、EventBridgeによるスケジュール実行にも対応した形で自動化したいと考えています。最小の開発工数で実現するために最も適切なアプローチはどれですか?

A
Systems Manager Run Command でシェルスクリプトを作成し、EC2 インスタンス上でコマンドを実行して各ステップを処理する
Systems Manager Run Command は EC2 インスタンスの OS 上でシェルコマンドを実行するサービスです。インスタンスを停止すると SSM エージェントも停止するため後続ステップを実行できず、AWS API のオーケストレーション目的には適していません。
B
Systems Manager Automation ランブックを作成し、停止・スナップショット・タイプ変更・起動の各ステップを組み込みアクションで定義する
✓ 正解
Systems Manager Automation は AWS API 操作を手順(ランブック)として定義・バージョン管理できます。停止・スナップショット・タイプ変更・起動の組み込みアクションが揃い、コンソール・CLI・EventBridge からの実行に対応しており、コードなしで実現できます。
C
AWS Lambda 関数に AWS SDK で各ステップをコーディングし、コンソールから手動実行と EventBridge によるスケジュール実行を設定する
Lambda + AWS SDK でも各ステップを実装できますが、すべての処理をコーディングする必要があり開発工数が増加します。手順書としての管理容易性でも SSM Automation ランブックに劣り、最小工数の要件を満たしません。
D
Step Functions のステートマシンで各ステップを定義し、Lambda 関数を介して EC2・EBS の各 API を呼び出してオーケストレーションする
Step Functions はワークフローオーケストレーションに優れますが、各ステップの実行に Lambda 関数の実装が別途必要となり設定が複雑になります。単純な AWS API の順次実行には SSM Automation の方が適しています。

解説

Systems Manager Automation は、AWS APIへの一連の操作を「ランブック(SSM Automation ドキュメント)」として定義・バージョン管理できるサービスです。aws:stopInstances・aws:createSnapshot・aws:changeInstanceType・aws:startInstances などの組み込みアクションが標準提供されており、コードを書かずに各ステップを定義できます。コンソール・CLI・API・EventBridge からの実行に対応し、実行履歴もステップ単位で追跡できます。ドキュメントのバージョニング機能によりロールバックも容易です。 選択肢AのSystems Manager Run Command は EC2 インスタンス上で OS コマンドを実行するサービスです。インスタンスを停止すると SSM エージェントが停止して後続ステップを実行できず、AWS API のオーケストレーション用途には設計されていません。 選択肢CのAWS Lambda は AWS SDK で API 呼び出しを実装できますが、各ステップのコーディングが必要で開発工数が増加し、最小工数の要件を満たしません。 選択肢DのAWS Step Functions はワークフローオーケストレーションに適しますが、各ステップの実行に Lambda 関数の別途実装が必要で設定が複雑になります。

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

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

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