Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configurez EC2 les instances Amazon avec AWS CloudFormation
Les extraits suivants montrent comment configurer les EC2 instances Amazon à l'aide de. AWS CloudFormation
Catégories d'extraits
EC2Configurations générales d'Amazon
Les extraits suivants illustrent les configurations générales utilisées par les EC2 instances Amazon. AWS CloudFormation
Exemples d'extraits
- Création d'une EC2 instance Amazon dans une zone de disponibilité spécifiée
- Configurer une EC2 instance Amazon balisée avec un EBS volume et des données utilisateur
- Définir le nom de la table DynamoDB dans les données utilisateur pour le lancement d'une instance Amazon EC2
- Créez un EBS volume Amazon avec DeletionPolicy
Création d'une EC2 instance Amazon dans une zone de disponibilité spécifiée
L'extrait suivant crée une EC2 instance Amazon dans la zone de disponibilité spécifiée à l'aide d'une ressource AWS: : EC2 : :Instance. Le code d'une zone de disponibilité représente son code de région suivi d'un identifiant à lettre. Vous pouvez lancer une instance dans une seule zone de disponibilité.
JSON
"Ec2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "AvailabilityZone": "
aa-example-1a
", "ImageId": "ami-1234567890abcdef0
" } }
YAML
Ec2Instance: Type: AWS::EC2::Instance Properties: AvailabilityZone:
aa-example-1a
ImageId:ami-1234567890abcdef0
Configurer une EC2 instance Amazon balisée avec un EBS volume et des données utilisateur
L'extrait suivant crée une EC2 instance Amazon avec une balise, un EBS volume et des données utilisateur. Il utilise une ressource AWS: : EC2 : :Instance. Dans le même modèle, vous devez définir une ressource AWS: EC2 : :, une SecurityGroup ressource AWS: SNS : :Topic et une ressource AWS: : EC2 : :Volume. Le KeyName
doit être défini dans la section du modèle Parameters
.
Les balises peuvent vous aider à classer les AWS ressources en fonction de vos préférences, par exemple par objectif, propriétaire ou environnement. Les données utilisateur permettent de fournir des scripts ou des données personnalisés à une instance lors du lancement. Ces données facilitent l'automatisation des tâches, la configuration logicielle, l'installation de packages et d'autres actions sur une instance lors de l'initialisation.
Pour plus d'informations sur le balisage de vos ressources, consultez la section Marquer vos EC2 ressources Amazon.
Pour plus d'informations sur les données utilisateur, consultez Métadonnées d'instance et données utilisateur (français non garanti).
JSON
"Ec2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "KeyName": { "Ref": "KeyName" }, "SecurityGroups": [ { "Ref": "Ec2SecurityGroup" } ], "UserData": { "Fn::Base64": { "Fn::Join": [ ":", [ "PORT=80", "TOPIC=", { "Ref": "MySNSTopic" } ] ] } }, "InstanceType": "
aa.size
", "AvailabilityZone": "aa-example-1a
", "ImageId": "ami-1234567890abcdef0
", "Volumes": [ { "VolumeId": { "Ref": "MyVolumeResource" }, "Device": "/dev/sdk" } ], "Tags": [ { "Key": "Name", "Value": "MyTag" } ] } }
YAML
Ec2Instance: Type: AWS::EC2::Instance Properties: KeyName: !Ref KeyName SecurityGroups: - !Ref Ec2SecurityGroup UserData: Fn::Base64: Fn::Join: - ":" - - "PORT=80" - "TOPIC=" - !Ref MySNSTopic InstanceType:
aa.size
AvailabilityZone:aa-example-1a
ImageId:ami-1234567890abcdef0
Volumes: - VolumeId: !Ref MyVolumeResource Device: "/dev/sdk" Tags: - Key: Name Value: MyTag
Définir le nom de la table DynamoDB dans les données utilisateur pour le lancement d'une instance Amazon EC2
L'extrait suivant crée une EC2 instance Amazon et définit un nom de table DynamoDB dans les données utilisateur à transmettre à l'instance lors du lancement. Il utilise une ressource AWS: : EC2 : :Instance. Vous pouvez définir des paramètres ou des valeurs dynamiques dans les données utilisateur pour transmettre une EC2 instance au lancement.
Pour plus d'informations sur les données utilisateur, consultez Métadonnées d'instance et données utilisateur (français non garanti).
JSON
"Ec2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "UserData": { "Fn::Base64": { "Fn::Join": [ "", [ "TableName=", { "Ref": "DynamoDBTableName" } ] ] } }, "AvailabilityZone": "
aa-example-1a
", "ImageId": "ami-1234567890abcdef0
" } }
YAML
Ec2Instance: Type: AWS::EC2::Instance Properties: UserData: Fn::Base64: Fn::Join: - '' - - 'TableName=' - Ref: DynamoDBTableName AvailabilityZone:
aa-example-1a
ImageId:ami-1234567890abcdef0
Créez un EBS volume Amazon avec DeletionPolicy
Les extraits suivants créent un EBS volume Amazon à l'aide d'une ressource Amazon EC2 AWS: : EC2 : :Volume. Vous pouvez utiliser les propriétés Size
or SnapshotID
pour définir le volume, mais pas les deux. Un attribut DeletionPolicy
est défini pour créer un instantané du volume lorsque la pile est supprimée.
Pour plus d'informations sur l'attribut DeletionPolicy
, consultez Attribut DeletionPolicy
.
Pour plus d'informations sur la création de EBS volumes Amazon, consultez Créer un EBS volume Amazon.
JSON
Cet extrait crée un EBS volume Amazon d'une taille spécifiée. La taille est fixée à 10, mais vous pouvez l'ajuster selon vos besoins. La ressource AWS: : EC2 : :Volume vous permet de spécifier la taille ou l'ID d'un instantané, mais pas les deux.
"MyEBSVolume": { "Type": "AWS::EC2::Volume", "Properties": { "Size": "
10
", "AvailabilityZone": { "Ref": "AvailabilityZone" } }, "DeletionPolicy": "Snapshot" }
Cet extrait crée un EBS volume Amazon à l'aide d'un identifiant de capture fourni. La ressource AWS: : EC2 : :Volume vous permet de spécifier la taille ou l'ID d'un instantané, mais pas les deux.
"MyEBSVolume": { "Type": "AWS::EC2::Volume", "Properties": { "SnapshotId" : "
snap-1234567890abcdef0
", "AvailabilityZone": { "Ref": "AvailabilityZone" } }, "DeletionPolicy": "Snapshot" }
YAML
Cet extrait crée un EBS volume Amazon d'une taille spécifiée. La taille est fixée à 10, mais vous pouvez l'ajuster selon vos besoins. La ressource AWS: : EC2 : :Volume vous permet de spécifier la taille ou l'ID d'un instantané, mais pas les deux.
MyEBSVolume: Type: AWS::EC2::Volume Properties: Size:
10
AvailabilityZone: Ref: AvailabilityZone DeletionPolicy: Snapshot
Cet extrait crée un EBS volume Amazon à l'aide d'un identifiant de capture fourni. La ressource AWS: : EC2 : :Volume vous permet de spécifier la taille ou l'ID d'un instantané, mais pas les deux.
MyEBSVolume: Type: AWS::EC2::Volume Properties: SnapshotId:
snap-1234567890abcdef0
AvailabilityZone: Ref: AvailabilityZone DeletionPolicy: Snapshot
Spécifier les mappages de périphérique de stockage en mode bloc pour une instance
Un mappage de périphériques en mode bloc définit les périphériques en mode bloc, y compris les volumes de stockage d'instance et les EBS volumes, à associer à une instance. Vous pouvez spécifier un mappage de périphériques en mode bloc lors de la création d'un AMI afin que le mappage soit utilisé par toutes les instances lancées depuis leAMI. Vous pouvez également spécifier un mappage de périphériques en mode bloc lorsque vous lancez une instance, afin que le mappage remplace celui spécifié dans le mappage à AMI partir duquel l'instance a été lancée.
Vous pouvez utiliser les extraits de modèle suivants pour spécifier les mappages de périphériques par blocs pour vos volumes de stockage EBS ou ceux de votre instance à l'aide de la BlockDeviceMappings
propriété d'une ressource AWS: : EC2 : :Instance.
Pour plus d'informations sur les mappages d'appareils en mode bloc, consultez la section Mappages d'appareils en mode bloc dans le guide de EC2l'utilisateur Amazon.
Scénarios
Spécifiez les mappages de périphériques en mode bloc pour deux volumes EBS
JSON
"Ec2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": { "Fn::FindInMap": [ "
AWSRegionArch2AMI
", { "Ref": "AWS::Region" }, { "Fn::FindInMap": [ "AWSInstanceType2Arch
", { "Ref": "InstanceType" }, "Arch" ] } ] }, "KeyName": { "Ref": "KeyName" }, "InstanceType": { "Ref": "InstanceType" }, "SecurityGroups": [{ "Ref": "Ec2SecurityGroup" }], "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1
", "Ebs": { "VolumeSize": "50
" } }, { "DeviceName": "/dev/sdm
", "Ebs": { "VolumeSize": "100
" } } ] } } }
YAML
EC2Instance: Type: AWS::EC2::Instance Properties: ImageId: !FindInMap [
AWSRegionArch2AMI
, !Ref 'AWS::Region', !FindInMap [AWSInstanceType2Arch
, !Ref InstanceType, Arch]] KeyName: !Ref KeyName InstanceType: !Ref InstanceType SecurityGroups: - !Ref Ec2SecurityGroup BlockDeviceMappings: - DeviceName:/dev/sda1
Ebs: VolumeSize:50
- DeviceName:/dev/sdm
Ebs: VolumeSize:100
Spécifier le mappage de périphérique de stockage en mode bloc d'un volume de stockage d'instances
JSON
"Ec2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "ImageId" : { "Fn::FindInMap" : [ "
AWSRegionArch2AMI
", { "Ref" : "AWS::Region" }, "HVM64
" ]}, "KeyName" : { "Ref" : "KeyName" }, "InstanceType": { "Ref": "InstanceType" }, "SecurityGroups" : [{ "Ref" : "Ec2SecurityGroup" }], "BlockDeviceMappings" : [ { "DeviceName" : "/dev/sdc
", "VirtualName" : "ephemeral0
" } ] } }
YAML
EC2Instance: Type: AWS::EC2::Instance Properties: ImageId: !FindInMap -
AWSRegionArch2AMI
- !Ref AWS::Region - HVM64 KeyName: !Ref KeyName InstanceType: !Ref InstanceType SecurityGroups: - !Ref Ec2SecurityGroup BlockDeviceMappings: - DeviceName:/dev/sdc
VirtualName:ephemeral0