

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

# Usa il comando register (utente IAM ARN) per registrare un'istanza locale
<a name="instances-on-premises-register-instance"></a>

**Importante**  
La registrazione di un'istanza utilizzando un utente IAM non è consigliata perché utilizza credenziali statiche (permanenti) per l'autenticazione. Per una maggiore sicurezza, consigliamo di registrare un'istanza utilizzando credenziali temporanee per l'autenticazione. Per ulteriori informazioni, consulta [Utilizza il comando register-on-premises-instance (ARN della sessione IAM) per registrare un'istanza locale](register-on-premises-instance-iam-session-arn.md).

**Importante**  
Assicurati di disporre di un piano per la rotazione delle chiavi di accesso dell'utente IAM (credenziali permanenti). Per ulteriori informazioni, consulta [ Rotazione delle chiavi di accesso. ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey)

Questa sezione descrive come configurare, registrare e applicare tag a un'istanza locale con il minimo sforzo utilizzando CodeDeploy . Il comando **register** è particolarmente utile quando si utilizza una singola istanza locale o un parco di istanze locali di piccole dimensioni. È possibile utilizzare il **register** comando solo quando si utilizza un ARN utente IAM per autenticare un'istanza. Non è possibile utilizzare il **register** comando con un ARN di sessione IAM per l'autenticazione.

Quando usi il **register** comando, puoi lasciare CodeDeploy fare quanto segue:
+ Crea un utente IAM AWS Identity and Access Management per l'istanza locale, se non ne specifichi uno con il comando.
+ Salva le credenziali dell'utente IAM in un file di configurazione dell'istanza locale.
+ Registra l'istanza locale con. CodeDeploy
+ Aggiungere tag all'istanza locale, se li specifichi come parte del comando.

**Nota**  
Il comando [ register-on-premises-instance è un'alternativa al ](https://docs.aws.amazon.com/cli/latest/reference/deploy/register-on-premises-instance.html) comando register. [https://docs.aws.amazon.com/cli/latest/reference/deploy/register.html](https://docs.aws.amazon.com/cli/latest/reference/deploy/register.html) Il comando **register-on-premises-instance** è indicato se desideri configurare, registrare e aggiungere tag a un'istanza locale con CodeDeploy per la maggior parte in modo autonomo. Il **register-on-premises-instance** comando offre anche la possibilità di utilizzare un ARN di sessione IAM per registrare le istanze anziché un ARN utente IAM. Questo approccio offre un vantaggio notevole se disponi di parchi di istanze locali di grandi dimensioni. In particolare, puoi utilizzare un singolo ARN di sessione IAM per autenticare più istanze invece di dover creare un utente IAM per ogni istanza locale uno per una. Per ulteriori informazioni, consulta [Usa il comando register-on-premises-instance (utente IAM ARN) per registrare un'istanza locale](register-on-premises-instance-iam-user-arn.md) e [Utilizza il comando register-on-premises-instance (ARN della sessione IAM) per registrare un'istanza locale](register-on-premises-instance-iam-session-arn.md).

**Topics**
+ [Passaggio 1: installare e configurare il AWS CLI nell'istanza locale](#instances-on-premises-register-instance-1-install-cli)
+ [Passaggio 2: richiama il comando register](#instances-on-premises-register-instance-2-register-command)
+ [Passaggio 3: richiama il comando di installazione](#instances-on-premises-register-instance-3-install-command)
+ [Passaggio 4: distribuzione delle revisioni dell'applicazione nell'istanza locale](#instances-on-premises-register-instance-4-deploy-revision)
+ [Passaggio 5: traccia delle distribuzioni sull'istanza locale](#instances-on-premises-register-instance-5-track-deployment)

## Passaggio 1: installare e configurare il AWS CLI nell'istanza locale
<a name="instances-on-premises-register-instance-1-install-cli"></a>

1. Installa AWS CLI l'istanza locale. Segui le istruzioni riportate nella [ Guida per l'utente AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html) nella Guida * per l'*AWS Command Line Interface utente.
**Nota**  
CodeDeploy i comandi per lavorare con le istanze locali sono disponibili nella AWS CLI versione 1.7.19 e successive. Se hai AWS CLI già installato, chiama **aws --version** per verificarne la versione.

1. Configura AWS CLI l'istanza locale. Segui le istruzioni riportate nella Guida alla [ configurazione della Guida per l'*AWS Command Line Interface utente AWS CLI*](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html) in.
**Importante**  
Mentre configuri AWS CLI (ad esempio, chiamando il **aws configure** comando), assicurati di specificare l'ID della chiave segreta e la chiave di accesso segreta di un utente IAM che dispone almeno delle seguenti autorizzazioni di AWS accesso oltre alle autorizzazioni specificate in. [Prerequisiti per la configurazione di un'istanza locale](instances-on-premises-prerequisites.md) In questo modo è possibile scaricare e installare l' CodeDeploy agente sull'istanza locale. Le autorizzazioni di accesso potrebbero essere simili a queste:  

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement" : [
       {
         "Effect" : "Allow",
         "Action" : [
           "codedeploy:*",
           "iam:CreateAccessKey",
           "iam:CreateUser",
           "iam:DeleteAccessKey",
           "iam:DeleteUser",
           "iam:DeleteUserPolicy",
           "iam:ListAccessKeys",
           "iam:ListUserPolicies",
           "iam:PutUserPolicy",
           "iam:GetUser",
           "tag:getTagKeys",
           "tag:getTagValues",
           "tag:GetResources"
         ],
         "Resource" : "*"
       },
       {
         "Effect" : "Allow",
         "Action" : [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource" : [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-bucket1/*"
         ]
       }     
     ]
   }
   ```
Se visualizzi errori di accesso negato quando provi ad accedere a uno dei bucket Amazon S3 mostrati in precedenza, prova a omettere la `/*` parte dell'ARN delle risorse del bucket, ad esempio. `arn:aws:s3:::aws-codedeploy-sa-east-1`

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement" : [
       {
         "Effect" : "Allow",
         "Action" : [
           "codedeploy:*",
           "iam:CreateAccessKey",
           "iam:CreateUser",
           "iam:DeleteAccessKey",
           "iam:DeleteUser",
           "iam:DeleteUserPolicy",
           "iam:ListAccessKeys",
           "iam:ListUserPolicies",
           "iam:PutUserPolicy",
           "iam:GetUser",
           "tag:GetResources"
         ],
         "Resource" : "*"
       },
       {
         "Effect" : "Allow",
         "Action" : [
           "s3:Get*",
           "s3:List*"
         ],
         "Resource" : [
           "arn:aws:s3:::amzn-s3-demo-bucket/*",
           "arn:aws:s3:::amzn-s3-demo-bucket2/*"
         ]
       }     
     ]
   }
   ```

## Passaggio 2: richiama il comando register
<a name="instances-on-premises-register-instance-2-register-command"></a>

Per questa fase, si presuppone che la registrazione dell'istanza locale venga eseguita dall'istanza locale stessa. Puoi anche registrare un'istanza locale da un dispositivo o un'istanza separata su cui è AWS CLI installato e configurato come descritto nel passaggio precedente.

Usa il [ comando AWS CLI per chiamare il ](https://docs.aws.amazon.com/cli/latest/reference/deploy/register.html) registro, specificando:
+ Un nome che identifica in modo univoco l'istanza locale di CodeDeploy (con l'opzione). `--instance-name` 
**Importante**  
Per identificare più facilmente l'istanza locale in un secondo momento, soprattutto a scopo di debug, è consigliabile utilizzare un nome mappato ad alcune caratteristiche univoche dell'istanza locale (ad esempio, il numero di serie o un identificatore di asset interno, se applicabili). Se specificate un indirizzo MAC per un nome, tenete presente che gli indirizzi MAC contengono caratteri CodeDeploy non consentiti, come i due punti (). `:` Per un elenco dei caratteri consentiti, consulta [CodeDeploy quote](limits.md).
+ Facoltativamente, l'ARN di un utente IAM esistente che desideri associare a questa istanza locale (con l'`--iam-user-arn`opzione). Per ottenere l'ARN di un utente IAM, chiama il [ comando ](https://docs.aws.amazon.com/cli/latest/reference/iam/get-user.html) get-user o scegli il nome utente IAM nella ** sezione ** Users della console IAM, quindi trova il valore ** User ** ARN nella sezione Summary. ** ** Se questa opzione non è specificata, CodeDeploy creerà un utente IAM per tuo conto nel tuo AWS account e lo assocerà all'istanza locale.
**Importante**  
Se specifichi l'opzione `--iam-user-arn`, devi anche creare manualmente il file di configurazione dell'istanza locale, come descritto in [Passaggio 4: aggiungere un file di configurazione all'istanza locale](register-on-premises-instance-iam-user-arn.md#register-on-premises-instance-iam-user-arn-4).  
 Puoi associare un solo utente IAM a una sola istanza locale. Il tentativo di associare un singolo utente IAM a più istanze locali può causare errori, distribuzioni non riuscite a tali istanze locali o distribuzioni a quelle istanze locali bloccate in uno stato di sospeso perpetuo. 
+ Facoltativamente, un set di tag di istanza locali (con l'`--tags`opzione) che CodeDeploy verranno utilizzati per identificare il set di istanze Amazon EC2 su cui distribuire. Specifica ciascun tag con `Key={{tag-key}},Value={{tag-value}}` (ad esempio, `Key=Name,Value=Beta Key=Name,Value=WestRegion`). Se questa opzione non è specificata, non verrà registrato alcun tag. Per registrare i tag in un secondo momento, chiama il comando add-tags-to-on-premises-instances. [https://docs.aws.amazon.com/cli/latest/reference/deploy/add-tags-to-on-premises-instances.html](https://docs.aws.amazon.com/cli/latest/reference/deploy/add-tags-to-on-premises-instances.html)
+ Facoltativamente, la AWS regione in cui verrà registrata l'istanza locale (con l'opzione). CodeDeploy `--region` Questa deve essere una delle regioni supportate elencate in [ Regione e gli endpoint ](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region) in *Riferimenti generali di AWS* (ad esempio,). `us-west-2` Se questa opzione non è specificata, verrà utilizzata la AWS regione predefinita associata all'utente IAM chiamante.

Ad esempio:

```
aws deploy register --instance-name AssetTag12010298EX --iam-user-arn arn:aws:iam::444455556666:user/CodeDeployUser-OnPrem --tags Key=Name,Value=CodeDeployDemo-OnPrem --region us-west-2
```

Il comando **register** funziona nel modo seguente:

1. Se non viene specificato alcun utente IAM esistente, crea un utente IAM, gli assegna le autorizzazioni richieste e genera una chiave segreta e una chiave di accesso segreta corrispondenti. L'istanza locale utilizzerà questo utente IAM e le relative autorizzazioni e credenziali per autenticarsi e interagire con esso. CodeDeploy 

1. Registra l'istanza locale con. CodeDeploy

1. Se specificato, associa CodeDeploy i tag specificati all'`--tags`opzione al nome dell'istanza locale registrata. 

1. Se è stato creato un utente IAM, crea anche il file di configurazione richiesto nella stessa directory da cui è stato chiamato il **register** comando.

Se questo comando rileva errori, viene visualizzato un messaggio di errore che descrive in che modo è possibile completare manualmente i passaggi rimanenti. In caso contrario, viene visualizzato un messaggio che descrive come chiamare il comando **install**, come illustrato nella fase successiva.

## Passaggio 3: richiama il comando di installazione
<a name="instances-on-premises-register-instance-3-install-command"></a>

Dall'istanza locale, usa il [ comando AWS CLI to call ](https://docs.aws.amazon.com/cli/latest/reference/deploy/install.html) install, specificando:
+ Il percorso del file di configurazione (con l'opzione `--config-file`).
+ Facoltativamente, se sostituire il file di configurazione già presente nell'istanza locale (con l'opzione `--override-config`). Se non specificato, il file di configurazione esistente non verrà sostituito.
+ Facoltativamente, la AWS regione in cui verrà registrata l'istanza locale CodeDeploy (con l'opzione). `--region` Questa deve essere una delle regioni supportate elencate in [ Regione e gli endpoint ](https://docs.aws.amazon.com/general/latest/gr/rande.html#codedeploy_region) in *Riferimenti generali di AWS* (ad esempio,). `us-west-2` Se questa opzione non è specificata, verrà utilizzata la AWS regione predefinita associata all'utente IAM chiamante.
+ Facoltativamente, una posizione personalizzata da cui installare l' CodeDeploy agente (con l'`--agent-installer`opzione). Questa opzione è utile per installare una versione personalizzata dell' CodeDeploy agente che non CodeDeploy supporta ufficialmente (ad esempio una versione personalizzata basata sul [ repository dell'](https://github.com/aws/aws-codedeploy-agent)CodeDeployagente in GitHub). Il valore deve essere il percorso di un bucket Amazon S3 che contiene: 
  + Uno script di installazione CodeDeploy dell'agente (per Linux o sistemi Unix-based operativi, simile al file di installazione nel [ repository degli ](https://github.com/aws/aws-codedeploy-agent/blob/master/bin/install) CodeDeploy agenti in). GitHub
  + Un file del pacchetto di installazione CodeDeploy dell'agente (.msi) (per Windows-based i sistemi operativi).

   Se questa opzione non è specificata, CodeDeploy farà del suo meglio per installare dalla propria postazione una versione ufficialmente supportata dell' CodeDeploy agente compatibile con il sistema operativo sull'istanza locale.

Ad esempio:

```
aws deploy install --override-config --config-file /tmp/codedeploy.onpremises.yml --region us-west-2 --agent-installer s3://aws-codedeploy-us-west-2/latest/codedeploy-agent.msi
```

Il comando **install** funziona nel modo seguente:

1. Verifica se l'istanza locale è un'istanza Amazon EC2. In caso affermativo, viene visualizzato un messaggio di errore.

1. Copia il file di configurazione delle istanze locali dalla posizione specificata sull'istanza alla posizione in cui l' CodeDeploy agente prevede di trovarlo, a condizione che il file non si trovi già in quella posizione.

   Per Ubuntu Server e Red Hat Enterprise Linux (RHEL)), questo è/. `/etc/codedeploy-agent/conf` `codedeploy.onpremises.yml`

   Per Windows Server, questo è`C:\ProgramData\Amazon\CodeDeploy`\\`conf.onpremises.yml`.

   Se l'opzione `--override-config` è stata specificata, crea o sovrascrive il file.

1. Installa l' CodeDeploy agente sull'istanza locale e quindi lo avvia. 

## Passaggio 4: distribuzione delle revisioni dell'applicazione nell'istanza locale
<a name="instances-on-premises-register-instance-4-deploy-revision"></a>

È ora possibile distribuire le revisioni dell'applicazione all'istanza locale registrata e contrassegnata. 

Le revisioni delle applicazioni vengono distribuite su istanze locali in modo simile alla distribuzione delle revisioni delle applicazioni su istanze Amazon EC2. Per istruzioni, consulta l’argomento [Crea una distribuzione con CodeDeploy](deployments-create.md). Queste istruzioni rimandano ai prerequisiti, inclusa la creazione di un'applicazione, la creazione di un gruppo di distribuzione e la preparazione di una revisione di un'applicazione. Se occorre una semplice revisione dell'applicazione di esempio da distribuire, puoi creare quella descritta in [Passaggio 2: creare una revisione di esempio dell'applicazione](tutorials-on-premises-instance-2-create-sample-revision.md) nel [Tutorial: Implementa un'applicazione su un'istanza locale con CodeDeploy (Windows Server, Ubuntu Server o Red Hat Enterprise Linux)](tutorials-on-premises-instance.md).

**Importante**  
Se riutilizzi un ruolo di CodeDeploy servizio esistente come parte della creazione di un gruppo di distribuzione destinato alle istanze locali, devi includerlo nella parte della dichiarazione politica del ruolo di servizio. `Tag:get*` `Action` Per ulteriori informazioni, consulta [Fase 2: Creare un ruolo di servizio per CodeDeploy](getting-started-create-service-role.md).

## Passaggio 5: traccia delle distribuzioni sull'istanza locale
<a name="instances-on-premises-register-instance-5-track-deployment"></a>

Dopo aver distribuito una revisione dell'applicazione a istanze locali registrate e contrassegnate, puoi monitorare l'avanzamento della distribuzione.

Tieni traccia delle distribuzioni sulle istanze locali in modo simile al monitoraggio delle distribuzioni sulle istanze Amazon EC2. Per istruzioni, consulta l’argomento [Visualizza i dettagli CodeDeploy della distribuzione](deployments-view-details.md).

Per ulteriori opzioni, consulta [Gestione delle operazioni delle istanze locali in CodeDeploy](on-premises-instances-operations.md).