

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

# Amazon ECS Service Connect con namespace condivisi AWS Cloud Map
<a name="service-connect-shared-namespaces"></a>

Amazon ECS Service Connect supporta l'uso di AWS Cloud Map namespace condivisi tra più Account AWS nomi all'interno dello stesso. Regione AWS Questa funzionalità consente di creare applicazioni distribuite in cui servizi eseguiti in aree diverse Account AWS possono rilevarsi e comunicare tra loro tramite Service Connect. I namespace condivisi vengono gestiti utilizzando AWS Resource Access Manager (AWS RAM), che consente la condivisione sicura delle risorse tra account. *Per ulteriori informazioni sugli spazi dei nomi condivisi, consulta Condivisione [AWS Cloud Map dello spazio dei nomi tra account nella Guida per gli sviluppatori](https://docs.aws.amazon.com/cloud-map/latest/dg/sharing-namespaces.html).AWS Cloud Map *

**Importante**  
È necessario utilizzare l'autorizzazione gestita da `AWSRAMPermissionCloudMapECSFullPermission` per condividere il namespace affinché Service Connect funzioni correttamente con il namespace.

Quando si utilizzano AWS Cloud Map namespace condivisi con Service Connect, i servizi di più nomi Account AWS possono partecipare allo stesso spazio dei nomi di servizio. Ciò è particolarmente utile per le organizzazioni con più account Account AWS che devono mantenere la service-to-service comunicazione oltre i confini degli account preservando al contempo la sicurezza e l'isolamento.

**Nota**  
Per comunicare con servizi diversi VPCs, è necessario configurare la connettività inter-VPC. Ciò si può fare utilizzando una connessione peering VPC. Per ulteriori informazioni, consultare [Create or delete a VPC Peering connection](https://docs.aws.amazon.com/vpc/latest/peering/create-vpc-peering-connection.html) nella *Guida al peering VPC di Amazon Virtual Private Cloud*.

# Utilizzo di AWS Cloud Map namespace condivisi con Amazon ECS Service Connect
<a name="service-connect-shared-namespaces-setup"></a>

La configurazione di AWS Cloud Map namespace condivisi per Service Connect prevede i seguenti passaggi: il proprietario del namespace crea lo spazio dei nomi, il proprietario lo condivide tramite AWS Resource Access Manager (AWS RAM), il consumatore accetta la condivisione delle risorse e il consumatore configura Service Connect per l'utilizzo dello spazio dei nomi condiviso.

## AWS Cloud Map Passaggio 1: creare lo spazio dei nomi
<a name="service-connect-shared-namespaces-create"></a>

Il proprietario dello spazio dei nomi crea uno spazio AWS Cloud Map dei nomi che verrà condiviso con altri account.

**Per creare uno spazio dei nomi per la condivisione utilizzando il Console di gestione AWS**

1. Apri la AWS Cloud Map console all'indirizzo. [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/)

1. Selezionare **Crea namespace**.

1. Inserire un **Nome del namespace**. Questo nome verrà utilizzato dai servizi in tutti gli account partecipanti.

1. Per **Tipo di namespace**, scegliere il tipo appropriato per il caso d'uso:
   + **Chiamate API**: namespace HTTP per il rilevamento servizi senza funzionalità DNS.
   + **Chiamate API e query DNS in VPCs** ‐ Namespace DNS privati per l'individuazione di servizi con query DNS private in un VPC.
   + **Chiamate API e query DNS pubbliche**: namespace DNS pubblici per il rilevamento servizi con query DNS pubbliche.

1.  Selezionare **Crea namespace**.

## Passaggio 2: condividi lo spazio dei nomi utilizzando AWS RAM
<a name="service-connect-shared-namespaces-share"></a>

Il proprietario dello spazio dei nomi utilizza AWS RAM per condividere lo spazio dei nomi con altri. Account AWS

**Per condividere uno spazio dei nomi utilizzando la console AWS RAM**

1. Apri la AWS RAM console all'indirizzo. [https://console.aws.amazon.com/ram/](https://console.aws.amazon.com/ram/)

1. Seleziona **Crea condivisione risorse**.

1. Per **Nome**, inserire un nome descrittivo della risorsa da condividere.

1. Nella sezione **Risorse**:

   1. Per **Tipo di risorsa**, scegliere **Namespace della mappa cloud**.

   1. Selezionare il namespace creato nella fase precedente.

1. Nella sezione **Autorizzazioni gestite**, specifica **AWSRAMPermissionCloudMapECSFullAutorizzazione**.
**Importante**  
È necessario utilizzare l'autorizzazione gestita da `AWSRAMPermissionCloudMapECSFullPermission` per condividere il namespace affinché Service Connect funzioni correttamente con il namespace.

1. Nella sezione **Principali**, specificare gli Account AWS con cui condividere il namespace. Puoi inserire l'account IDs o l'unità IDs organizzativa.

1. Seleziona **Crea condivisione risorse**.

## Fase 3: Accettare la condivisione delle risorse
<a name="service-connect-shared-namespaces-accept"></a>

Gli account consumer del namespace devono accettare l'invito alla condivisione delle risorse per utilizzare il namespace condiviso.

**Per accettare un invito alla condivisione di risorse utilizzando la AWS RAM console**

1. Nell'account consumer, apri la AWS RAM console all'indirizzo [https://console.aws.amazon.com/ram/](https://console.aws.amazon.com/ram/).

1. Nel riquadro di navigazione, scegliere **Condivise con me**, poi scegliere **Condivisioni di risorse**.

1. Selezionare l'invito alla condivisione delle risorse e scegliere **Accetta la condivisione delle risorse**.

1. Dopo aver accettato, annotare l'ARN del namespace condiviso dai dettagli della risorsa. Si utilizzerà questo ARN per configurare i servizi Service Connect.

## Fase 4: Configurare un servizio Amazon ECS con il namespace condiviso
<a name="service-connect-shared-namespaces-configure"></a>

Dopo aver accettato il namespace condiviso, il consumer del namespace può configurare i servizi Amazon ECS per utilizzare il namespace condiviso. La configurazione è simile all'utilizzo di un namespace normale, ma è necessario specificare l'ARN del namespace anziché il nome. Per una procedura dettagliata di creazione del servizio, consultare [Creazione di un'implementazione di aggiornamenti continui di Amazon ECS](create-service-console-v2.md).

**Per creare un servizio con uno spazio dei nomi condiviso utilizzando il Console di gestione AWS**

1. [Aprire la console nella versione 2. https://console.aws.amazon.com/ecs/](https://console.aws.amazon.com/ecs/v2)

1. Sulla pagina **Cluster**, scegliere il cluster in cui creare il servizio.

1. In **Servizi**, scegliere **Crea**.

1. Dopo aver inserito altri dettagli a seconda del carico di lavoro, nella sezione **Service Connect**, scegliere **Usa Service Connect**.

1. Per **Namespace**, inserire l'ARN completo del namespace condiviso.

   Il formato ARN è: `arn:aws:servicediscovery:region:account-id:namespace/namespace-id`

1. Configurare le impostazioni rimanenti di Service Connect in base alle esigenze per il tipo di servizio (client o client-server).

1. Completare il processo di creazione del servizio.

È inoltre possibile configurare i servizi utilizzando AWS CLI o AWS SDKs specificando lo spazio dei nomi condiviso ARN nel `namespace` parametro di. `serviceConnectConfiguration`

```
aws ecs create-service \
    --cluster my-cluster \
    --service-name my-service \
    --task-definition my-task-def \
    --service-connect-configuration '{
        "enabled": true,
        "namespace": "arn:aws:servicediscovery:us-west-2:123456789012:namespace/ns-abcdef1234567890",
        "services": [{
            "portName": "web",
            "discoveryName": "my-service",
            "clientAliases": [{
                "port": 80,
                "dnsName": "my-service"
            }]
        }]
    }'
```

## Considerazioni
<a name="service-connect-shared-namespaces-considerations"></a>

Considerate quanto segue quando utilizzate AWS Cloud Map namespace condivisi con Service Connect:
+ AWS RAM deve essere disponibile nel luogo in Regione AWS cui desideri utilizzare lo spazio dei nomi condiviso.
+ Lo spazio dei nomi condiviso deve trovarsi nello stesso dei servizi Regione AWS e dei cluster Amazon ECS.
+ È necessario utilizzare l'ARN del namespace, non l'ID, quando si configura Service Connect con un namespace condiviso.
+ Sono supportati tutti i tipi di namespace: HTTP, DNS privato e namespace DNS pubblico.
+ Se l'accesso a un namespace condiviso viene revocato, le operazioni di Amazon ECS che richiedono l'interazione con lo il namespace (come `CreateService`, `UpdateService` e `ListServicesByNamespace`) avranno esito negativo. Per ulteriori informazioni sulle autorizzazioni per la risoluzione dei problemi relativi ai namespace condivisi, consultare [Risoluzione dei problemi di Amazon ECS Service Connect con namespace condivisi AWS Cloud Map](service-connect-shared-namespaces-troubleshooting.md).
+ Per il rilevamento servizi tramite query DNS in un namespace DNS privato condiviso:
  + Il proprietario del namespace dovrà chiamare `create-vpc-association-authorization` con l'ID della zona ospitata privata associata al namespace e il VPC del consumer.

    ```
    aws route53 create-vpc-association-authorization --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
    ```
  + Il consumer del namespace dovrà chiamare `associate-vpc-with-hosted-zone` con l'ID della zona ospitata privata.

    ```
    aws route53 associate-vpc-with-hosted-zone --hosted-zone-id Z1234567890ABC --vpc VPCRegion=us-east-1,VPCId=vpc-12345678
    ```
+ Solo il proprietario del namespace può gestire la condivisione delle risorse.
+ I consumer del namespace possono creare e gestire servizi all'interno del namespace condiviso ma non possono modificare il namespace stesso.
+ I nomi Discovery devono essere univoci all'interno del namespace condiviso, indipendentemente dall'account che crea il servizio.
+ I servizi nello spazio dei nomi condiviso possono scoprire e connettersi ai servizi di altri AWS account che hanno accesso allo spazio dei nomi.
+ Quando si abilita TLS per Service Connect e si utilizza un namespace condiviso, l'Autorità di certificazione (CA) AWS Private CA ha l'ambito del namespace. Quando l'accesso al namespace condiviso viene revocato, l'accesso alla CA viene interrotto.
+ Quando si lavora con uno spazio dei nomi condiviso, i proprietari e i consumatori di namespace non hanno accesso ai parametri Amazon tra account diversi per impostazione predefinita. CloudWatch Le metriche di Target vengono pubblicate solo per gli account che possiedono servizi client. Un account proprietario di servizi client non ha accesso alle metriche ricevute da un account che possiede servizi client-server e viceversa. Per consentire l'accesso alle metriche da più account, configura l'osservabilità tra account. CloudWatch *Per ulteriori informazioni sulla configurazione dell'osservabilità tra account, consulta l'osservabilità [CloudWatch tra account nella Amazon User Guide](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Unified-Cross-Account.html). CloudWatch * Per ulteriori informazioni sulle CloudWatch metriche per Service Connect, vedere[Metriche di Amazon ECS CloudWatch](available-metrics.md).

# Risoluzione dei problemi di Amazon ECS Service Connect con namespace condivisi AWS Cloud Map
<a name="service-connect-shared-namespaces-troubleshooting"></a>

Utilizza le seguenti informazioni per risolvere i problemi relativi ai AWS Cloud Map namespace condivisi e Service Connect. Per ulteriori informazioni sull'individuazione dei messaggi di errore, consultare [Risoluzione dei problemi di Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/troubleshooting.html).

I messaggi di errore relativi ai problemi di autorizzazione vengono visualizzati a causa di autorizzazioni mancanti o se l'accesso al namespace viene revocato. 

**Importante**  
È necessario utilizzare l'autorizzazione gestita da `AWSRAMPermissionCloudMapECSFullPermission` per condividere il namespace affinché Service Connect funzioni correttamente con il namespace.

Il messaggio di errore appare in uno dei seguenti formati:

Si è verificato un errore (ClientException) durante la chiamata all'operazione < OperationName >: User: arn:aws:iam: :user/ non è autorizzato a eseguire: < > ActionName on resource: < > perché nessuna politica basata sulle risorse consente l'azione < > ResourceArn ActionName <account-id><user-name>

I seguenti scenari possono generare un messaggio di errore in questo formato:

**Errore di creazione o aggiornamento del cluster**  
Questi problemi si verificano quando le operazioni di Amazon ECS `UpdateCluster` non funzionano `CreateCluster` o falliscono a causa di AWS Cloud Map autorizzazioni mancanti. Le operazioni richiedono le autorizzazioni per le seguenti azioni: AWS Cloud Map   
+ `servicediscovery:GetNamespace`
Assicurarsi che l'invito alla condivisione delle risorse sia stato accettato nell'account consumer e che nella configurazione di Service Connect venga utilizzato l'ARN del namespace corretto.

**Errore di creazione o aggiornamento del servizio**  
Questi problemi si verificano quando le operazioni di Amazon ECS `UpdateService` non funzionano `CreateService` o falliscono a causa di AWS Cloud Map autorizzazioni mancanti. Le operazioni richiedono le autorizzazioni per le seguenti azioni: AWS Cloud Map   
+ `servicediscovery:CreateService`
+ `servicediscovery:GetNamespace`
+ `servicediscovery:GetOperation` (per creare un nuovo servizio AWS Cloud Map )
+ `servicediscovery:GetService` (per quando un servizio AWS Cloud Map esiste già)
Assicurarsi che l'invito alla condivisione delle risorse sia stato accettato nell'account consumer e che nella configurazione di Service Connect venga utilizzato l'ARN del namespace corretto.

**L'operazione `ListServicesByNamespace` ha esito negativo**  
Questo problema si verifica quando l'operazione `ListServicesByNamespace` di Amazon ECS ha esito negativo. Questa operazione richiede autorizzazioni per le seguenti azioni AWS Cloud Map :  
+ `servicediscovery:GetNamespace`
Per risolvere il problema:  
+ Verificare che l'account consumer disponga dell'autorizzazione `servicediscovery:GetNamespace`.
+ Usare l'ARN del namespace quando si chiama l'API, non il nome.
+ Assicurarsi che la condivisione delle risorse sia attiva e che l'invito sia stato accettato.

Utente: non è autorizzato a eseguire: < ActionName > sulla risorsa: < ResourceArn > con un rifiuto esplicito in una politica basata sull'identità. <iam-user>

I seguenti scenari possono generare un messaggio di errore in questo formato:

**L'eliminazione del servizio ha esito negativo e rimane bloccata nello stato `DRAINING`**  
Questo problema si verifica quando le operazioni `DeleteService` di Amazon ECS hanno esito negativo a causa dell'autorizzazione `servicediscovery:DeleteService` mancante quando l'accesso al namespace viene revocato. Inizialmente potrebbe sembrare che il servizio sia stato eliminato correttamente, ma rimarrà bloccato nello stato `DRAINING`. Il messaggio di errore viene visualizzato come un evento del servizio di Amazon ECS.  
Per risolvere questo problema, il proprietario del namespace deve condividere quest'ultimo con l'account consumer per consentire il completamento dell'eliminazione del servizio.

**Le attività in servizio non vengono eseguite**  
Questo problema si verifica quando le attività non vengono avviate a causa della mancanza di autorizzazioni. Il messaggio di errore viene visualizzato come errore di attività interrotta. Per ulteriori informazioni, consulta [Risolvi gli errori relativi alle attività interrotte in Amazon ECS](resolve-stopped-errors.md).  
Le seguenti AWS Cloud Map azioni sono necessarie per eseguire un'attività:  
+ `servicediscovery:GetOperation`
+ `servicediscovery:RegisterInstance`
Assicurarsi che l'account consumer disponga delle autorizzazioni richieste e che il namespace condiviso sia accessibile.

**Le attività non vengono interrotte correttamente o rimangono bloccate nello stato `DEACTIVATING` o `DEPROVISIONING`**  
Questo problema si verifica quando le attività non riescono ad annullare la registrazione dal AWS Cloud Map servizio durante l'arresto a causa della mancanza di autorizzazioni. L'errore viene visualizzato come `statusReason` nell'allegato dell'attività che può essere recuperato utilizzando l'API `DescribeTasks`. Per ulteriori informazioni, consulta il *riferimento [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html)all'API di Amazon Elastic Container Service*.  
Per interrompere un'attività sono necessarie le seguenti AWS Cloud Map azioni:  
+ `servicediscovery:DeregisterInstance`
+ `servicediscovery:GetOperation`
Se l'accesso al namespace viene revocato, le attività possono rimanere in uno stato `DEACTIVATING` o `DEPROVISIONING` fino al ripristino dell'accesso al namespace. Richiedere al proprietario del namespace di ripristinare l'accesso al namespace.