

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

# AMI \$1 作成
<a name="deployment-advanced-ami-create"></a>

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

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

## 変更タイプの詳細
<a name="ct-3rqqu43krekby-DAAc-table"></a>


****  

|  |  | 
| --- |--- |
| 変更タイプ ID | ct-3rqqu43krekby | 
| 現在のバージョン | 2.0 | 
| 予想される実行期間 | 360 分 | 
| AWS の承認 | 必須 | 
| お客様の承認 | 不要 | 
| 実行モード | 自動 | 

## 追加情報
<a name="deployment-advanced-ami-create-info"></a>

### AMI を作成する
<a name="ex-ami-create-col"></a>

#### コンソールを使用した AMI の作成
<a name="ami-create-con"></a>

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

![\[変更 type details for creating an Amazon Machine Image (AMI) from an EC2 instance.\]](http://docs.aws.amazon.com/ja_jp/managedservices/latest/ctref/images/guiAmiCreateCT.png)


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

仕組み:

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

1. デフォルトの変更タイプ参照ビューで一般的な**変更タイプ** (CT) を選択するか、**カテゴリ別選択ビューで CT **を選択します。
   + **変更タイプ別に参照**: **クイック作成**エリアで一般的な CT をクリックすると、すぐに **RFC の実行**ページを開くことができます。クイック作成で古い CT バージョンを選択することはできません。

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

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

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

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

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

#### CLI を使用した AMI の作成
<a name="ami-create-cli"></a>

仕組み:

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

1. 返された 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 リファレンス](https://docs.aws.amazon.com/managedservices/latest/ApiReference-cm/API_CreateRfc.html)を参照してください。

*インライン作成*:

インラインで指定された実行パラメータ (インラインで実行パラメータを指定する場合は引用符をエスケープ) を指定して 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
   ```

1. 実行パラメータ CreateAmiParams.json ファイルを変更して保存します。たとえば、コンテンツを次のような内容に置き換えることができます。

   ```
   {
   "AMIName":          "My-AMI",
   "InstanceId":    "EC2_INSTANCE_ID"
   }
   ```

1. RFC テンプレート JSON ファイルを現在のフォルダ内のファイルに出力します。この例では CreateAmiRfc.json:

   ```
   aws amscm create-rfc --generate-cli-skeleton > CreateAmiRfc.json
   ```

1. CreateAmiRfc.json ファイルを変更して保存します。たとえば、コンテンツを次のような内容に置き換えることができます。

   ```
   {
   "ChangeTypeId":         "ct-3rqqu43krekby",
   "ChangeTypeVersion":    "2.0",
   "Title":                "AMI-Create-RFC"
   }
   ```

1. CreateAmiRfc ファイルと CreateAmiParams ファイルを指定して、RFC を作成します。

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

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

#### ヒント
<a name="ex-ami-create-tip"></a>

**注記**  
カスタム AMI を作成したら、AMS にサービスリクエストを送信して、既存の EC2 Auto Scaling グループに新しい AMI を使用させることができます。サービスリクエストの作成の詳細については、[「サービスリクエストの例](https://docs.aws.amazon.com/managedservices/latest/userguide/serv-req-mgmt-examples.html)」を参照してください。

**重要**  
開始する前に、AMI の作成に使用する EC2 インスタンスを準備します。適切な準備を行わないと、AMI RFC の作成が拒否または失敗する可能性があります。  
新しい AMI から作成されたインスタンスからの認証の問題を回避するには、カスタム変更を適用した後、AMI CT の作成を呼び出す前に、インスタンスでこれらのシステムコマンドを実行します。

**重要**  
指定されたインスタンスが停止されておらず、現在のドメインから分離されていない場合、AMI 作成 RFC は失敗します。説明に従ってインスタンスを準備します。  
詳細については、[「Sysprep を使用して標準 Amazon マシンイメージを作成する](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_EBSbacked_WinAMI.html#23ami-create-standard)」を参照してください。

AMS SNS AMI 通知トピックをサブスクライブして、関心のある新しい AMS AMIs がデプロイされるたびにアラートを受信できます。詳細については、[「AMS AMI Notification Service](https://docs.aws.amazon.com/managedservices/latest/userguide/ams-ami-notify.html)」を参照してください。

##### AMI 作成のための Linux の準備
<a name="ami-create-linux-prep"></a>

次のスクリプトをダウンロードして実行し、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 の準備
<a name="ami-create-win-prep"></a>

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

```
Invoke-AMSSysprep
```

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

AWS Windows AMIs[「カスタム Windows AMI の作成](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_EBSbacked_WinAMI.html#23ami-create-standard)」を参照してください。

##### AMI 作成の UserData
<a name="ami-create-user-data"></a>

AMI からの次の起動時にユーザーデータを実行する必要がある場合は、以下を確認してください。
+ レジストリキー`HKEY_LOCAL_MACHINE\SOFTWARE\Amazon\ManagedServices\RunUserDataViaAMSBootModule`があります。そのキーが存在しない場合、ユーザーデータは次回実行されません。
+ 次の起動時にユーザーデータを実行できるようにするには:

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

  1. 次のコマンドを実行します。

     ```
     Install-AMSDependencies
     ```

失敗した AMI 作成 RFCs[「RFC 障害のトラブルシューティング](https://docs.aws.amazon.com/managedservices/latest/userguide/rfc-failures.html)」を参照してください。

## 実行入力パラメータ
<a name="deployment-advanced-ami-create-input"></a>

実行入力パラメータの詳細については、「」を参照してください[変更タイプ ct-3rqqu43krekby のスキーマ](schemas.md#ct-3rqqu43krekby-schema-section)。

## 例: 必須パラメータ
<a name="deployment-advanced-ami-create-ex-min"></a>

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

## 例: すべてのパラメータ
<a name="deployment-advanced-ami-create-ex-max"></a>

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