Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Creación de un AWS Cloud Map servicio para un componente de la aplicación
Tras crear un espacio de nombres, puede crear servicios para representar los distintos componentes de la aplicación que se destinen a fines específicos. Por ejemplo, puede crear un servicio para los recursos de su aplicación que procese los pagos.
No puedes crear varios servicios a los que se pueda acceder mediante DNS consultas con nombres que solo difieran según las mayúsculas EXAMPLE y minúsculas (por ejemplo). Si lo intenta, estos servicios tendrán el mismo DNS nombre. Si utilizas un espacio de nombres al que solo pueden acceder las API llamadas, puedes crear servicios con nombres que solo difieran según las mayúsculas y minúsculas.
Siga estos pasos para crear un servicio con AWS Management Console AWS CLI, y SDK para Python.
- AWS Management Console
-
Inicie sesión en AWS Management Console y abra la AWS Cloud Map consola en https://console.aws.amazon.com/cloudmap/.
-
En el panel de navegación, seleccione Namespaces (Espacios de nombres).
-
En la página Namespaces (Espacios de nombres), elija el espacio de nombres al que desea añadir el servicio.
-
En la namespace-name
página Namespace:, selecciona Crear servicio.
-
En Nombre del servicio, introduzca un nombre que describa las instancias que registra al utilizar este servicio. El valor se utiliza para detectar las instancias AWS Cloud Map de servicio en API las llamadas o en DNS las consultas.
Si desea crear un SRVregistro AWS Cloud Map al registrar una instancia y utiliza un sistema que requiere un SRVformato específico (por ejemplo HAProxy), especifique lo siguiente para el nombre del servicio:
-
Comience el nombre con un guion bajo (_), por ejemplo, _exampleservice.
-
Termine el nombre con._protocol
, por ejemplo. _tcp.
Cuando registras una instancia, AWS Cloud Map crea un SRVregistro y asigna un nombre concatenando el nombre del servicio y el nombre del espacio de nombres, por ejemplo:
_servicioejemplo._tcp.ejemplo.com
-
(Opcional) En Descripción del servicio, introduce una descripción para el servicio. La descripción que introduzca aquí aparece en la página de servicios y en la página de detalles de cada servicio.
-
Si el espacio de nombres admite DNS consultas, en Configuración de detección de servicios, puede configurar la capacidad de detección a nivel de servicio. Elija entre permitir tanto las API llamadas como las DNS consultas o solo las API llamadas para la detección de instancias en este servicio.
Si eliges APIlas llamadas, no AWS Cloud Map se crearán SRV registros cuando registres una instancia.
Si eliges APIy DNS, sigue estos pasos para configurar DNS los registros. Puede añadir o eliminar DNS registros.
-
En Política de enrutamiento, seleccione la política de enrutamiento de Amazon Route 53 para los DNS registros que se AWS Cloud Map
crean al registrar instancias. Puede seleccionar entre el enrutamiento ponderado y el enrutamiento de respuesta de valores múltiples. Para obtener más información, consulte Política de direccionamiento.
No puede usar la consola AWS Cloud Map para configurar la creación de un registro de alias de Route 53 al registrar una instancia. Si desea AWS Cloud Map crear registros de alias para un balanceador de cargas de Elastic Load Balancing al registrar instancias mediante programación, elija Enrutamiento ponderado para la política de enrutamiento.
-
En Tipo de registro, elija el tipo de DNS registro que determine qué devuelve Route 53 en respuesta a DNS las consultas realizadas por él. AWS Cloud Map Para obtener más información, consulte Tipo de registro.
-
Para TTL, especifique un valor numérico para definir el valor del tiempo de vida (TTL), en segundos, a nivel de servicio. El valor de TTL determina cuánto tiempo los DNS solucionadores almacenan en caché la información de este registro antes de que reenvíen otra DNS consulta a Amazon Route 53 para obtener la configuración actualizada.
-
En Configuración de comprobación de estado, en las opciones de comprobación de estado, elija el tipo de comprobación de estado aplicable a las instancias de servicio. Puede elegir no configurar ninguna comprobación de estado o puede elegir entre una comprobación de estado de Route 53 o una comprobación de estado externa para sus instancias. Para obtener más información, consulte AWS Cloud Map configuración de la comprobación del estado del servicio.
Las comprobaciones de estado de Route 53 solo se pueden configurar para los servicios en espacios de DNS nombres públicos.
Si elige las comprobaciones de estado de Route 53, proporcione la siguiente información.
-
En el campo Umbral de error, indique un número entre 1 y 10 que defina el número de comprobaciones de estado consecutivas de Route 53 que una instancia de servicio debe superar o no superar para que su estado de salud cambie.
-
Para el protocolo Health Check, seleccione el método que utilizará Route 53 para comprobar el estado de las instancias de servicio.
-
Si eliges HTTPun protocolo de control de HTTPSestado, para Ruta de control de estado, proporciona una ruta que desees que Amazon Route 53 solicite al realizar los controles de estado. La ruta puede ser cualquier valor, como el archivo /docs/route53-health-check.html
. Cuando el recurso está en buen estado, el valor devuelto es un código de HTTP estado con un formato 2xx o 3xx. También puede incluir parámetros de cadena de consulta, como /welcome.html?language=jp&login=y
. La consola de AWS Cloud Map añade automáticamente un carácter de barra inclinada (/).
Para obtener más información sobre los controles de estado de Route 53, consulte Cómo determina Amazon Route 53 si un chequeo de estado está en buen estado en la Guía para desarrolladores de Amazon Route 53.
-
(Opcional) En Etiquetas, elija Agregar etiquetas y, a continuación, especifique una clave y un valor para etiquetar su espacio de nombres. Puede especificar una o varias etiquetas para agregarlas a su espacio de nombres. Las etiquetas te permiten categorizar tus AWS recursos para que puedas administrarlos más fácilmente. Para obtener más información, consulte Etiquetar sus recursos AWS Cloud Map.
-
Elija Crear servicio.
- AWS CLI
-
-
Cree un servicio con el create-service
comando. Sustituya los red
valores por los suyos propios.
aws servicediscovery create-service \
--name service-name
\
--namespace-id ns-xxxxxxxxxxx
\
--dns-config "NamespaceId=ns-xxxxxxxxxxx
,RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A
,TTL=60
}]"
Salida:
{
"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)
-
Si aún no tiene Boto3
instalado, puede encontrar las instrucciones de instalación, configuración y uso Boto3
aquí.
-
Importe Boto3
y use servicediscovery
como su servicio.
import boto3
client = boto3.client('servicediscovery')
-
Crea un servicio concreate_service()
. Sustituya los red
valores por los suyos propios. Para obtener más información, consulte create_service.
response = client.create_service(
DnsConfig={
'DnsRecords': [
{
'TTL': 60
,
'Type': 'A
',
},
],
'NamespaceId': 'ns-xxxxxxxxxxx
',
'RoutingPolicy': 'MULTIVALUE
',
},
Name='service-name
',
NamespaceId='ns-xxxxxxxxxxx
',
)
Salida de respuesta de ejemplo
{
'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': {
'...': '...',
},
}
Pasos a seguir a continuación
Tras crear un servicio, puede registrar los recursos de la aplicación como instancias de servicio que contienen información sobre cómo la aplicación puede localizar el recurso. Para obtener más información sobre el registro AWS Cloud Map de instancias de servicio, consulteRegistrar un recurso como instancia de servicio AWS Cloud Map.
Después de crear un servicio, también puede especificar metadatos personalizados, como las ponderaciones de los puntos finales, API los tiempos de espera y las políticas de reintentos, como atributos del servicio. Para obtener más información, consulte ServiceAttributesy UpdateServiceAttributes
en la AWS Cloud Map API Referencia.