Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Crea modelli di lancio con CloudFormation
Questa sezione fornisce un esempio per la creazione di un modello di EC2 lancio Amazon utilizzando CloudFormation. I modelli di lancio consentono di creare modelli per la configurazione e il provisioning delle EC2 istanze Amazon all'interno. AWS Con i modelli di avvio, puoi memorizzare i parametri di avvio in modo da non doverli specificare ogni volta che avvii un'istanza. Per altri esempi, consulta la sezione Esempi nella AWS::EC2::LaunchTemplate
risorsa.
Per ulteriori informazioni sui modelli di lancio, consulta i parametri di avvio delle istanze Store nei modelli di EC2 lancio di Amazon nella Amazon EC2 User Guide.
Per informazioni sulla creazione di modelli di lancio da utilizzare con i gruppi Auto Scaling, consulta i modelli di lancio di Auto Scaling nella Amazon Auto EC2 Scaling User Guide.
Categorie dei frammenti
Crea un modello di lancio che specifichi gruppi di sicurezza, tag, dati utente e un ruolo IAM
Questo frammento mostra una AWS::EC2::LaunchTemplaterisorsa che contiene le informazioni di configurazione per avviare un'istanza. Puoi specificare i valori per le proprietà ImageId
, InstanceType
, SecurityGroups
, UserData
e TagSpecifications
. La SecurityGroups
proprietà specifica un gruppo di EC2 sicurezza esistente e un nuovo gruppo di sicurezza. La Ref
funzione ottiene l'ID della AWS::EC2::SecurityGrouprisorsa myNewEC2SecurityGroup
dichiarata altrove nel modello di stack.
Il modello di avvio include una sezione per i dati utente personalizzati. In questa sezione puoi passare attività di configurazione e script che vengono eseguiti all'avvio di un'istanza. In questo esempio, i dati utente installano l' AWS Systems Manager agente e lo avviano.
Il modello di lancio include anche un ruolo IAM che consente alle applicazioni in esecuzione su istanze di eseguire azioni per conto dell'utente. Questo esempio mostra una AWS::IAM::Rolerisorsa per il modello di avvio, che utilizza la IamInstanceProfile
proprietà per specificare il ruolo IAM. La Ref
funzione ottiene il nome della AWS::IAM::InstanceProfilerisorsamyInstanceProfile
. Per configurare le autorizzazioni del ruolo IAM, è necessario specificare un valore per la proprietà ManagedPolicyArns
.
JSON
{ "Resources":{ "myLaunchTemplate":{ "Type":"AWS::EC2::LaunchTemplate", "Properties":{ "LaunchTemplateName":{ "Fn::Sub": "${AWS::StackName}-launch-template" }, "LaunchTemplateData":{ "ImageId":"
ami-02354e95b3example
", "InstanceType":"t3.micro
", "IamInstanceProfile":{ "Name":{ "Ref":"myInstanceProfile" } }, "SecurityGroupIds":[ { "Ref":"myNewEC2SecurityGroup
" }, "sg-083cd3bfb8example
" ], "UserData":{ "Fn::Base64":{ "Fn::Join": [ "", [ "#!/bin/bash\n
", "cd /tmp\n
", "yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm\n
", "systemctl enable amazon-ssm-agent\n
", "systemctl start amazon-ssm-agent\n
" ] ] } }, "TagSpecifications":[ { "ResourceType":"instance", "Tags":[ { "Key":"environment
", "Value":"development
" } ] }, { "ResourceType":"volume", "Tags":[ { "Key":"environment
", "Value":"development
" } ] } ] } } }, "myInstanceRole":{ "Type":"AWS::IAM::Role", "Properties":{ "RoleName":"InstanceRole", "AssumeRolePolicyDocument":{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "ec2.amazonaws.com" ] }, "Action":[ "sts:AssumeRole" ] } ] }, "ManagedPolicyArns":[ "arn:aws:iam::aws:policy/myCustomerManagedPolicy
" ] } }, "myInstanceProfile":{ "Type":"AWS::IAM::InstanceProfile", "Properties":{ "Path":"/", "Roles":[ { "Ref":"myInstanceRole" } ] } } } }
YAML
--- Resources: myLaunchTemplate: Type: AWS::EC2::LaunchTemplate Properties: LaunchTemplateName: !Sub ${AWS::StackName}-launch-template LaunchTemplateData: ImageId:
ami-02354e95b3example
InstanceType:t3.micro
IamInstanceProfile: Name: !Ref myInstanceProfile SecurityGroupIds: - !RefmyNewEC2SecurityGroup
-sg-083cd3bfb8example
UserData: Fn::Base64: !Sub |#!/bin/bash cd /tmp yum install -y https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm systemctl enable amazon-ssm-agent systemctl start amazon-ssm-agent
TagSpecifications: - ResourceType: instance Tags: - Key:environment
Value:development
- ResourceType: volume Tags: - Key:environment
Value:development
myInstanceRole: Type: AWS::IAM::Role Properties: RoleName: InstanceRole AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: 'Allow' Principal: Service: - 'ec2.amazonaws.com' Action: - 'sts:AssumeRole' ManagedPolicyArns: - 'arn:aws:iam::aws:policy/myCustomerManagedPolicy
' myInstanceProfile: Type: AWS::IAM::InstanceProfile Properties: Path: '/' Roles: - !Ref myInstanceRole