Creación de pilas mediante el modo de cambio directo - Guía de usuario avanzada de AMS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de pilas mediante el modo de cambio directo

Para que AMS pueda gestionar la pilaAWSManagedServicesCloudFormationAdminRole, hay dos requisitos a la hora de lanzar pilas: CloudFormation

  • La plantilla debe contener unAmsStackTransform.

  • El nombre de la pila debe empezar por el prefijo stack- seguido de una cadena alfanumérica de 17 caracteres.

nota

Para utilizar correctamente elAmsStackTransform, debe reconocer que la plantilla de pila contiene la CAPABILITY_AUTO_EXPAND capacidad necesaria para que CloudFormation (CFN) cree o actualice la pila. Para ello, debes pasarla CAPABILITY_AUTO_EXPAND como parte de tu solicitud de creación de pila. CFN rechaza la solicitud si no se reconoce esta capacidad al incluirla en AmsStackTransform la plantilla. La consola CFN garantiza que superes esta capacidad si tienes la transformación en tu plantilla, pero es posible que no la utilices cuando interactúes con CFN a través de ella. APIs

Debe utilizar esta función siempre que utilice las siguientes llamadas a la API de CFN:

Al crear o actualizar una pila con DCM, se realizan las mismas validaciones y ampliaciones de CFN Ingest y Stack Update CTs en la pila. Para obtener más información, consulte las pautas, mejores prácticas y limitaciones de la CloudFormation ingesta. La excepción a esto es que los grupos de seguridad predeterminados de AMS (SGs) no se adjuntarán a ninguna EC2 instancia independiente ni EC2 a ninguna instancia de los grupos de Auto Scaling (ASGs). Al crear la CloudFormation plantilla, con EC2 instancias independientes o bien ASGs, puede adjuntar la predeterminada. SGs

nota

Los roles de IAM ahora se pueden crear y administrar con. AWSManagedServicesCloudFormationAdminRole

De forma predeterminada, los AMS SGs tienen reglas de entrada y salida que permiten que las instancias se lancen correctamente y que las operaciones de AMS y usted puedan acceder a ellas más adelante mediante SSH o RDP. Si descubre que los grupos de seguridad predeterminados de AMS son demasiado permisivos, puede crear los suyos propios SGs con reglas más restrictivas y adjuntarlos a su instancia, siempre y cuando le permitan a usted y a las operaciones de AMS acceder a la instancia durante los incidentes.

Los grupos de seguridad predeterminados de AMS son los siguientes:

  • SentinelDefaultSecurityGroupPrivateOnly: Se puede acceder a ellos en la plantilla CFN a través de este parámetro SSM /ams/${VpcId}/SentinelDefaultSecurityGroupPrivateOnly

  • SentinelDefaultSecurityGroupPrivateOnlyEgressAll: Se puede acceder a él en la plantilla CFN a través de este parámetro SSM /ams/${VpcId}/SentinelDefaultSecurityGroupPrivateOnlyEgressAll

Transformación AMS

Añada una Transform declaración a su CloudFormation plantilla. Esto añade una CloudFormation macro que valida y registra la pila en AMS en el momento del lanzamiento.

Ejemplo de JSON

"Transform": {     "Name": "AmsStackTransform",     "Parameters": {       "StackId": {"Ref" : "AWS::StackId"}     }   }

Ejemplo de YAML

Transform: Name: AmsStackTransform Parameters: StackId: !Ref 'AWS::StackId'

Agrega también la Transform declaración al actualizar la plantilla de una pila existente.

Ejemplo de JSON

{   "AWSTemplateFormatVersion": "2010-09-09",   "Description" : "Create an SNS Topic",    "Transform": { "Name": "AmsStackTransform", "Parameters": { "StackId": {"Ref" : "AWS::StackId"} } },   "Parameters": {     "TopicName": {       "Type": "String",       "Default": "HelloWorldTopic"     }   },   "Resources": {     "SnsTopic": {       "Type": "AWS::SNS::Topic",       "Properties": {         "TopicName": {"Ref": "TopicName"}       }     }   } }

Ejemplo de YAML

AWSTemplateFormatVersion: '2010-09-09' Description: Create an SNS Topic Transform: Name: AmsStackTransform Parameters: StackId: !Ref 'AWS::StackId' Parameters: TopicName: Type: String Default: HelloWorldTopic Resources: SnsTopic: Type: AWS::SNS::Topic Properties: TopicName: !Ref TopicName

Nombre de pila

El nombre de la pila debe empezar por el prefijo stack- seguido de una cadena alfanumérica de 17 caracteres. Esto es para mantener la compatibilidad con otros sistemas AMS que funcionan en la pila AMS. IDs 

Los siguientes son ejemplos de formas de generar una pila compatible IDs:

Bash:

echo "stack-$(env LC_CTYPE=C tr -dc 'a-z0-9' < /dev/urandom | head -c 17)"

Python:

import string import random 'stack-' + ''.join(random.choices(string.ascii_lowercase + string.digits, k=17))

Powershell:

"stack-" + ( -join ((0x30..0x39) + ( 0x61..0x7A) | Get-Random -Count 17 | % {[char]$_}) )