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'DiscoverInstances API. |
|
DNS privato |
Chiamate API e query DNS in un VPC |
Le risorse dell'applicazione possono scoprire altre risorse chiamando l'DiscoverInstances API 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.
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'DiscoverInstances API 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.
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
-
Accedi AWS Management Console e apri la console all'indirizzo https://console.aws.amazon.com/cloudmap/. AWS Cloud Map
-
Selezionare Create namespace (Crea spazio dei nomi).
-
Per il nome dello spazio dei nomi, inserisci un nome che verrà utilizzato per scoprire le istanze.
-
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.
-
(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.
-
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.
-
(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.
-
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)
-
-
Se non l'hai ancora Boto3
installato, puoi trovare le istruzioni per l'installazione, la configurazione e l'utilizzo qui. Boto3
-
Importa Boto3
e usa servicediscovery
come servizio.
import boto3
client = boto3.client('servicediscovery')
-
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