

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

# Scopri come utilizzare il rilevamento dei AWS Cloud Map servizi con le query DNS e le chiamate API
<a name="tutorial-private-namespace"></a>

Il seguente tutorial simula un'architettura di microservizi con due servizi di backend. Il primo servizio sarà individuabile utilizzando una query DNS. Il secondo servizio sarà individuabile solo tramite l' AWS Cloud Map API.

**Nota**  
I dettagli delle risorse, come i nomi di dominio e gli indirizzi IP, sono solo a scopo di simulazione. Non possono essere risolti su Internet.

Per una end-to-end AWS CLI versione di questo tutorial, vedi[Scopri come utilizzare il rilevamento dei AWS Cloud Map servizi con le query DNS e le chiamate API utilizzando AWS CLI](tutorial-private-namespace-cli.md).

## Prerequisiti
<a name="getting-started-prerequisites"></a>

I seguenti prerequisiti devono essere soddisfatti per completare correttamente il tutorial.
+ Prima di iniziare, completa i passaggi descritti in [Configurazione per l'uso AWS Cloud Map](setting-up-cloud-map.md).
+ Se non l'hai ancora installato AWS Command Line Interface, segui i passaggi indicati in [Installazione o aggiornamento della versione più recente di AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) per installarlo.

  Per eseguire i comandi nel tutorial, sono necessari un terminale a riga di comando o una shell (interprete di comandi). In Linux e macOS, utilizza la shell (interprete di comandi) e il gestore pacchetti preferiti.
**Nota**  
Su Windows, alcuni comandi della CLI Bash utilizzati comunemente con Lambda (ad esempio, `zip`) non sono supportati dai terminali integrati del sistema operativo. Per ottenere una versione integrata su Windows di Ubuntu e Bash, [installa il sottosistema Windows per Linux](https://learn.microsoft.com/en-us/windows/wsl/install).
+ Il tutorial richiede un ambiente locale con il comando `dig` DNS lookup utility.

## Fase 1: Creare un namespace AWS Cloud Map
<a name="tutorial-microservices-step1"></a>

In questo passaggio, crei uno spazio dei nomi pubblico AWS Cloud Map . AWS Cloud Map crea una zona ospitata sulla Route 53 per tuo conto con lo stesso nome. Questo ti dà la possibilità di scoprire le istanze di servizio create in questo spazio dei nomi utilizzando record DNS pubblici o utilizzando chiamate API. AWS Cloud Map 

1. Accedi a Console di gestione AWS e apri la console all'indirizzo. AWS Cloud Map [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/)

1. Selezionare **Crea namespace**.

1. Per il **nome dello spazio dei nomi, specificare**. `cloudmap-tutorial.com`
**Nota**  
Se intendi utilizzarlo in produzione, assicurati di aver specificato il nome di un dominio di tua proprietà o a cui hai avuto accesso. Ma ai fini di questo tutorial, non è necessario che si tratti di un dominio effettivo che viene utilizzato.

1. (Facoltativo) Per la **descrizione dello spazio dei nomi**, specifica una descrizione per ciò per cui intendi utilizzare lo spazio dei nomi.

1. Per **Instance Discovery**, seleziona le **chiamate API e le query DNS** pubbliche.

1. Lascia il resto dei valori predefiniti e scegli **Crea** namespace.

## Fase 2: Creare i servizi AWS Cloud Map
<a name="tutorial-microservices-step2"></a>

In questo passaggio, si creano due servizi. Il primo servizio sarà individuabile utilizzando chiamate DNS e API pubbliche. Il secondo servizio sarà individuabile solo tramite chiamate API.

1. Accedi a Console di gestione AWS e apri la AWS Cloud Map console all'indirizzo [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. Nel riquadro di navigazione a sinistra, scegli **Namespace per elencare i** namespace che hai creato.

1. **Dall'elenco dei namespace, seleziona lo spazio dei nomi e scegli Visualizza dettagli. `cloudmap-tutorial.com`**

1. Nella sezione **Servizi**, scegli **Crea servizio** ed esegui le seguenti operazioni per creare il primo servizio.

   1. Per **Nome servizio**, inserisci `public-service`. Il nome del servizio verrà applicato ai record DNS AWS Cloud Map creati. Il formato utilizzato è`<service-name>.<namespace-name>`.

   1. Per **Service Discovery Configuration**, seleziona **API e DNS**.

   1. Nella sezione **Configurazione DNS**, per **Politica di routing, seleziona Routing di** risposte **multivalore**.
**Nota**  
La console lo tradurrà in **MULTIVALUE** dopo averlo selezionato. Per ulteriori informazioni sulle opzioni di routing disponibili, vedere Choose [a routing policy](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) nella *Route* 53 Developer Guide.

   1. Lascia il resto dei valori predefiniti e scegli **Crea servizio** che ti riporterà alla pagina dei dettagli del namespace.

1. Nella sezione **Servizi**, scegli **Crea servizio** ed esegui le seguenti operazioni per creare il secondo servizio.

   1. Per **Nome servizio**, inserisci `backend-service`.

   1. Per **Service Discovery Configuration**, seleziona **Solo API**.

   1. Lascia il resto dei valori predefiniti e scegli **Crea servizio**.

## Fase 3: Registrare le istanze del AWS Cloud Map servizio
<a name="tutorial-microservices-step3"></a>

In questo passaggio, crei due istanze di servizio, una per ogni servizio nel nostro namespace.

1. Accedi a Console di gestione AWS e apri la console all' AWS Cloud Map indirizzo. [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/)

1. **Dall'elenco dei namespace, seleziona lo spazio dei nomi creato nel passaggio 1 e scegli Visualizza dettagli.**

1. **Nella pagina dei dettagli del namespace, dall'elenco dei servizi, seleziona il servizio e scegli Visualizza dettagli. `public-service`**

1. Nella sezione **Istanze di servizio**, scegli **Registra istanza di servizio** ed esegui le seguenti operazioni per creare la prima istanza di servizio.

   1. Per **ID dell'istanza di servizio**, specificare`first`.

   1. Per **IPv4 l'indirizzo**, specificare`192.168.2.1`.

   1. Lascia il resto dei valori predefiniti e scegli **Register service instance**.

1. Utilizzando il breadcrumb nella parte superiore della pagina, seleziona **cloudmap-tutorial.com** per tornare alla pagina di dettaglio del namespace.

1. ****Nella pagina dei dettagli del namespace, dall'elenco dei servizi, seleziona il servizio di backend e scegli Visualizza dettagli.****

1. Nella sezione **Istanze di servizio, scegli Registra istanza** **di servizio ed esegui le seguenti operazioni per creare la seconda istanza** di servizio.

   1. Per **ID dell'istanza di servizio**, specifica `second` di indicare che si tratta della seconda istanza del servizio.

   1. Per **Tipo di istanza**, seleziona **Informazioni di identificazione per un'altra risorsa**.

   1. Per **gli attributi personalizzati**, aggiungi una coppia chiave-valore con `service-name` come chiave e `backend` come valore.

   1. Selezionare **Register service instance (Registra istanza del servizio)**.

## Fase 4: Scopri le istanze del servizio AWS Cloud Map
<a name="tutorial-microservices-step4"></a>

Ora che lo spazio dei AWS Cloud Map nomi, i servizi e le istanze del servizio sono stati creati, puoi verificare che tutto funzioni scoprendo le istanze. Utilizza il `dig` comando per verificare le impostazioni DNS pubbliche e l' AWS Cloud Map API per verificare il servizio di backend. Per ulteriori informazioni sul `dig` comando, vedere [dig - DNS](https://downloads.isc.org/isc/bind9/cur/9.19/doc/arm/html/manpages.html#dig-dns-lookup-utility) lookup utility.

1. Accedi Console di gestione AWS e apri la console Route 53 all'indirizzo. [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/)

1. Nel riquadro di navigazione a sinistra, scegliere **Hosted zones (Zone ospitate)**.

1. Seleziona la zona ospitata da **cloudmap-tutorial.com**. Questo visualizza i dettagli della zona ospitata in un riquadro separato. Prendi nota dei **name server** associati alla tua zona ospitata poiché li useremo nel passaggio successivo.

1. Utilizzando il comando dig e uno dei name server Route 53 per la tua zona ospitata, interroga i record DNS per la tua istanza di servizio.

   ```
   dig @hosted-zone-nameserver public-service.cloudmap-tutorial.com
   ```

   `ANSWER SECTION`Nell'output dovrebbe essere visualizzato l' IPv4 indirizzo associato al `public-service` servizio.

   ```
   ;; ANSWER SECTION:
   public-service.cloudmap-tutorial.com. 300 IN A	192.168.2.1
   ```

1. Utilizzando AWS CLI, interroga gli attributi per le seconde istanze del servizio.

   ```
   aws servicediscovery discover-instances --namespace-name cloudmap-tutorial.com --service-name backend-service --region region
   ```

   L'output mostra gli attributi associati al servizio come coppie chiave-valore.

   ```
   {
       "Instances": [
           {
               "InstanceId": "second",
               "NamespaceName": "cloudmap-tutorial.com",
               "ServiceName": "backend-service",
               "HealthStatus": "UNKNOWN",
               "Attributes": {
                   "service-name": "backend"
               }
           }
       ],
       "InstancesRevision": 71462688285136850
   }
   ```

## Fase 5: Pulisci le risorse
<a name="tutorial-microservices-step5"></a>

Una volta completato il tutorial, puoi eliminare le risorse. AWS Cloud Map richiede di ripulirle in ordine inverso, prima le istanze del servizio, poi i servizi e infine il namespace. AWS Cloud Map ripulirà le risorse della Route 53 per tuo conto durante questi passaggi.

1. Accedi a Console di gestione AWS e apri la AWS Cloud Map console all'indirizzo [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. **Dall'elenco dei namespace, seleziona lo spazio dei `cloudmap-tutorial.com` nomi e scegli Visualizza dettagli.**

1. **Nella pagina dei dettagli del namespace, dall'elenco dei servizi, seleziona il servizio e scegli Visualizza dettagli. `public-service`**

1. **Nella sezione **Istanze di servizio, seleziona l'`first`istanza** e scegli Annulla registrazione.**

1. Utilizzando il breadcrumb nella parte superiore della pagina, seleziona **cloudmap-tutorial.com** per tornare alla pagina di dettaglio del namespace.

1. ****Nella pagina dei dettagli del namespace, dall'elenco dei servizi, seleziona il servizio di servizio pubblico e scegli Elimina.****

1. Ripeti i passaggi 3-6 per. `backend-service`

1. Nella barra di navigazione a sinistra, scegli **Namespace**.

1. **Seleziona lo `cloudmap-tutorial.com` spazio dei nomi e scegli Elimina.**
**Nota**  
Sebbene AWS Cloud Map pulisca le risorse di Route 53 per tuo conto, puoi accedere alla console Route 53 per verificare che la zona `cloudmap-tutorial.com` ospitata venga eliminata.