

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 「fred」協助程式和 CloudFormation 參數檔案
<a name="alfred-helper"></a>

 CfCT 為您提供稱為*預製*協助程式的機制，以取得 CloudFormation 範本中定義的 [SSM 參數存放區](https://docs.aws.amazon.com//systems-manager/latest/userguide/systems-manager-parameter-store.html)金鑰值。使用*預製*協助程式，您可以使用存放在 SSM 參數存放區中的值，無需更新 CloudFormation 範本。如需詳細資訊，請參閱*CloudFormation 《 使用者指南*》中的[什麼是 CloudFormation 範本？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/gettingstarted.templatebasics.html#gettingstarted.templatebasics.what)。

**重要**  
 *預製*協助程式有兩個限制。參數僅適用於 AWS Control Tower 管理帳戶的主區域。最佳實務是考慮使用不會從堆疊執行個體變更為堆疊執行個體的值。當 'alfred' 協助程式擷取參數時，會從匯出變數的堆疊集選擇隨機堆疊執行個體。

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

 假設您有兩個 CloudFormation 堆疊集。*堆疊集 1* 有一個堆疊執行個體，並部署到一個區域中的一個帳戶。它會在可用區域中建立 Amazon VPC 和子網路，且 `VPC ID`和 `subnet ID` 必須傳遞至*堆疊集 2* 做為參數值。在將 `VPC ID`和 `subnet ID` 傳遞至*堆疊集 2* 之前，`subnet ID`必須使用 將 `VPC ID`和 存放在*堆疊集 1* 中`AWS:::SSM::Parameter`。如需詳細資訊，請參閱《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：**

 在下列程式碼片段中，*原始*協助程式可以從參數存放區取得 `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：**

 程式碼片段顯示您可以列出`alfred_ssm`屬性，以支援 *CommaDelimitedList* 類型的參數。如需詳細資訊，請參閱《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]"
```