El ayudante “alfred” y los archivos de parámetros de CloudFormation - AWS Control Tower

El ayudante “alfred” y los archivos de parámetros de CloudFormation

CfCT le proporciona un mecanismo conocido como el ayudante alfred para obtener el valor de una clave del almacén de parámetros de SSM definida en la plantilla de CloudFormation. Con el asistente alfred, puede utilizar valores almacenados en el almacén de parámetros de SSM sin actualizar la plantilla de CloudFormation. Para obtener más información, consulte What is an CloudFormation template? en la Guía del usuario de CloudFormation.

importante

El ayudante alfred tiene dos limitaciones. Los parámetros solo están disponibles en la región de origen de la cuenta de administración de AWS Control Tower. Como práctica recomendada, considere la posibilidad de trabajar con valores que no cambien de una instancia de pila a otra. Cuando el asistente «alfred» recupera los parámetros, elige una instancia de pila aleatoria del conjunto de pilas que exporta la variable.

Ejemplo

Supongamos que tiene dos conjuntos de pilas de CloudFormation. El conjunto de pilas 1 tiene una instancia de pila y se implementa en una cuenta de una región. Crea una Amazon VPC y subredes en una zona de disponibilidad, y el VPC ID y el subnet ID deben pasarse al conjunto de pilas 2 como valores de parámetros. Antes de poder pasar el VPC ID y el subnet ID al conjunto de pilas 2, el VPC ID y el subnet ID deben almacenarse en el conjunto de pilas 1 mediante AWS:::SSM::Parameter. Para obtener más información, consulte AWS:::SSM::Parameter en la Guía del usuario de CloudFormation.

CloudFormation conjunto de pilas 1 de 1:

En el siguiente fragmento, el ayudante alfred puede obtener los valores para el VPC ID y el subnet ID del almacén de parámetros y pasarlos como entrada a la máquina de estado de 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 conjunto de pilas 2 de 2:

El fragmento muestra los parámetros que se especifican en el archivo manifest.yaml de la pila 2 de CloudFormation.

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

CloudFormation conjunto de pilas 2.1 de 2.1:

El fragmento muestra la posibilidad de enumerar las propiedades alfred_ssm para que sean compatibles con parámetros de tipo CommaDelimitedList. Para obtener más información, consulte Parameters en la Guía del usuario de CloudFormation.

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]"