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 lancio di Amazon EC2 utilizzando. CloudFormation I modelli di avvio consentono di creare modelli per la configurazione e il provisioning delle istanze Amazon EC2 all’interno di AWS. Con i modelli di avvio, puoi archiviare i parametri di avvio in modo da non doverli specificare ogni volta che avvii un’istanza. Per altri esempi, consulta la sezione Esempi nella risorsa AWS::EC2::LaunchTemplate.
Per maggiori informazioni sui modelli di avvio, consulta Store instance launch parameters in Amazon EC2 launch templates nella Guida per l’utente di Amazon EC2.
Per ulteriori informazioni su come creare modelli di avvio da utilizzare con i gruppi di Auto Scaling, consulta Auto Scaling launch templates nella Guida per l’utente di Amazon EC2 Auto Scaling.
Categorie dei frammenti
Creazione di un modello di avvio che specifica 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 sicurezza EC2 esistente e un nuovo gruppo di sicurezza. La Ref funzione ottiene l'ID della AWS::EC2::SecurityGrouprisorsa myNewEC2SecurityGroup dichiarata altrove nel modello dello 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 avvio include anche un ruolo IAM che consente alle applicazioni in esecuzione sulle istanze di eseguire operazioni per tuo conto. 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-02354e95b3exampleInstanceType:t3.microIamInstanceProfile: Name: !Ref myInstanceProfile SecurityGroupIds: - !RefmyNewEC2SecurityGroup-sg-083cd3bfb8exampleUserData: 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-agentTagSpecifications: - ResourceType: instance Tags: - Key:environmentValue:development- ResourceType: volume Tags: - Key:environmentValue:developmentmyInstanceRole: 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