Creazione di un AWS Cloud Map namespace per raggruppare i servizi applicativi - AWS Cloud Map

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

Creazione di un AWS Cloud Map namespace per raggruppare i servizi applicativi

Puoi creare uno spazio dei nomi per raggruppare i servizi per la tua applicazione con un nome intuitivo che consenta l'individuazione delle risorse dell'applicazione tramite chiamate API o query DNS.

Opzioni di individuazione delle istanze

La tabella seguente riassume le diverse opzioni di individuazione delle istanze AWS Cloud Map e il tipo di namespace corrispondente che è possibile creare, a seconda dei servizi e della configurazione dell'applicazione.

Tipo di namespace Metodo di individuazione delle istanze Come funziona Informazioni aggiuntive
HTTP Chiamate API Le risorse dell'applicazione possono scoprire altre risorse solo chiamando l'DiscoverInstancesAPI.
DNS privato Chiamate API e query DNS in un VPC

Le risorse dell'applicazione possono scoprire altre risorse chiamando l'DiscoverInstancesAPI e interrogando i nameserver nella zona ospitata privata di Route 53 che viene creata automaticamente. AWS Cloud Map

La zona ospitata creata da AWS Cloud Map ha lo stesso nome dello spazio dei nomi e contiene record DNS con nomi nel formato service-name. nome-spazio dei nomi.

Nota

Route 53 Resolver risolve le query DNS che hanno origine nel VPC utilizzando i record nella zona ospitata privata. Se la zona ospitata privata non include un record che corrisponde al nome di dominio in una query DNS, Route 53 risponde alla query con (dominio inesistente). NXDOMAIN

DNS pubblico Chiamate API e query DNS pubbliche

Le risorse dell'applicazione possono scoprire altre risorse chiamando l'DiscoverInstancesAPI e interrogando i nameserver nella zona ospitata pubblica di Route 53 che viene creata automaticamente. AWS Cloud Map

La zona ospitata pubblica ha lo stesso nome dello spazio dei nomi e contiene record DNS con nomi nel formato service-name. nome-spazio dei nomi.

Nota

Il nome del namespace in questo caso deve essere un nome di dominio che hai registrato.

Procedura

Puoi seguire questi passaggi per creare uno spazio dei nomi utilizzando AWS CLI AWS Management Console, o l'SDK per Python.

AWS Management Console
  1. Accedi AWS Management Console e apri la console all'indirizzo https://console.aws.amazon.com/cloudmap/. AWS Cloud Map

  2. Selezionare Create namespace (Crea spazio dei nomi).

  3. Per il nome dello spazio dei nomi, inserisci un nome che verrà utilizzato per scoprire le istanze.

    Nota
    • I namespace configurati per le query DNS pubbliche devono terminare con un dominio di primo livello. Ad esempio, .com.

    • È possibile specificare un nome di dominio internazionalizzato (IDN) convertendo prima il nome in Punycode. Per informazioni sui convertitori online, cerca su internet "convertitore punycode".

      È possibile anche convertire un nome di dominio internazionalizzato in Punycode quando si creano spazi dei nomi in modo programmatico. Ad esempio, se stai utilizzando Java, puoi convertire un valore Unicode in Punycode utilizzando il metodo toASCII della libreria java.net.IDN.

  4. (Facoltativo) Per la descrizione dello spazio dei nomi, immettete le informazioni sullo spazio dei nomi che saranno visibili nella pagina dei namespace e nella sezione Informazioni sullo spazio dei nomi. È possibile utilizzare queste informazioni per identificare facilmente un namespace.

  5. Per Instance Discovery, puoi scegliere tra chiamate API, chiamate API e query DNS in VPC e chiamate API e query DNS pubbliche per creare rispettivamente uno spazio dei nomi HTTP, DNS privato o DNS pubblico. Per ulteriori informazioni, consulta Opzioni di individuazione delle istanze.

    In base alla selezione, segui questi passaggi.

    • Se scegli chiamate API e query DNS in VPC, per VPC, scegli un cloud privato virtuale (VPC) a cui desideri associare lo spazio dei nomi.

    • Se scegli chiamate API e query DNS in VPC o chiamate API e query DNS pubbliche, per TTL, specifica un valore numerico in secondi. Il valore time to live (TTL) determina per quanto tempo i resolver DNS memorizzano nella cache le informazioni per il record DNS di inizio dell'autorità (SOA) della zona ospitata da Route 53 creata con il tuo spazio dei nomi. Per ulteriori informazioni su TTL, consulta TTL (secondi) nella Amazon Route 53 Developer Guide.

  6. (Facoltativo) In Tag, scegli Aggiungi tag, quindi specifica una chiave e un valore per etichettare il tuo namespace. Puoi specificare uno o più tag da aggiungere al tuo namespace. I tag consentono di classificare le AWS risorse in modo da gestirle più facilmente. Per ulteriori informazioni, consulta Taggare le tue risorse AWS Cloud Map.

  7. Selezionare Create namespace (Crea spazio dei nomi). È possibile visualizzare lo stato dell'operazione utilizzando ListOperations. Per ulteriori informazioni, consulta la ListOperationssezione AWS Cloud Map API Reference

AWS CLI
  • Crea uno spazio dei nomi con il comando per il tipo di rilevamento delle istanze che preferisci (sostituisci i valori rossi con i tuoi).

    • Crea uno spazio dei nomi HTTP utilizzando. create-http-namespace Le istanze di servizio registrate utilizzando uno spazio dei nomi HTTP possono essere scoperte utilizzando una DiscoverInstances richiesta, ma non possono essere scoperte utilizzando DNS.

      aws servicediscovery create-http-namespace --name name-of-namespace
    • Crea uno spazio dei nomi privato basato su DNS e visibile solo all'interno di uno specifico Amazon VPC utilizzando. create-private-dns-namespace Puoi scoprire le istanze che sono state registrate con uno spazio dei nomi DNS privato utilizzando una richiesta o utilizzando DNS DiscoverInstances

      aws servicediscovery create-private-dns-namespace --name name-of-namespace --vpc vpc-xxxxxxxxx
    • Crea uno spazio dei nomi pubblico basato su DNS visibile su Internet utilizzando. create-public-dns-namespace Puoi individuare le istanze registrate con uno spazio dei nomi DNS pubblico tramite una richiesta DiscoverInstances o utilizzando il DNS.

      aws servicediscovery create-public-dns-namespace --name name-of-namespace
AWS SDK for Python (Boto3)
  1. Se non l'hai ancora Boto3 installato, puoi trovare le istruzioni per l'installazione, la configurazione e l'utilizzo qui. Boto3

  2. Importa Boto3 e usa servicediscovery come servizio.

    import boto3 client = boto3.client('servicediscovery')
  3. Crea uno spazio dei nomi con il comando per il tipo di individuazione delle istanze che preferisci (sostituisci i valori rossi con i tuoi):

    • Crea uno spazio dei nomi HTTP utilizzando. create_http_namespace() Le istanze di servizio registrate utilizzando uno spazio dei nomi HTTP possono essere scoperte utilizzandodiscover_instances(), ma non possono essere scoperte utilizzando DNS.

      response = client.create_http_namespace( Name='name-of-namespace', ) # If you want to see the response print(response)
    • Crea uno spazio dei nomi privato basato su DNS e visibile solo all'interno di uno specifico Amazon VPC utilizzando. create_private_dns_namespace() Puoi scoprire le istanze che sono state registrate con uno spazio dei nomi DNS privato utilizzando uno dei due o utilizzando DNS discover_instances()

      response = client.create_private_dns_namespace( Name='name-of-namespace', Vpc='vpc-1c56417b', ) # If you want to see the response print(response)
    • Crea uno spazio dei nomi pubblico basato su DNS visibile su Internet utilizzando. create_public_dns_namespace() Puoi scoprire le istanze che sono state registrate con uno spazio dei nomi DNS pubblico utilizzando uno dei due o utilizzando il DNS. discover_instances()

      response = client.create_public_dns_namespace( Name='name-of-namespace', ) # If you want to see the response print(response)
    • Esempio di output di risposta

      { 'OperationId': 'gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd', 'ResponseMetadata': { '...': '...', }, }

Passaggi successivi

Dopo aver creato uno spazio dei nomi, è possibile creare servizi nello spazio dei nomi per raggruppare le risorse dell'applicazione che collettivamente servono a uno scopo particolare nell'applicazione. Un servizio funge da modello per la registrazione delle risorse dell'applicazione come istanze. Per ulteriori informazioni sulla creazione di AWS Cloud Map servizi, vedere. Creazione di un AWS Cloud Map servizio per un componente dell'applicazione