Systems Manager Automation を使用し、EBS-Backed EC2 インスタンスに基づいて AMI の作成を自動化する方法を教えてください。

最終更新日: 2022 年 2 月 28 日

Amazon Elastic Block Store (EBS) がサポートする Amazon Elastic Compute Cloud (Amazon EC2) インスタンスの Amazon マシンイメージ (AMI) の作成を自動化したいと考えています。どうすればよいですか?

簡単な説明

AWS Systems Manager を使用してメンテナンスウィンドウを作成してから、AMI の作成を自動化するオートメーションタスクを登録することができます。このプロセスは、Windows と Linux の両方のインスタンスに適用できます。

AMI を作成するインスタンスは、Systems Manager のマネージドインスタンスとして表示されている必要があります。まず、インスタンスが Systems Manager を使用するための前提条件をすべて満たしていることを確認します。インスタンスがプライベートサブネットを使用している場合は、Systems Manager 用の VPC エンドポイントを作成できます。

注意 (Windows のみ): 次のオートメーションプロセスを使用すると、AMI を作成する前に Sysprep が Windows インスタンスで実行されません。

解決方法

AMI の作成を自動化するには、次の手順に従います。

注意: AWS Command Line Interface (AWS CLI) のコマンド実行時にエラーが発生した場合は、最新バージョンの AWS CLI を使用していることを確認してください

  1. メンテナンスウィンドウで AMI を作成するためのアクセス権限を持つ AWS Identity and Access Management (IAM) ロールを作成します。IAM コンソールAWS CLI、または Tools for Windows PowerShell を使用できます。
  2. メンテナンスウィンドウを作成します
    [Schedule] セクションの [Specify with] で、[Cron schedule builder] を選択します。
  3. メンテナンスウィンドウのターゲットを割り当てます
  4. 自動化タスクを登録し、AMI を作成します。
    [Actions] で、[Register Automation task] を選択します。
    [Automation document] で、[AWS-CreateImage] を選択します。
    [IAM service role] で、[Use a custom service role] を選択し、この記事のステップ 1 で作成した IAM ロールを選択します。
    [入力パラメータ] セクションの [InstanceId] に、擬似パラメータプレースホルダー {{TARGET_ID}} または {{RESOURCE_ID}} を入力します。

注意: 擬似パラメータプレースホルダーを入力する際は、次の点を留意してください。

ターゲットタイプが RESOURCE_GROUP の場合、 {{TARGET_ID}} パラメータはリソースの全文の ARN を返します。{{RESOURCE_ID}} パラメータは、リソースの短縮した名前または ID を返します。

  • {{TARGET_ID}} format: arn:aws:ec2:us-east-1:123456789012:instance/i-02573cafcfEXAMPLE
  • {{RESOURCE_ID}} format: i-02573cafcfEXAMPLE

ターゲットタイプが INSTANCE の場合、 {{TARGET_ID}}{{RESOURCE_ID}} のパラメータはどちらもインスタンス ID のみを返します。

擬似パラメータについて詳しくは、「擬似パラメータについて」を参照してください。

サポートされている擬似パラメータの一覧については、「サポートされている擬似パラメータ」を参照してください。