

Questa è la nuova *Guida di riferimento ai modelli CloudFormation *. Aggiorna i segnalibri e i link. Per informazioni su come iniziare CloudFormation, consulta la [Guida AWS CloudFormation per l'utente](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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

# cfn-init
<a name="cfn-init"></a>

In un CloudFormation modello, puoi utilizzarlo `AWS::CloudFormation::Init` all'interno della `Metadata` sezione di una risorsa Amazon EC2 per definire le attività di inizializzazione. Per ulteriori informazioni, consulta [`AWS::CloudFormation::Init`](aws-resource-init.md).

Lo script helper `cfn-init` legge i metadati del modello dalla chiave `AWS::CloudFormation::Init` e agisce di conseguenza per:
+ Recupera e analizza i metadati da CloudFormation
+ Installa i pacchetti
+ Scrivere file su disco
+ Servizi Enable/disable and start/stop

Lo script helper `cfn-init` viene in genere eseguito dai dati utente di un’istanza Amazon EC2 o di un modello di lancio.

Se non conosci l’utilizzo degli script di supporto, ti consigliamo di completare prima il tutorial [Deploying applications on Amazon EC2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/deploying.applications.html) nella *Guida per l’utente di AWS CloudFormation *.

**Topics**
+ [Sintassi](#cfn-init-Syntax)
+ [Opzioni](#cfn-init-options)
+ [Esempi](#cfn-init-examples)
+ [Risorse correlate](#cfn-init-related-resources)

**Nota**  
Se utilizzi `cfn-init` per aggiornare un file esistente, crea una copia di backup del file originale nella stessa directory con un’estensione bak. Ad esempio, se aggiorni `/path/to/file_name`, l’operazione genera due file: `/path/to/file_name.bak` racchiude i contenuti del file originale e `/path/to/file_name` racchiude i contenuti aggiornati.

## Sintassi
<a name="cfn-init-Syntax"></a>

```
cfn-init --stack|-s stack.name.or.id \
         --resource|-r logical.resource.id \
         --region region \
         --access-key access.key \
         --secret-key secret.key \
         --role rolename \
         --credential-file|-f credential.file \
         --configsets|-c config.sets \
         --url|-u service.url \
         --http-proxy HTTP.proxy \
         --https-proxy HTTPS.proxy \
         --verbose|-v
```

**Nota**  
`cfn-init` non richiede credenziali, pertanto non è necessario utilizzare le opzioni `--access-key`, `--secret-key`, `--role` o `--credential-file`. Tuttavia, se non viene specificata alcuna credenziale, CloudFormation verifica la sottoscrizione allo stack e limita l'ambito della chiamata allo stack a cui l'istanza appartiene. Per ulteriori informazioni, consulta [Autorizzazioni per gli script helper](cfn-helper-scripts-reference.md#cfn-helper-scripts-reference-permissions).

## Opzioni
<a name="cfn-init-options"></a>


| Nome | Description | Richiesto | 
| --- | --- | --- | 
|   `-s, --stack`   |  Nome dello stack o ID stack. ▬*Tipo:* stringa *Default*: nessuna *Esempio*: `--stack { "Ref" : "AWS::StackName" },`  |  Sì  | 
|   `-r, --resource `   |  L’ID di risorsa logica della risorsa che contiene i metadati. ▬*Tipo:* stringa *Esempio*: `--resource WebServerHost`  |  Sì  | 
|   `--region`   |  L'endpoint CloudFormation regionale da utilizzare. ▬*Tipo:* stringa *Default*: `us-east-1` *Esempio*: `--region ", { "Ref" : "AWS::Region" },`  |  No  | 
|   `--access-key`   |  AWS chiave di accesso per un account con autorizzazione a chiamare`DescribeStackResource`. CloudFormation Il parametro del file delle credenziali sostituisce questo parametro. ▬*Tipo:* stringa  |  No  | 
|   `--secret-key`   |  AWS chiave di accesso segreta che corrisponde alla chiave di AWS accesso specificata. ▬*Tipo:* stringa  |  No  | 
|   `--role`   |  Il nome di un ruolo IAM associato all’istanza. ▬*Tipo:* stringa Condizione: il parametro del file delle credenziali sostituisce questo parametro.  |  No  | 
|   `-f, --credential-file`   |  Un file che contiene sia una chiave di accesso segreta sia una chiave di accesso. Il parametro del file delle credenziali sostituisce i parametri di ruolo, chiave di accesso e chiave segreta. ▬*Tipo:* stringa  |  No  | 
|   `-c, --configsets`   |  Un elenco separato da virgole di set di configurazione da eseguire (in ordine). ▬*Tipo:* stringa *Default*: `default`  |  No  | 
|   `-u, --url`   |  L' CloudFormation endpoint da usare. ▬*Tipo:* stringa  |  No  | 
|  `--http-proxy`  |  Un proxy HTTP (non SSL). Utilizzare il seguente formato: `http://user:password@host:port` ▬*Tipo:* stringa  |  No  | 
|  `--https-proxy`  |  Un proxy HTTPS. Utilizzare il seguente formato: `https://user:password@host:port` ▬*Tipo:* stringa  |  No  | 
|  `-v, --verbose`  |  Output verboso. Questa funzione è utile per il debug dei casi in cui `cfn-init` non si inizializza.  Per eseguire il debug di eventi di inizializzazione, devi attivare `DisableRollback`. Puoi quindi utilizzare SSH nella console e leggere i log in `/var/log/cfn-init.log`. Per ulteriori informazioni, consulta [Choose how to handle failures when provisioning resources](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stack-failure-options.html) nella *Guida per l’utente di AWS CloudFormation *.   |  No  | 
| `-h, --help` | Mostra il messaggio di aiuto ed esce. |  No | 

## Esempi
<a name="cfn-init-examples"></a>

### Esempi Amazon Linux
<a name="w2aac32c27c21b3"></a>

I seguenti esempi mostrano le proprietà `UserData` di un’istanza EC2, che esegue il set di configurazione `InstallAndRun` associato alla risorsa `WebServerInstance`.

Per includere la versione più recente, aggiungi `yum install -y aws-cfn-bootstrap` a `UserData`.

#### JSON
<a name="cfn-init-example.json"></a>

Proprietà `UserData` utilizzando la funzione intrinseca `Fn::Join`.

```
{
    "UserData": {
        "Fn::Base64": {
            "Fn::Join": [
                "",
                [
                    "#!/bin/bash -xe\n",
                    "",
                    "yum install -y aws-cfn-bootstrap",
                    "/opt/aws/bin/cfn-init -v ",
                    "         --stack ",
                    {
                        "Ref": "AWS::StackName"
                    },
                    "         --resource WebServerInstance ",
                    "         --configsets InstallAndRun ",
                    "         --region ",
                    {
                        "Ref": "AWS::Region"
                    },
                    "\n"
                ]
            ]
        }
    }
}
```

#### YAML
<a name="cfn-init-example.yaml"></a>

Proprietà `UserData` utilizzando la funzione intrinseca `Fn::Sub`.

```
UserData:
  Fn::Base64: !Sub |
    #!/bin/bash -xe
    yum update -y aws-cfn-bootstrap
    # Install the files and packages from the metadata
    /opt/aws/bin/cfn-init -v --stack ${AWS::StackName} --resource WebServerInstance --configsets InstallAndRun --region ${AWS::Region}
```

## Risorse correlate
<a name="cfn-init-related-resources"></a>

Per un tutorial con un modello di esempio, consulta [Deploying applications on Amazon EC2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/deploying.applications.html) nella *Guida per l’utente di AWS CloudFormation *.

*Per un Windows esempio, consulta gli [ CloudFormation stack Windows basati su Bootstrap](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-windows-stacks-bootstrapping.html) nella Guida per l'utente.AWS CloudFormation *

Puoi anche visitare il nostro GitHub repository per scaricare i [modelli di esempio](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html#sample-templates) che utilizziamo`cfn-init`, inclusi i seguenti modelli.
+  [InstanceWithCfnInit.yaml](https://github.com/aws-cloudformation/aws-cloudformation-templates/blob/main/EC2/InstanceWithCfnInit.yaml) 
+  [AutoScalingRollingUpdates.yaml](https://github.com/aws-cloudformation/aws-cloudformation-templates/blob/main/AutoScaling/AutoScalingRollingUpdates.yaml) 

Ad esempio, i modelli di stack LAMP che utilizzano`cfn-init`, vedi [ec2-lamp-server](https://github.com/aws-samples/ec2-lamp-server) sul sito web. GitHub 