As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Criação de pilhas usando o modo Direct Change
Há dois requisitos ao iniciar pilhas CloudFormation usando oAWSManagedServicesCloudFormationAdminRole, para que a pilha seja gerenciada pelo AMS:
O modelo deve conter um
AmsStackTransform.O nome da pilha deve começar com o prefixo
stack-seguido por uma sequência alfanumérica de 17 caracteres.
nota
Para usar o com sucessoAmsStackTransform, você deve reconhecer que seu modelo de pilha contém a CAPABILITY_AUTO_EXPAND capacidade para que AWS CloudFormation (CFN) crie ou atualize a pilha. Você faz isso passando o CAPABILITY_AUTO_EXPAND como parte de sua solicitação de criação da pilha. O CFN rejeita a solicitação se esse recurso não for reconhecido quando incluído no modelo. AmsStackTransform O console CFN garante que você transmita esse recurso se tiver a transformação em seu modelo, mas isso pode passar despercebido quando você estiver interagindo com o CFN por meio deles. APIs
Você deve transmitir esse recurso sempre que usar as seguintes chamadas de API CFN:
Ao criar ou atualizar uma pilha com o DCM, as mesmas validações e aprimoramentos do CFN Ingest e do Stack Update CTs são realizados na pilha. Para obter mais informações, consulte AWS CloudFormation Diretrizes, melhores práticas e limitações de ingestão. A exceção é que os grupos de segurança padrão do AMS (SGs) não serão anexados a nenhuma EC2 instância autônoma ou EC2 instância em grupos de Auto Scaling (). ASGs Ao criar seu CloudFormation modelo, com EC2 instâncias autônomas ou ASGs, você pode anexar o padrão. SGs
nota
Agora, as funções do IAM podem ser criadas e gerenciadas com AWSManagedServicesCloudFormationAdminRole o.
O padrão do AMS SGs tem regras de entrada e saída que permitem que as instâncias sejam iniciadas com êxito e sejam acessadas posteriormente por meio de SSH ou RDP pelas operações do AMS e por você. Se você achar que os grupos de segurança padrão do AMS são muito permissivos, você pode criar seus próprios SGs com regras mais restritivas e anexá-los à sua instância, desde que isso ainda permita que você e as operações do AMS acessem a instância durante incidentes.
Os grupos de segurança padrão do AMS são os seguintes:
SentinelDefaultSecurityGroupPrivateOnly: Pode ser acessado no modelo CFN por meio desse parâmetro SSM
/ams/${VpcId}/SentinelDefaultSecurityGroupPrivateOnlySentinelDefaultSecurityGroupPrivateOnlyEgressAll: Pode ser acessado no modelo CFN por meio desse parâmetro SSM
/ams/${VpcId}/SentinelDefaultSecurityGroupPrivateOnlyEgressAll
Transformação AMS
Adicione uma Transform declaração ao seu CloudFormation modelo. Isso adiciona uma CloudFormation macro que valida e registra a pilha no AMS no momento da inicialização.
Exemplo de JSON
"Transform": { "Name": "AmsStackTransform", "Parameters": { "StackId": {"Ref" : "AWS::StackId"} } }
Exemplo de YAML
Transform: Name: AmsStackTransform Parameters: StackId: !Ref 'AWS::StackId'
Adicione também a Transform instrução ao atualizar o modelo de uma pilha existente.
Exemplo 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"} } } } }
Exemplo de YAML
AWSTemplateFormatVersion: '2010-09-09' Description:Create an SNS TopicTransform: Name: AmsStackTransform Parameters: StackId: !Ref 'AWS::StackId' Parameters: TopicName: Type: String Default:HelloWorldTopicResources: SnsTopic: Type: AWS::SNS::Topic Properties: TopicName: !RefTopicName
Nome da pilha
O nome da pilha deve começar com o prefixo stack- seguido por uma sequência alfanumérica de 17 caracteres. Isso é para manter a compatibilidade com outros sistemas AMS que operam na pilha IDs AMS.
Veja a seguir exemplos de maneiras de gerar uma pilha IDs compatível:
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]$_}) )