

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

# CloudFormation 取り込みの例: リソースの定義
<a name="cfn-ingest-ex-define-resource"></a>

AMS CloudFormation 取り込みを使用する場合は、CloudFormation テンプレートをカスタマイズし、CloudFormation 取り込み変更タイプ (ct-36cn2avfrrj9v) を使用して RFC の AMS に送信します。複数回再利用できる CloudFormation テンプレートを作成するには、CloudFormation テンプレートでハードコーディングするのではなく、スタック設定パラメータを CloudFormation 取り込み変更タイプ実行入力に追加します。最大の利点は、テンプレートを再利用できることです。

AMS CloudFormation の取り込み変更タイプ入力スキーマを使用すると、CloudFormation テンプレートで最大 60 個のパラメータを選択し、カスタム値を指定できます。

この例では、AMS CloudFormation 取り込み CT のパラメータとして、さまざまな CloudFormation テンプレートで使用できるリソースプロパティを定義する方法を示します。このセクションの例では、SNS トピックの使用状況を具体的に示しています。

**Topics**
+ [例 1: CloudFormation SNSTopic リソース`TopicName`プロパティをハードコードする](#cfn-ingest-example-1)
+ [例 2: SNSTopic リソースを使用して AMS 変更タイプのパラメータを参照する](#cfn-ingest-example-2)
+ [例 3: AMS 取り込み変更タイプで JSON 実行パラメータファイルを送信して SNS トピックを作成する](#cfn-ingest-example-3)
+ [例 4: 同じ CloudFormation テンプレートを参照する新しい変更タイプを送信する](#cfn-ingest-example-4)
+ [例 5: CloudFormation テンプレートでデフォルトのパラメータ値を使用する](#cfn-ingest-example-5)

## 例 1: CloudFormation SNSTopic リソース`TopicName`プロパティをハードコードする
<a name="cfn-ingest-example-1"></a>

この例では、CloudFormation テンプレートで CloudFormation SNSTopic リソース`TopicName`プロパティをハードコードします。`Parameters` セクションは空であることに注意してください。

新しい CloudFormation テンプレートを作成することなく、新しいスタックの SNSTopic 名の値を変更できる CloudFormation テンプレートを作成するには、CloudFormation 取り込み変更タイプの AMS `Parameters`セクションを使用して、その設定を行うことができます。これにより、後で同じ CloudFormation テンプレートを使用して、別の`SNSTopic`名前の新しいスタックを作成します。

```
{
  "AWSTemplateFormatVersion" : "2010-09-09",
  "Description" : "My SNS Topic",
  "Parameters" : {
  },
  "Resources" : {
    "SNSTopic" : {
      "Type" : "AWS::SNS::Topic",
      "Properties" : {
        "TopicName" : "MyTopicName"
      }
    }
  }
}
```



## 例 2: SNSTopic リソースを使用して AMS 変更タイプのパラメータを参照する
<a name="cfn-ingest-example-2"></a>

この例では、CloudFormation テンプレートで定義された`SNSTopic`リソース`TopicName`プロパティを使用して、AMS 変更タイプの を参照`Parameter`します。

```
{
  "AWSTemplateFormatVersion" : "2010-09-09",
  "Description" : "My SNS Topic",
  "Parameters" : {
    "TopicName" : {
      "Type" : "String",
      "Description" : "Topic ID",
      "Default" : "MyTopicName"
    }
  },
  "Resources" : {
    "SNSTopic" : {
      "Type" : "AWS::SNS::Topic",
      "Properties" : {
        "TopicName" : { "Ref" : "TopicName"}
      }
    }
  }
}
```

## 例 3: AMS 取り込み変更タイプで JSON 実行パラメータファイルを送信して SNS トピックを作成する
<a name="cfn-ingest-example-3"></a>

この例では、SNS トピック を作成する AMS 取り込み CT を使用して JSON 実行パラメータファイルを送信します`TopicName`。SNS トピックは、この例に示す変更可能な方法で CloudFormation テンプレートで定義する必要があります。

```
{
  "Name": "cfn-ingest",
  "Description": "CFNIngest Web Application Stack",
  "CloudFormationTemplateS3Endpoint": "$S3_PRESIGNED_URL",
  "VpcId": "VPC_ID",
  "Tags": [
    {"Key": "Enviroment Type", "Value": "Dev"}
  ],
  "Parameters": [
    {"Name": "TopicName", "Value": "MyTopic1"}
  ],
  "TimeoutInMinutes": 60
}
```

## 例 4: 同じ CloudFormation テンプレートを参照する新しい変更タイプを送信する
<a name="cfn-ingest-example-4"></a>

この JSON の例では、CloudFormation テンプレートを変更せずに SNS `TopicName`値を変更します。代わりに、CloudFormation テンプレートから新しいデプロイ \$1 取り込み \$1 スタックを送信する \$1 同じ CFN テンプレートを参照する変更タイプを作成します。

```
{
  "Name": "cfn-ingest",
  "Description": "CFNIngest Web Application Stack",
  "CloudFormationTemplateS3Endpoint": "$S3_PRESIGNED_URL",
  "VpcId": "VPC_ID",
  "Tags": [
    {"Key": "Enviroment Type", "Value": "Dev"}
  ],
  "Parameters": [
    {"Name": "TopicName", "Value": "MyTopic2"}
  ],
  "TimeoutInMinutes": 60
}
```

## 例 5: CloudFormation テンプレートでデフォルトのパラメータ値を使用する
<a name="cfn-ingest-example-5"></a>

この例では、`Parameters`実行パラメータに`TopicName`値が指定されていないため、SNS `TopicName` = 'MyTopicName' が作成されます。`Parameters` 定義を指定しない場合、CloudFormation テンプレートのデフォルトのパラメータ値が使用されます。

```
{
  "Name": "cfn-ingest",
  "Description": "CFNIngest Web Application Stack",
  "CloudFormationTemplateS3Endpoint": "$S3_PRESIGNED_URL",
  "VpcId": "VPC_ID",
  "Tags": [
    {"Key": "Enviroment Type", "Value": "Dev"}
  ],
  "TimeoutInMinutes": 60
}
```