Passaggio 1: scarica il AWS CloudFormation modello - AWS Service Catalog

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

Passaggio 1: scarica il AWS CloudFormation modello

Puoi utilizzare AWS CloudFormation i modelli per configurare e fornire portafogli e prodotti. Questi modelli sono file di testo che possono essere formattati in JSON o YAML e descrivono le risorse che si desidera fornire. Per ulteriori informazioni, consulta Formati di modello nella Guida per l'utente AWS CloudFormation. Puoi utilizzare l'AWS CloudFormationeditor o un editor di testo a tua scelta per creare e salvare modelli. In questo tutorial, forniamo un modello semplice per iniziare. Il modello avvia una singola istanza Linux configurata per l'accesso SSH.

Nota

L'utilizzo dei AWS CloudFormation modelli richiede autorizzazioni speciali. Prima di iniziare, assicurati di disporre delle autorizzazioni corrette. Per ulteriori informazioni, consulta i prerequisiti in. Libreria introduttiva

Dowload del modello

Il modello di esempio fornito per questo tutorial è disponibile all'indirizzo https://awsdocs.s3.amazonaws.com/servicecatalog/development-environment.template. development-environment.template

Panoramica del modello

Di seguito è riportato il testo del modello di esempio:

{ "AWSTemplateFormatVersion" : "2010-09-09", "Description" : "AWS Service Catalog sample template. Creates an Amazon EC2 instance running the Amazon Linux AMI. The AMI is chosen based on the region in which the stack is run. This example creates an EC2 security group for the instance to give you SSH access. **WARNING** This template creates an Amazon EC2 instance. You will be billed for the AWS resources used if you create a stack from this template.", "Parameters" : { "KeyName": { "Description" : "Name of an existing EC2 key pair for SSH access to the EC2 instance.", "Type": "AWS::EC2::KeyPair::KeyName" }, "InstanceType" : { "Description" : "EC2 instance type.", "Type" : "String", "Default" : "t2.micro", "AllowedValues" : [ "t2.micro", "t2.small", "t2.medium", "m3.medium", "m3.large", "m3.xlarge", "m3.2xlarge" ] }, "SSHLocation" : { "Description" : "The IP address range that can SSH to the EC2 instance.", "Type": "String", "MinLength": "9", "MaxLength": "18", "Default": "0.0.0.0/0", "AllowedPattern": "(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})/(\\d{1,2})", "ConstraintDescription": "Must be a valid IP CIDR range of the form x.x.x.x/x." } }, "Metadata" : { "AWS::CloudFormation::Interface" : { "ParameterGroups" : [{ "Label" : {"default": "Instance configuration"}, "Parameters" : ["InstanceType"] },{ "Label" : {"default": "Security configuration"}, "Parameters" : ["KeyName", "SSHLocation"] }], "ParameterLabels" : { "InstanceType": {"default": "Server size:"}, "KeyName": {"default": "Key pair:"}, "SSHLocation": {"default": "CIDR range:"} } } }, "Mappings" : { "AWSRegionArch2AMI" : { "us-east-1" : { "HVM64" : "ami-08842d60" }, "us-west-2" : { "HVM64" : "ami-8786c6b7" }, "us-west-1" : { "HVM64" : "ami-cfa8a18a" }, "eu-west-1" : { "HVM64" : "ami-748e2903" }, "ap-southeast-1" : { "HVM64" : "ami-d6e1c584" }, "ap-northeast-1" : { "HVM64" : "ami-35072834" }, "ap-southeast-2" : { "HVM64" : "ami-fd4724c7" }, "sa-east-1" : { "HVM64" : "ami-956cc688" }, "cn-north-1" : { "HVM64" : "ami-ac57c595" }, "eu-central-1" : { "HVM64" : "ami-b43503a9" } } }, "Resources" : { "EC2Instance" : { "Type" : "AWS::EC2::Instance", "Properties" : { "InstanceType" : { "Ref" : "InstanceType" }, "SecurityGroups" : [ { "Ref" : "InstanceSecurityGroup" } ], "KeyName" : { "Ref" : "KeyName" }, "ImageId" : { "Fn::FindInMap" : [ "AWSRegionArch2AMI", { "Ref" : "AWS::Region" }, "HVM64" ] } } }, "InstanceSecurityGroup" : { "Type" : "AWS::EC2::SecurityGroup", "Properties" : { "GroupDescription" : "Enable SSH access via port 22", "SecurityGroupIngress" : [ { "IpProtocol" : "tcp", "FromPort" : "22", "ToPort" : "22", "CidrIp" : { "Ref" : "SSHLocation"} } ] } } }, "Outputs" : { "PublicDNSName" : { "Description" : "Public DNS name of the new EC2 instance", "Value" : { "Fn::GetAtt" : [ "EC2Instance", "PublicDnsName" ] } }, "PublicIPAddress" : { "Description" : "Public IP address of the new EC2 instance", "Value" : { "Fn::GetAtt" : [ "EC2Instance", "PublicIp" ] } } } }
Risorse del modello

Il modello dichiara le risorse da creare all'avvio del prodotto e comporta le seguenti sezioni:

  • AWSTemplateFormatVersion(opzionale): la versione del formato AWS modello utilizzata per creare questo modello. L'ultima versione del formato modello è il 2010-09-09 ed è attualmente l'unico valore valido.

  • Descrizione (opzionale): una descrizione del modello.

  • Parametri (facoltativi): i parametri che l'utente deve specificare per avviare il prodotto. Per ogni parametro, il modello include una descrizione e i vincoli che devono essere soddisfatti dal valore digitato. Per ulteriori informazioni sui vincoli, consulta Utilizzo di vincoli di AWS Service Catalog.

    Il KeyName parametro consente di specificare il nome di una coppia di chiavi Amazon Elastic Compute Cloud (Amazon EC2) che gli utenti finali devono fornire al momento AWS Service Catalog del lancio del prodotto. La coppia di chiavi sarà creata nella fase successiva.

  • Metadati (facoltativi): oggetti che forniscono informazioni aggiuntive sul modello. La chiave AWS::CloudFormation: :Interface definisce il modo in cui la visualizzazione della console dell'utente finale mostra i parametri. La proprietà ParameterGroups definisce il modo in cui i parametri sono raggruppati e le intestazioni per quei gruppi. La proprietà ParameterLabels definisce nomi di parametro descrittivi. Quando un utente specifica dei parametri per avviare un prodotto basato su questo modello, la vista della console utente finale visualizza il parametro etichettato Server size: sotto l'intestazione Instance configuration e visualizza i parametri etichettati Key pair: e CIDR range: sotto l'intestazione Security configuration.

  • Mappature (opzionale): una mappatura delle chiavi e dei valori associati che è possibile utilizzare per specificare i valori dei parametri condizionali, in modo simile a una tabella di ricerca. È possibile abbinare una chiave a un valore corrispondente utilizzando la funzione FindInMap intrinseca Fn:: nelle sezioni Risorse e Uscite. Il modello sopra riportato include un elenco di AWS regioni e l'Amazon Machine Image (AMI) corrispondente a ciascuna. AWS Service Catalogutilizza questa mappatura per determinare quale AMI utilizzare in base alla AWS regione selezionata dall'utente in. AWS Management Console

  • Risorse (obbligatorie): impila le risorse e le relative proprietà. Puoi fare riferimento alle risorse nelle sezioni Risorse e Output del modello. Nel modello precedente, specifichiamo un'istanza EC2 che esegue Amazon Linux e un gruppo di sicurezza che consente l'accesso SSH all'istanza. La sezione Properties della risorsa dell'istanza EC2 utilizza le informazioni digitate dall'utente per configurare il tipo di istanza e un nome chiave per l'accesso SSH.

    AWS CloudFormationutilizza la AWS regione corrente per selezionare l'ID AMI dalle mappature definite in precedenza e gli assegna un gruppo di sicurezza. Il gruppo di sicurezza è configurato per consentire l'accesso in entrata sulla porta 22 a partire dall'intervallo di indirizzi IP CIDR specificato dall'utente.

  • Output (opzionale): testo che indica all'utente quando il lancio del prodotto è completo. Il modello fornito ottiene il nome DNS pubblico dell'istanza avviata e lo visualizza per l'utente. L'utente necessita del nome DNS per eseguire la connessione all'istanza tramite SSH.

    Per ulteriori informazioni sulla pagina di anatomia del modello, consulta il riferimento al modello nella Guida per l'AWS CloudFormationutente.