AMI | 作成 - AMS アドバンスト変更タイプリファレンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AMI | 作成

AMS アカウントの既存のスタンドアロン EC2 インスタンスに基づいて Amazon マシンイメージ (AMI) を作成します。この変更タイプを実行する前に、インスタンスが停止状態になっている必要があります。

完全分類: デプロイ | 高度なスタックコンポーネント | AMI | 作成

変更タイプの詳細

変更タイプ ID

ct-3rqqu43krekby

現在のバージョン

2.0

予想される実行期間

360 分

AWS の承認

必須

お客様の承認

不要

実行モード

自動

追加情報

AMI を作成する

AMS コンソールでこの変更タイプを以下に示します。

変更 type details for creating an Amazon Machine Image (AMI) from an EC2 instance.
重要

開始する前に、AMI の作成に使用する EC2 インスタンスを準備します。適切な準備を行わないと、AMI RFC の作成が拒否または失敗する可能性があります。AMI を正常に作成するためのインスタンスの準備については、このチュートリアルに含まれる手順を参照してください。

仕組み:

  1. RFC の作成ページに移動します。AMS コンソールの左側のナビゲーションペインでRFCs をクリックして RFCsリストページを開き、RFC の作成をクリックします。

  2. デフォルトの変更タイプ参照ビューで一般的な変更タイプ (CT) を選択するか、カテゴリ別選択ビューで CT を選択します。

    • 変更タイプ別に参照: クイック作成エリアで一般的な CT をクリックすると、すぐに RFC の実行ページを開くことができます。クイック作成で古い CT バージョンを選択することはできません。

      CTs をソートするには、カードビューまたはテーブルビューですべての変更タイプ領域を使用します。どちらのビューでも、CT を選択し、RFC の作成をクリックして RFC の実行ページを開きます。必要に応じて、RFC の作成ボタンの横に古いバージョンで作成オプションが表示されます。

    • カテゴリ別に選択: カテゴリ、サブカテゴリ、項目、オペレーションを選択すると、CT 詳細ボックスが開き、必要に応じて古いバージョンで作成するオプションが表示されます。RFC の作成をクリックして、RFC の実行ページを開きます。

  3. RFC の実行ページで、CT 名エリアを開き、CT の詳細ボックスを表示します。件名は必須です (変更タイプの参照ビューで CT を選択した場合は入力されます)。追加設定エリアを開き、RFC に関する情報を追加します。

    実行設定領域で、使用可能なドロップダウンリストを使用するか、必要なパラメータの値を入力します。オプションの実行パラメータを設定するには、追加設定エリアを開きます。

  4. 完了したら、実行 をクリックします。エラーがない場合、RFC が正常に作成されたページに、送信された RFC の詳細と最初の実行出力が表示されます。

  5. Run parameters エリアを開き、送信した設定を確認します。ページを更新して RFC 実行ステータスを更新します。必要に応じて、RFC をキャンセルするか、ページ上部のオプションを使用してコピーを作成します。

仕組み:

  1. インライン作成 (すべての RFC と実行パラメータを含むcreate-rfcコマンドを発行) またはテンプレート作成 (2 つの JSON ファイルを作成し、1 つは RFC パラメータ用、もう 1 つは実行パラメータ用) のいずれかを使用し、2 つのファイルを入力としてcreate-rfcコマンドを発行します。どちらの方法もここで説明します。

  2. 返された RFC ID を使用して RFC: aws amscm submit-rfc --rfc-id ID コマンドを送信します。

    RFC: aws amscm get-rfc --rfc-id ID コマンドをモニタリングします。

変更タイプのバージョンを確認するには、次のコマンドを使用します。

aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
注記

変更タイプのスキーマの一部であるかどうかにかかわらず、任意の RFC で任意のCreateRfcパラメータを使用できます。たとえば、RFC ステータスが変更されたときに通知を受け取るには、リクエストの RFC パラメータ部分 (実行パラメータではなく) --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}"にこの行を追加します。すべての CreateRfc パラメータのリストについては、AMS 変更管理 API リファレンスを参照してください。

インライン作成

インラインで指定された実行パラメータ (インラインで実行パラメータを指定する場合は引用符をエスケープ) を指定して create RFC コマンドを発行し、返された RFC ID を送信します。たとえば、コンテンツを次のような内容に置き換えることができます。

aws --profile saml --region us-east-1 amscm create-rfc --change-type-id "ct-3rqqu43krekby" --change-type-version "2.0" --title "AMI-Create-IC" --execution-parameters "{\"AMIName\":\"MyAmi\",\"VpcId\":\"VPC_ID\",\"EC2InstanceId\":\"INSTANCE_ID\"}"

テンプレートの作成

  1. この変更タイプの実行パラメータ JSON スキーマをファイルに出力します。この例では、CreateAmiParams.json:

    aws amscm get-change-type-version --change-type-id "ct-3rqqu43krekby" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > CreateAmiParams.json
  2. 実行パラメータ CreateAmiParams.json ファイルを変更して保存します。たとえば、コンテンツを次のような内容に置き換えることができます。

    { "AMIName": "My-AMI", "InstanceId": "EC2_INSTANCE_ID" }
  3. RFC テンプレート JSON ファイルを現在のフォルダ内のファイルに出力します。この例では CreateAmiRfc.json:

    aws amscm create-rfc --generate-cli-skeleton > CreateAmiRfc.json
  4. CreateAmiRfc.json ファイルを変更して保存します。たとえば、コンテンツを次のような内容に置き換えることができます。

    { "ChangeTypeId": "ct-3rqqu43krekby", "ChangeTypeVersion": "2.0", "Title": "AMI-Create-RFC" }
  5. CreateAmiRfc ファイルと CreateAmiParams ファイルを指定して、RFC を作成します。

    aws amscm create-rfc --cli-input-json file://CreateAmiRfc.json --execution-parameters file://CreateAmiParams.json

    レスポンスで新しい RFC の ID を受け取り、それを使用して RFC を送信およびモニタリングできます。送信するまで、RFC は編集状態のままであり、開始されません。

注記

カスタム AMI を作成したら、AMS にサービスリクエストを送信して、既存の EC2 Auto Scaling グループに新しい AMI を使用させることができます。サービスリクエストの作成については、「サービスリクエストの例」を参照してください。

重要

開始する前に、AMI の作成に使用する EC2 インスタンスを準備します。適切な準備を行わないと、AMI RFC の作成が拒否または失敗する可能性があります。

新しい AMI から作成されたインスタンスからの認証の問題を回避するには、カスタム変更を適用した後、AMI CT の作成を呼び出す前に、インスタンスでこれらのシステムコマンドを実行します。

重要

指定されたインスタンスが停止されておらず、現在のドメインから分離されていない場合、AMI 作成 RFC は失敗します。説明に従ってインスタンスを準備します。

詳細については、「Sysprep を使用して標準 Amazon マシンイメージを作成する」を参照してください。

AMS SNS AMI 通知トピックをサブスクライブして、関心のある新しい AMS AMIs がデプロイされるたびにアラートを受け取ることができます。詳細については、「AMS AMI Notification Service」を参照してください。

AMI 作成のための Linux の準備

次のスクリプトをダウンロードして実行し、AMI 作成用のインスタンスを準備します。このスクリプトはルートユーザーとして実行する必要があります。

curl https://amazon-ams-us-east-1.s3.amazonaws.com/latest/linux/prepare_instance_for_ami_and_shutdown.sh -o ./prepare_instance_for_ami_and_shutdown.sh chmod 744 prepare_instance_for_ami_and_shutdown.sh ./prepare_instance_for_ami_and_shutdown.sh

注: 前述のスクリプトはインスタンスでシャットダウンを実行し、接続されたユーザーはセッションからログアウトされます。

AMI 作成のための Windows の準備

Windows Powershell (管理者として実行):

Invoke-AMSSysprep

インスタンスは停止し、接続されたユーザーは現在の Windows RDP セッションからログアウトされます。

AWS Windows AMIs「カスタム Windows AMI の作成」を参照してください。

AMI 作成の UserData

AMI からの次回の起動時にユーザーデータを実行する必要がある場合は、以下を確認してください。

  • レジストリキーHKEY_LOCAL_MACHINE\SOFTWARE\Amazon\ManagedServices\RunUserDataViaAMSBootModuleがあります。そのキーが存在しない場合、ユーザーデータは次回実行されません。

  • 次の起動時にユーザーデータを実行できるようにするには:

    1. 管理者権限で Windows PowerShell を起動する (管理者として実行)

    2. 次のコマンドを実行してください。

      Install-AMSDependencies

失敗した AMI 作成 RFCs「RFC 障害のトラブルシューティング」を参照してください。

実行入力パラメータ

実行入力パラメータの詳細については、「」を参照してください変更タイプ ct-3rqqu43krekby のスキーマ

例: 必須パラメータ

{ "InstanceId": "i-01234567890abcdef", "AmiName": "MyAMI" }

例: すべてのパラメータ

{ "InstanceId": "i-12345678", "AmiName": "MyAMI", "AmiTags": [ { "Key": "foo", "Value": "bar" }, { "Key": "testkey", "Value": "testvalue" } ] }