AWS CloudFormation concetti - AWS CloudFormation

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à.

AWS CloudFormation concetti

Quando si utilizza AWS CloudFormation, si lavora con modelli e pile. Crei modelli per descrivere AWS le tue risorse e le loro proprietà. Ogni volta che crei uno stack, CloudFormation effettua il provisioning delle risorse descritte nel modello.

Modelli

Un CloudFormation modello è un file di testo in formato JSON o YAML. È possibile salvare questi file con qualsiasi estensione, ad esempio,, o.json. .yaml .template .txt CloudFormation utilizza questi modelli come modelli per creare le tue AWS risorse. Ad esempio, in un modello è possibile descrivere un'istanza Amazon EC2, come il tipo di istanza, l'ID AMI, le mappature dei dispositivi a blocchi e il relativo nome della coppia di chiavi Amazon EC2. Ogni volta che crei uno stack, specifichi anche un modello da CloudFormation utilizzare per creare tutto ciò che hai descritto nel modello.

Ad esempio, se hai creato uno stack con il seguente modello, effettua il CloudFormation provisioning di un'istanza con un ID ami-0ff8a91507f77f867 AMI, un tipo di t2.micro istanza, un nome di testkey key pair e un volume Amazon EBS.

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "A sample template", "Resources": { "MyEC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-0ff8a91507f77f867", "InstanceType": "t2.micro", "KeyName": "testkey", "BlockDeviceMappings": [ { "DeviceName": "/dev/sdm", "Ebs": { "VolumeType": "io1", "Iops": 200, "DeleteOnTermination": false, "VolumeSize": 20 } } ] } } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Description: A sample template Resources: MyEC2Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: ami-0ff8a91507f77f867 InstanceType: t2.micro KeyName: testkey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20

È anche possibile specificare più risorse in un singolo modello e configurare tali risorse in modo che funzionino insieme. Ad esempio, puoi modificare il modello precedente per includere un indirizzo IP elastico (EIP) e associarlo all'istanza Amazon EC2, come illustrato nell'esempio seguente:

JSON

{ "AWSTemplateFormatVersion": "2010-09-09", "Description": "A sample template", "Resources": { "MyEC2Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": "ami-0ff8a91507f77f867", "InstanceType": "t2.micro", "KeyName": "testkey", "BlockDeviceMappings": [ { "DeviceName": "/dev/sdm", "Ebs": { "VolumeType": "io1", "Iops": 200, "DeleteOnTermination": false, "VolumeSize": 20 } } ] } }, "MyEIP": { "Type": "AWS::EC2::EIP", "Properties": { "InstanceId": { "Ref": "MyEC2Instance" } } } } }

YAML

AWSTemplateFormatVersion: 2010-09-09 Description: A sample template Resources: MyEC2Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: ami-0ff8a91507f77f867 InstanceType: t2.micro KeyName: testkey BlockDeviceMappings: - DeviceName: /dev/sdm Ebs: VolumeType: io1 Iops: 200 DeleteOnTermination: false VolumeSize: 20 MyEIP: Type: 'AWS::EC2::EIP' Properties: InstanceId: !Ref MyEC2Instance

I modelli precedenti sono incentrati su una singola istanza di Amazon EC2; tuttavia CloudFormation, i modelli dispongono di funzionalità aggiuntive che puoi utilizzare per creare set complessi di risorse e riutilizzare tali modelli in più contesti. Ad esempio, puoi aggiungere parametri di input i cui valori vengono specificati quando crei uno stack. CloudFormation In altre parole, è possibile specificare un valore, ad esempio il tipo di istanza, al momento della creazione di uno stack anziché quando si crea il modello, rendendo il modello più semplice da riutilizzare in situazioni diverse.

Per ulteriori informazioni sulla creazione e le funzionalità di un modello, consulta Anatomia dei modelli.

Per ulteriori informazioni sulla dichiarazione di risorse specifiche, consulta AWS riferimento ai tipi di risorse e proprietà.

Per iniziare a progettare modelli personalizzati con AWS CloudFormation Designer, visitate https://console.aws.amazon.com/cloudformation/designer.

Stack

Quando utilizzate CloudFormation, gestite le risorse correlate come una singola unità chiamata pila. Puoi creare, aggiornare ed eliminare una raccolta di risorse mediante la creazione, l'aggiornamento e l'eliminazione di stack. Tutte le risorse di uno stack sono definite dal modello dello stack. CloudFormation Supponi di aver creato un modello che include un gruppo Auto Scaling, un load balancer Elastic Load Balancing e un'istanza database Amazon Relational Database Service (Amazon RDS). Per creare queste risorse, crei uno stack inviando il modello che hai creato ed esegui il CloudFormation provisioning di tutte quelle risorse al posto tuo. Puoi lavorare con gli stack utilizzando la CloudFormation console, l'API o. AWS CLI

Per ulteriori informazioni sulla creazione, l'aggiornamento o l'eliminazione di stack, consulta Utilizzo degli stack di .

Set di modifiche

Per apportare modifiche alle risorse in esecuzione in uno stack, puoi aggiornare lo stack. Prima di apportare modifiche alle risorse, è possibile generare un set di modifiche, che è un riepilogo delle modifiche proposte. I set di modifiche consentono di vedere in che modo le modifiche possono influire sulle risorse in esecuzione, soprattutto nel caso di risorse critiche, prima di applicarle.

Ad esempio, se modifichi il nome di un'istanza di database Amazon RDS, CloudFormation creerà un nuovo database ed eliminerà quello precedente. Perderai i dati nel vecchio database, a meno che non abbia già eseguito il backup. Se generi un set di modifiche, vedrai che la modifica causerà la sostituzione del database e sarai in grado di pianificare le attività di conseguenza prima di aggiornare lo stack. Per ulteriori informazioni, consulta Aggiornamento di stack utilizzando i set di modifiche.