

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

# 「alfred」ヘルパーと CloudFormation パラメータファイル
<a name="alfred-helper"></a>

 CfCT には、 CloudFormation テンプレートで定義されている [SSM パラメータストア](https://docs.aws.amazon.com//systems-manager/latest/userguide/systems-manager-parameter-store.html)キーの値を取得するための *alfred* ヘルパーと呼ばれるメカニズムが用意されています。*alfred* ヘルパーを使用すると、 CloudFormation テンプレートを更新せずに、SSM パラメータストアに保存されている値を使用できます。詳細については、「 *CloudFormation ユーザーガイド*[」の CloudFormation 「 テンプレートとは](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/gettingstarted.templatebasics.html#gettingstarted.templatebasics.what)」を参照してください。

**重要**  
 *alfred* ヘルパーには 2 つの制限があります。パラメータは、AWS Control Tower 管理アカウントのホームリージョンでのみ使用できます。ベストプラクティスとして、スタックインスタンスごとに変わらない値を使用することを検討してください。「alfred」ヘルパーがパラメーターを取得すると、変数をエクスポートするスタックセットからランダムなスタックインスタンスを選択します。

## 例
<a name="w2aac28c41c15c13b7"></a>

 CloudFormation スタックセットが 2 つあるとします。*スタックセット 1* には 1 つのスタックインスタンスがあり、1 つのリージョンの 1 つのアカウントにデプロイされます。アベイラビリティーゾーンに Amazon VPC とサブネットが作成されます。`VPC ID` と `subnet ID` をパラメータ値として*スタックセット 2* に渡す必要があります。`VPC ID` と `subnet ID` を*スタックセット 2* に渡す前に、`AWS:::SSM::Parameter` を使用して `VPC ID` と `subnet ID` を*スタックセット 1* に保存する必要があります。詳細については、CloudFormation  ユーザーガイドの [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ssm-parameter.html)を参照してください。

**CloudFormation スタックセット 1:**

 次のスニペットでは、*alfred* ヘルパーは、パラメータストアから `VPC ID` と `subnet ID` の値を取得し、それらの値を StackSet ステートマシンに入力として渡すことができます。

```
VpcIdParameter:
    Type: AWS::SSM::Parameter
    Properties:
      Name: '/stack_1/vpc/id'
      Description: Contains the VPC id
      Type: String
      Value: !Ref MyVpc

SubnetIdParameter:
    Type: AWS::SSM::Parameter
    Properties:
      Name: '/stack_1/subnet/id'
      Description: Contains the subnet id
      Type: String
      Value: !Ref MySubnet
```

**CloudFormation スタックセット 2:**

 スニペットには、 CloudFormation スタック 2 `manifest.yaml` ファイルで指定されたパラメータが表示されます。

```
parameters:
      - parameter_key: VpcId
        parameter_value: $[alfred_ssm_/stack_1/vpc/id]
      - parameter_key: SubnetId
        parameter_value: $[alfred_ssm_/stack_1/subnet/id]
```

**CloudFormation スタックセット 2.1:**

 このスニペットは、ユーザーが *CommaDelimitedList* 型のパラメータをサポートする `alfred_ssm` プロパティを一覧表示できることを示しています。詳細については、CloudFormation  ユーザーガイドの [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#parameters-section-structure-properties-type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#parameters-section-structure-properties-type)を参照してください。

```
parameters:
      - parameter_key: VpcId # Type: String
        parameter_value: $[alfred_ssm_/stack_1/vpc/id']
      - parameter_key: SubnetId # Type: String
        parameter_value: $[ alfred_ssm_/stack_1/subnet/id']
      - parameter_key: AvailablityZones # Type: CommaDelimitedList
        parameter_value:   - "$[alfred_ssm_/availability_zone_1]"  - "$[alfred_ssm_/availability_zone_2]"
```