Creazione di un AWS Cloud Map servizio per un componente dell'applicazione - 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 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.

Nota

Non è possibile creare più servizi accessibili tramite query DNS con nomi che differiscono solo in base alle maiuscole e minuscole (come EXAMPLE ed example). In questo modo, questi servizi avranno lo stesso nome DNS. Se utilizzi uno spazio dei nomi accessibile solo tramite chiamate API, 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 l'SDK per Python.

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

  2. Nel riquadro di navigazione seleziona Namespaces (Spazio dei nomi).

  3. Nella pagina Namespaces (Spazio dei nomi), selezionare lo spazio dei nomi a cui aggiungere il servizio.

  4. Nella pagina Namespace: (Spazio dei nomi)namespace-name , scegli Create service (Crea servizio).

  5. 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 chiamate API o nelle query DNS.

    Nota

    Se desideri AWS Cloud Map creare un record SRV quando registri un'istanza e utilizzi un sistema che richiede un formato SRV specifico (come HAProxy), specifica quanto segue per Nome del servizio:

    • Inizia il nome con un trattino basso (_), ad esempio _exampleservice.

    • Termina il nome con. _protocol, ad esempio. _tcp.

    Quando si registra un'istanza, AWS Cloud Map crea un record SRV e assegna un nome concatenando il nome del servizio e il nome dello spazio dei nomi, ad esempio:

    _exampleservice._tcp.example.com

  6. (Facoltativo) Per Descrizione del servizio, inserite una descrizione del servizio. La descrizione inserita qui viene visualizzata nella pagina Servizi e nella pagina di dettaglio di ciascun servizio.

  7. Se il namespace supporta le query DNS, in Service Discovery Configuration è possibile configurare la reperibilità a livello di servizio. Scegli se consentire sia le chiamate API che le query DNS o solo le chiamate API per il rilevamento delle istanze in questo servizio.

    Nota

    Se scegli le chiamate API, non AWS Cloud Map verranno creati record SRV quando registri un'istanza.

    Se scegli API e DNS, segui questi passaggi per configurare i record DNS. Puoi aggiungere o rimuovere record DNS.

    1. Per la politica di routing, seleziona la politica di routing di Amazon Route 53 per i record DNS AWS Cloud Map creati quando registri le istanze. Puoi scegliere tra Routing ponderato e Routing di risposte multivalore. Per ulteriori informazioni, consulta Policy di routing.

      Nota

      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.

    2. Per Tipo di record, scegli il tipo di record DNS che determina il tipo di record restituito da Route 53 in risposta alle query DNS. AWS Cloud Map Per ulteriori informazioni, consulta Tipo di record.

    3. Per TTL, specifica un valore numerico per definire il valore TTL (time to live), in secondi, a livello di servizio. Il valore di TTL determina per quanto tempo i resolver DNS memorizzano nella cache le informazioni per questo record prima che i resolver inoltrino un'altra query DNS ad Amazon Route 53 per ottenere impostazioni aggiornate.

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

    Nota

    I controlli di integrità di Route 53 sono configurabili solo per i servizi nei namespace DNS pubblici.

    Se scegli i controlli di integrità della Route 53, fornisci le seguenti informazioni.

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

    2. Per il protocollo Health check, selezionare il metodo che Route 53 utilizzerà per verificare lo stato delle istanze del servizio.

    3. Se scegli il protocollo di controllo dello stato HTTP o HTTPS, 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 stato HTTP 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.

  9. (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.

  10. Selezionare Create service (Crea servizio).

AWS CLI
  • Crea un servizio con il create-service comando. Sostituisci i valori rossi 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.

  1. Importa Boto3 e usa servicediscovery come servizio.

    import boto3 client = boto3.client('servicediscovery')
  2. Crea un servizio concreate_service(). Sostituisci i valori rossi 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