Usa Service Discovery per connettere i servizi Amazon ECS con i nomi DNS - Amazon Elastic Container Service

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

Usa Service Discovery per connettere i servizi Amazon ECS con i nomi DNS

Il servizio Amazon ECS può facoltativamente essere configurato per l'uso della funzione di individuazione dei servizi di Amazon ECS. Service Discovery utilizza azioni AWS Cloud Map API per gestire i namespace HTTP e DNS per i tuoi servizi Amazon ECS. Per ulteriori informazioni, consulta Che cos'è AWS Cloud Map? nella Guida per gli sviluppatori di AWS Cloud Map .

L'individuazione dei servizi è disponibile nelle seguenti regioni: AWS

Nome della regione Regione

US East (N. Virginia)

us-east-1

Stati Uniti orientali (Ohio)

us-east-2

Stati Uniti occidentali (California settentrionale)

us-west-1

US West (Oregon)

us-west-2

Africa (Cape Town)

af-south-1

Asia Pacifico (Hong Kong)

ap-east-1

Asia Pacific (Mumbai)

ap-south-1

Asia Pacific (Hyderabad)

ap-south-2

Asia Pacifico (Tokyo)

ap-northeast-1

Asia Pacifico (Seoul)

ap-northeast-2

Asia Pacifico (Osaka-Locale)

ap-northeast-3

Asia Pacific (Singapore)

ap-southeast-1

Asia Pacific (Sydney)

ap-southeast-2

Asia Pacifico (Giacarta)

ap-southeast-3

Asia Pacifico (Melbourne)

ap-southeast-4

Canada (Central)

ca-central-1

Canada occidentale (Calgary)

ca-west-1

China (Beijing)

cn-north-1

China (Ningxia)

cn-northwest-1

Europe (Frankfurt)

eu-central-1

Europa (Zurigo)

eu-central-2

Europa (Irlanda)

eu-west-1

Europe (London)

eu-west-2

Europe (Paris)

eu-west-3

Europa (Milano)

eu-south-1

Europa (Stoccolma)

eu-north-1

Israele (Tel Aviv)

il-central-1

Europa (Spagna)

eu-south-2

Medio Oriente (Emirati Arabi Uniti)

me-central-1

Medio Oriente (Bahrein)

me-south-1

Sud America (São Paulo)

sa-east-1

AWS GovCloud (Stati Uniti orientali)

us-gov-east-1

AWS GovCloud (Stati Uniti occidentali)

us-gov-west-1

Concetti relativi all'individuazione dei servizi

L'individuazione dei servizi è costituita dai componenti seguenti:

  • Spazio dei nomi di individuazione dei servizi: un raggruppamento logico di servizi di individuazione dei servizi che condividono lo stesso nome di dominio, ad esempio example.com. Questo è il nome di dominio a cui desideri instradare il traffico. Puoi creare uno spazio dei nomi con una chiamata al aws servicediscovery create-private-dns-namespace comando o nella console Amazon ECS. Puoi utilizzare il comando aws servicediscovery list-namespaces per visualizzare le informazioni di riepilogo degli spazi dei nomi creati dall'account corrente. Per ulteriori informazioni sui comandi di scoperta dei servizi, consulta create-private-dns-namespace e list-namespaces consulta la AWS Cloud Map (service discovery) AWS CLI Reference Guide.

  • Servizio di individuazione dei servizi: è incluso nello spazio dei nomi di individuazione dei servizi ed è costituito dal nome del servizio e dalla configurazione DNS per lo spazio dei nomi. Fornisce il componente principale seguente:

    • Registro dei servizi: consente di cercare un servizio tramite azioni DNS o AWS Cloud Map API e recuperare uno o più endpoint disponibili che possono essere utilizzati per connettersi al servizio.

  • Istanza di individuazione dei servizi: esiste all'interno del servizio di individuazione dei servizi e include gli attributi associati a ogni servizio Amazon ECS nella directory del servizio.

    • Attributi dell'istanza: i metadati seguenti vengono aggiunti come attributi personalizzati per ciascun servizio Amazon ECS configurato per l'utilizzo dell'individuazione dei servizi:

      • AWS_INSTANCE_IPV4— Per un A record, l'indirizzo IPv4 che Route 53 restituisce in risposta alle query DNS e AWS Cloud Map restituisce quando si scoprono i dettagli dell'istanza, ad esempio. 192.0.2.44

      • AWS_INSTANCE_PORT: il valore della porta associato al servizio di individuazione dei servizi.

      • AVAILABILITY_ZONE: la zona di disponibilità in cui il processo è stato avviato. Per i processi che utilizzano il tipo di avvio EC2, questa è la zona di disponibilità in cui è presente l'istanza di container. Per i processi che utilizzano il tipo di avvio Fargate, questa è la zona di disponibilità in cui è presente l'interfaccia di rete elastica.

      • REGION: la regione in cui è presente il processo.

      • ECS_SERVICE_NAME: il nome del servizio Amazon ECS a cui appartiene il processo.

      • ECS_CLUSTER_NAME: il nome del cluster Amazon ECS a cui appartiene il processo.

      • EC2_INSTANCE_ID: l'ID dell'istanza di container in cui è stata posizionato il processo Questo attributo personalizzato non viene aggiunto se l'attività sta utilizzando il tipo di avvio Fargate.

      • ECS_TASK_DEFINITION_FAMILY: la famiglia della definizione di attività utilizzata dal processo.

      • ECS_TASK_SET_EXTERNAL_ID: se viene creato un set di processi per un'implementazione esterna ed è associato a un registro di individuazione dei servizi, l'attributo ECS_TASK_SET_EXTERNAL_ID includerà l'ID esterno del set di processi.

  • Controlli dell'integrità di Amazon ECS: Amazon ECS esegue periodicamente controlli dell'integrità a livello di container. Se un endpoint non supera il controllo dello stato, viene rimosso dal routing DNS e contrassegnato come non integro.

Considerazioni relative all'individuazione dei servizi

Quando usi l'individuazione dei servizi, tieni presenti le considerazioni seguenti:

  • L'individuazione dei servizi è supportata per i processi su Fargate che utilizzano la piattaforma versione 1.1.0 o successiva. Per ulteriori informazioni, consulta Versioni della piattaforma Fargate Linux per Amazon ECS.

  • I servizi configurati per l'utilizzo del rilevamento dei servizi Amazon ECS hanno un limite di 1.000 processi per servizio. Ciò è dovuto a una quota di servizio Route 53.

  • Il flusso di lavoro Crea servizio nella console Amazon ECS supporta solo la registrazione dei servizi in spazi dei nomi DNS privati. Quando viene creato uno spazio dei nomi DNS AWS Cloud Map privato, viene creata automaticamente una zona ospitata privata di Route 53.

  • Per la corretta risoluzione DNS, gli attributi DNS del VPC devono essere configurati. Per ulteriori informazioni su come configurare gli attributi, consulta Supporto DNS nel VPC nella Guida per l'utente di Amazon VPC.

  • I record DNS creati per un servizio DNS si registrano sempre con l'indirizzo IP privato per il processo piuttosto che l'indirizzo IP pubblico, anche quando vengono utilizzati gli spazi di nomi pubblici.

  • L'individuazione dei servizi richiede che i processi specifichino la modalità di rete awsvpc, bridge o host (none non è supportata).

  • Se la definizione di attività del servizio usa la modalità di rete awsvpc, puoi creare qualsiasi combinazione di record A o SRV per ciascuna attività di servizio. Se usi record SRV, è necessaria una porta.

  • Se la definizione di attività di servizio usa la modalità di rete bridge o host, un record SRV è il solo tipo di record DNS supportato. Crea un record SRV per ciascuna operazione di servizio. Il record SRV deve specificare un nome di container e una combinazione di porte di container dalla definizione di attività.

  • È possibile eseguire query sui record DNS per un servizio di individuazione dei servizi all'interno del VPC. Viene usato questo formato: <service discovery service name>.<service discovery namespace>.

  • Quando esegui una query DNS sul nome del servizio, i record A restituiscono un set di indirizzi IP corrispondenti alle attività. I record SRV restituiscono un set di indirizzi IP e le porte per ogni attività.

  • Se dispone di otto o meno record integri, Route 53 risponde alle query DNS con tutti i record integri.

  • Quando tutti i record non sono integri, Route 53 risponde alle query DNS con un massimo di otto record non integri.

  • Puoi configurare il rilevamento dei servizi per un servizio protetto da un load balancer, ma il traffico del rilevamento dei servizi viene sempre instradato verso l'attività e non verso il load balancer.

  • L'individuazione dei servizi non supporta l'utilizzo di Classic Load Balancer.

  • Per il servizio di individuazione dei servizi consigliamo di utilizzare i controlli dell'integrità a livello dei container gestiti da Amazon ECS.

    • HealthCheckCustomConfig—Amazon ECS gestisce i controlli sanitari per tuo conto. Amazon ECS usa le informazioni ottenute dal container e dai controlli dell'integrità, insieme allo stato dell'attività, per aggiornare l'integrità con AWS Cloud Map. Questo comportamento viene specificato tramite il parametro --health-check-custom-config durante la creazione del servizio di individuazione dei servizi. Per ulteriori informazioni, consulta l'AWS Cloud Map API HealthCheckCustomConfigReference.

  • Le AWS Cloud Map risorse create quando si utilizza il service discovery devono essere pulite manualmente.

  • Le attività e le istanze vengono registrate UNHEALTHY fino a quando i controlli dello stato del contenitore non restituiscono un valore. Se i controlli sanitari hanno esito positivo, lo stato viene aggiornato aHEALTHY. Se i controlli di integrità del contenitore falliscono, l'istanza di rilevamento del servizio viene annullata.

Prezzi del servizio di individuazione dei servizi

I clienti che utilizzano l'individuazione dei servizi di Amazon ECS pagano per le risorse Route 53 e le operazioni API di individuazione AWS Cloud Map . Sono inclusi i costi per la creazione delle zone ospitate di Route 53 e per le query nel registro del servizio. Per ulteriori informazioni, consulta Prezzi di AWS Cloud Map nella Guida per gli sviluppatori di AWS Cloud Map .

Amazon ECS esegue controlli di integrità a livello di container e li espone a operazioni API di controllo dello stato AWS Cloud Map personalizzate. Questa opzione al momento viene fornita gratuitamente ai clienti. Se configuri controlli dell'integrità di rete aggiuntivi per le attività esposte pubblicamente, potrebbero esserti addebitati i relativi costi.