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 servizio per un componente dell'applicazione
Dopo aver creato uno spazio dei nomi, puoi creare servizi per rappresentare diversi componenti dell'applicazione che servono a scopi particolari. Ad esempio, è possibile creare un servizio per le risorse dell'applicazione che elaborano i pagamenti.
Non è possibile creare più servizi accessibili tramite DNS query con nomi che differiscono solo in base alle maiuscole EXAMPLE e minuscole (ad esempio). Provando a eseguire questa operazione, questi servizi avranno lo stesso DNS nome. Se utilizzi uno spazio dei nomi accessibile solo tramite API chiamate, puoi creare servizi con nomi che differiscono solo per maiuscole e minuscole.
Segui questi passaggi per creare un servizio utilizzando AWS Management Console AWS CLI, e SDK per Python.
- AWS Management Console
-
Accedi a AWS Management Console e apri la AWS Cloud Map console all'indirizzo https://console.aws.amazon.com/cloudmap/.
-
Nel riquadro di navigazione seleziona Namespaces (Spazio dei nomi).
-
Nella pagina Namespaces (Spazio dei nomi), selezionare lo spazio dei nomi a cui aggiungere il servizio.
-
Nella namespace-name
pagina Namespace:, scegli Crea servizio.
-
Per Nome del servizio, inserisci un nome che descriva le istanze registrate quando utilizzi questo servizio. Il valore viene utilizzato per scoprire le istanze del AWS Cloud Map servizio nelle API chiamate o nelle DNS query.
Se desideri AWS Cloud Map creare un SRVrecord quando registri un'istanza e utilizzi un sistema che richiede un SRVformato specifico (ad esempio HAProxy), specifica quanto segue per Nome del servizio:
-
Inizia il nome con un trattino basso (_), ad esempio _exampleservice.
-
Termina il nome con, ad esempio. ._protocol
_tcp.
Quando registri un'istanza, AWS Cloud Map crea un SRVrecord e assegna un nome concatenando il nome del servizio e il nome dello spazio dei nomi, ad esempio:
_exampleservice._tcp.example.com
-
(Facoltativo) Per Descrizione del servizio, immettere una descrizione del servizio. La descrizione inserita qui viene visualizzata nella pagina Servizi e nella pagina di dettaglio di ciascun servizio.
-
Se lo spazio dei nomi supporta DNS le query, in Configurazione del rilevamento dei servizi è possibile configurare la reperibilità a livello di servizio. Scegli se consentire sia le API chiamate che le DNS interrogazioni o solo le API chiamate per il rilevamento delle istanze in questo servizio.
Se scegli APIle chiamate, non AWS Cloud Map verranno creati SRV record quando registri un'istanza.
Se scegli APIe DNS, segui questi passaggi per configurare i DNS record. Puoi aggiungere o rimuovere DNS record.
-
Per la politica di routing, seleziona la politica di routing di Amazon Route 53 per i DNS record AWS Cloud Map
creati durante la registrazione delle istanze. Puoi scegliere tra Routing ponderato e Routing di risposta multivalore. Per ulteriori informazioni, consulta Policy di routing.
Non è possibile utilizzare la console per configurare la creazione di un record AWS Cloud Map di alias Route 53 quando si registra un'istanza. Se desideri AWS Cloud Map creare record di alias per un sistema di bilanciamento del carico Elastic Load Balancing quando registri le istanze a livello di codice, scegli la politica Weighted routing for Routing.
-
Per Tipo di record, scegli il tipo di DNS record che determina cosa restituisce Route 53 in risposta alle query di. DNS AWS Cloud Map Per ulteriori informazioni, consulta Tipo di record.
-
Per TTL, specifica un valore numerico per definire il valore time to live (TTL), in secondi, a livello di servizio. Il valore di TTL determina per quanto tempo DNS i resolver memorizzano nella cache le informazioni per questo record prima che i resolver inoltrino un'altra query DNS ad Amazon Route 53 per ottenere le impostazioni aggiornate.
-
In Configurazione Health check, per le opzioni Health check, scegli il tipo di controllo sanitario applicabile alle istanze del servizio. Puoi scegliere di non configurare alcun controllo dello stato oppure puoi scegliere tra un controllo dello stato della Route 53 o un controllo dello stato esterno per le tue istanze. Per ulteriori informazioni, consulta AWS Cloud Map configurazione del controllo dello stato del servizio.
I controlli di integrità di Route 53 sono configurabili solo per i servizi nei namespace pubbliciDNS.
Se scegli i controlli di integrità della Route 53, fornisci le seguenti informazioni.
-
Per la soglia di errore, fornisci un numero compreso tra 1 e 10 che definisca il numero di controlli di integrità consecutivi di Route 53 che un'istanza del servizio deve superare o non superare perché il suo stato di integrità cambi.
-
Per il protocollo Health check, selezionare il metodo che Route 53 utilizzerà per verificare lo stato delle istanze del servizio.
-
Se scegli HTTPil protocollo HTTPSHealth check, per Health check path, fornisci un percorso che desideri che Amazon Route 53 richieda durante i controlli sanitari. Il percorso può essere qualsiasi valore, ad esempio il file/docs/route53-health-check.html
. Quando la risorsa è integra, il valore restituito è un codice di HTTP stato in formato 2xx o 3xx. È inoltre possibile includere i parametri di stringa di query, ad esempio, /welcome.html?language=jp&login=y
. La console AWS Cloud Map aggiunge automaticamente una barra (/) iniziale.
Per ulteriori informazioni sui controlli di integrità di Route 53, consulta How Amazon Route 53 Determina se un Health Check è integro 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 service (Crea servizio).
- AWS CLI
-
-
Crea un servizio con il create-service
comando. Sostituisci i red
valori con i tuoi.
aws servicediscovery create-service \
--name service-name
\
--namespace-id ns-xxxxxxxxxxx
\
--dns-config "NamespaceId=ns-xxxxxxxxxxx
,RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A
,TTL=60
}]"
Output:
{
"Service": {
"Id": "srv-xxxxxxxxxxx",
"Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-xxxxxxxxxxx",
"Name": "service-name",
"NamespaceId": "ns-xxxxxxxxxxx",
"DnsConfig": {
"NamespaceId": "ns-xxxxxxxxxxx",
"RoutingPolicy": "MULTIVALUE",
"DnsRecords": [
{
"Type": "A",
"TTL": 60
}
]
},
"CreateDate": 1587081768.334,
"CreatorRequestId": "567c1193-6b00-4308-bd57-ad38a8822d25"
}
}
- AWS SDK for Python (Boto3)
-
Se non l'hai ancora Boto3
installato, puoi trovare le istruzioni per l'installazione, la configurazione e l'utilizzo Boto3
qui.
-
Importa Boto3
e usa servicediscovery
come servizio.
import boto3
client = boto3.client('servicediscovery')
-
Crea un servizio concreate_service()
. Sostituisci i red
valori con i tuoi. Per ulteriori informazioni, consulta create_service.
response = client.create_service(
DnsConfig={
'DnsRecords': [
{
'TTL': 60
,
'Type': 'A
',
},
],
'NamespaceId': 'ns-xxxxxxxxxxx
',
'RoutingPolicy': 'MULTIVALUE
',
},
Name='service-name
',
NamespaceId='ns-xxxxxxxxxxx
',
)
Esempio di output di risposta
{
'Service': {
'Arn': 'arn:aws:servicediscovery:us-west-2:123456789012:service/srv-xxxxxxxxxxx',
'CreateDate': 1587081768.334,
'DnsConfig': {
'DnsRecords': [
{
'TTL': 60,
'Type': 'A',
},
],
'NamespaceId': 'ns-xxxxxxxxxxx',
'RoutingPolicy': 'MULTIVALUE',
},
'Id': 'srv-xxxxxxxxxxx',
'Name': 'service-name',
'NamespaceId': 'ns-xxxxxxxxxxx',
},
'ResponseMetadata': {
'...': '...',
},
}
Passaggi successivi
Dopo aver creato un servizio, è possibile registrare le risorse dell'applicazione come istanze di servizio che contengono informazioni su come l'applicazione può localizzare la risorsa. Per ulteriori informazioni sulla registrazione delle istanze AWS Cloud Map di servizio, vedere. Registrazione di una risorsa come istanza di servizio AWS Cloud Map
Puoi anche specificare metadati personalizzati come pesi degli endpoint, API timeout e politiche di riprova come attributi del servizio dopo aver creato un servizio. Per ulteriori informazioni, vedere e nel Reference. ServiceAttributesUpdateServiceAttributes
AWS Cloud Map API