Búsqueda de puntos de conexión en ElastiCache - Amazon ElastiCache

Búsqueda de puntos de conexión en ElastiCache

Su aplicación se conecta a su clúster de ElastiCache mediante puntos de conexión. Un punto de conexión es un nodo o la dirección única del clúster.

Puede establecer una conexión privada entre los puntos de conexión de la VPC y la API de ElastiCache mediante la creación de un punto de conexión de VPC de interfaz desde AWS PrivateLink. Para obtener más información, consulte Puntos de conexión de VPC de interfaz y API de ElastiCache (AWS PrivateLink).

Puntos de conexión que se deben usar con Valkey o Redis OSS.

  • Para el Nodo independiente, use el punto de conexión del nodo para las operaciones de lectura y escritura.

     

  • Para Clústeres de Valkey o Redis OSS (modo de clúster desactivado), utilice el Punto de conexión principal para todas las operaciones de escritura. Use el punto de conexión de lector para dividir de manera uniforme las conexiones entrantes al punto de enlace entre todas las réplicas de lectura. Use los puntos de conexión del nodo para las operaciones de lectura (en la API/CLI, estas se denominan puntos de conexión de lectura).

     

  • Para Clústeres de Valkey o Redis OSS (modo de clúster activado), utilice el Punto de conexión de configuración del clúster para todas las operaciones que admiten comandos del modo de clúster activado. Debe usar un cliente que admita clústeres de Valkey o Redis OSS en Redis OSS 3.2 y versiones posteriores. También podrá realizar operaciones de lectura desde puntos de conexión de nodos individuales (en la API/CLI, estas se denominan puntos de conexión de lectura).

     

Las secciones siguientes le guiarán en el proceso de detección de los puntos de conexión que necesitará para el motor que esté usando.

Puntos de conexión que se deben usar con Memcached.

Para Caché sin servidor de ElastiCache con Memcached, basta con adquirir el DNS del punto de conexión del clúster y el puerto desde la consola.

Desde AWS CLI, utilice el comando describe-serverless-caches para adquirir información sobre el punto de conexión.

Linux

aws elasticache describe-serverless-caches --serverless-cache-name CacheName

Windows

aws elasticache describe-serverless-caches --serverless-cache-name CacheName

La salida de la operación anterior tendrá un aspecto similar al siguiente (formato JSON):

{ "ServerlessCaches": [ { "ServerlessCacheName": "serverless-memcached", "Description": "test", "CreateTime": 1697659642.136, "Status": "available", "Engine": "memcached", "MajorEngineVersion": "1.6", "FullEngineVersion": "21", "SecurityGroupIds": [ "sg-083eda453e1e51310" ], "Endpoint": { "Address": "serverless-memcached-01.amazonaws.com", "Port":11211 }, "ARN": "<the ARN>", "SubnetIds": [ "subnet-0cf759df15bd4dc65", "subnet-09e1307e8f1560d17" ], "SnapshotRetentionLimit": 0, "DailySnapshotTime": "03:00" } ] }

Para un clúster de Memcached basado en instancias, si usa la función de detección automática, puede usar el punto de conexión de configuración del clúster para configurar el cliente de Memcached. Esto significa que debe usar un cliente que admita la función de detección automática.

Si opta por no usar la función de detección automática, deberá configurar su cliente para usar los puntos de conexión individuales para las operaciones de lectura y escritura. También deberá realizar un seguimiento conforme agregue y elimine nodos.

Si un clúster de Valkey o Redis OSS (modo de clúster deshabilitado) solo tiene un nodo, el punto de conexión de dicho nodo se utiliza tanto para las operaciones de lectura como de escritura. Si un clúster de Valkey o Redis OSS (modo de clúster deshabilitado) tiene varios nodos, hay tres tipos de puntos de conexión: el punto de conexión principal, el punto de conexión del lector y los puntos de conexión de nodo.

El punto de conexión principal es un nombre de DNS que siempre se resuelve en el nodo principal del clúster. El punto de conexión principal es inmune a los cambios en el clúster, como la promoción de una réplica de lectura a la función principal. Para una actividad de escritura, recomendamos que sus aplicaciones se conecten al punto de conexión principal.

Un punto de conexión del lector dividirá de manera uniforme las conexiones entrantes al punto de conexión entre todas las réplicas de lectura de un clúster de ElastiCache para Redis OSS. Factores adicionales como cuando la aplicación crea las conexiones o cómo la aplicación (re)utiliza las conexiones determinará la distribución del tráfico. Los puntos de enlace de lector se mantienen actualizados con los cambios del clúster en tiempo real cuando se añaden o eliminan réplicas. Puede colocar las diferentes réplicas de lectura del clúster de ElastiCache para Redis OSS en distintas zonas de disponibilidad (AZ) de AWS para garantizar la alta disponibilidad de los puntos de conexión del lector.

nota

Un punto de conexión del lector no es un equilibrador de carga. Se trata de un registro de DNS que se resolverá en una dirección IP de uno de los nodos de réplica en forma de turno rotativo.

Para la actividad de lectura, las aplicaciones pueden conectarse también a cualquier nodo del clúster. A diferencia del punto de conexión principal, los puntos de conexión de nodo se resuelven en puntos de enlace específicos. Si realiza un cambio en su clúster, como añadir o eliminar una réplica, debe actualizar los puntos de enlace del nodo en su aplicación.

Búsqueda de puntos de conexión de un clúster de Valkey o Redis OSS (modo de clúster deshabilitado)
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de ElastiCache en https://console.aws.amazon.com/elasticache/.

  2. En el panel de navegación, elija Clústeres de Valkey o Clústeres de Redis OSS.

    Aparecerá la pantalla de clústeres con una lista de clústeres de Valkey o Redis OSS (modo de clúster deshabilitado) y de clústeres de Valkey o Redis OSS (modo de clúster habilitado).

  3. Para buscar los puntos de conexión principal o de lector, elija el nombre del clúster (no el botón a su izquierda).

    Imagen: punto de conexión principal de un clúster de Valkey o Redis OSS (modo de clúster deshabilitado)

    Puntos de conexión del lector y principal para un clúster de Valkey o Redis OSS (modo de clúster deshabilitado)

    Si el clúster tiene solo un nodo, quiere decir que no hay punto de conexión principal y, por lo tanto, puede continuar con el paso siguiente.

  4. Si el clúster de Valkey o Redis OSS (modo de clúster deshabilitado) tiene nodos de réplica, puede encontrar los puntos de conexión del nodo de réplica del clúster eligiendo el nombre del clúster y, a continuación, la pestaña Nodos.

    Aparecerá la pantalla de nodos con los nodos del clúster, principal y réplicas; cada uno con su punto de conexión.

    Imagen: puntos de conexión del nodo para un clúster de Valkey o Redis OSS (modo de clúster deshabilitado)

    Puntos de conexión del nodo para un clúster de Valkey o Redis OSS (modo de clúster deshabilitado)

  5. Para copiar un punto de conexión al portapapeles:

    1. Un punto de conexión cada vez, encuentre el punto de conexión que desea copiar.

    2. Elija el icono de copia directamente delante del punto de conexión.

    El punto de conexión se ha copiado ahora en el portapapeles. Para obtener información sobre el uso del punto de conexión a fin de conectarse a un nodo, consulte Conexión a los nodos de Memcached.

Un punto de conexión principal de Valkey o Redis OSS (modo de clúster deshabilitado) tiene un aspecto parecido al siguiente. Existe una diferencia dependiendo de si está habilitado el cifrado en tránsito o no lo está.

Cifrado en tránsito no habilitado

clusterName.xxxxxx.nodeId.regionAndAz.cache.amazonaws.com:port redis-01.7abc2d.0001.usw2.cache.amazonaws.com:6379

Cifrado en tránsito habilitado

master.clusterName.xxxxxx.regionAndAz.cache.amazonaws.com:port master.ncit.ameaqx.use1.cache.amazonaws.com:6379

Un clúster de Valkey o Redis OSS (modo de clúster habilitado) tiene un único punto de conexión de configuración. Al conectarse al punto de conexión de configuración, la aplicación puede detectar los puntos de conexión principal y de lectura de cada partición del clúster.

Búsqueda de puntos de conexión del clúster de Valkey o Redis OSS (modo de clúster habilitado)
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de ElastiCache en https://console.aws.amazon.com/elasticache/.

  2. En el panel de navegación, elija Clústeres de Valkey o Clústeres de Redis OSS.

    Aparecerá la pantalla de clústeres con una lista de clústeres. Haga clic en el clúster al que desea conectarse.

  3. Para buscar el punto de conexión de configuración del clúster, elija el nombre del clúster (no el botón de opción).

  4. El Configuration endpoint (Punto de conexión de configuración) se muestra en Cluster details(Detalles de clúster). Para copiarlo, elija el ícono copiar a la izquierda del punto de conexión.

Todos los puntos de conexión de Memcached son de lectura/escritura. Para conectarse a los nodos de un clúster de Memcached, su aplicación puede usar los puntos de conexión de cada nodo o el punto de conexión de configuración del clúster con la función de detección automática. Para usar la función de detección automática, debe usar un cliente que admita la función de detección automática.

Cuando se usa la función de detección automática, la aplicación cliente se conecta a su clúster de Memcached mediante el punto de conexión de configuración. A medida que amplíe su clúster agregando o quitando nodos, su aplicación "sabrá" automáticamente los nodos que hay en el clúster y se podrá conectar a cualquiera de ellos. Sin la función de detección automática, su aplicación tendría que averiguar los nodos existentes o tendría que actualizar manualmente los puntos de conexión de su aplicación cada vez que se agrega o quita un nodo.

Para copiar un punto de conexión, elija el icono de copia situado justo delante de la dirección del punto de conexión. Para obtener información sobre el uso del punto de conexión a fin de conectarse a un nodo, consulte Conexión a los nodos de Memcached.

Los puntos de conexión de configuración y del nodo son muy similares. A continuación se muestran las diferencias resaltadas en negrita.

myclustername.xxxxxx.cfg.usw2.cache.amazonaws.com:port # configuration endpoint contains "cfg" myclustername.xxxxxx.0001.usw2.cache.amazonaws.com:port # node endpoint for node 0001
importante

Si decide crear un CNAME para su punto de conexión de Memcached, para que el cliente de detección automática reconozca el CNAME como un punto de conexión de configuración, deberá incluir .cfg. en el CNAME.

Para Memcached, puede utilizar la AWS CLI de Amazon ElastiCache para detectar los puntos de conexión de los nodos y los clústeres.

Para Redis OSS, puede utilizar la AWS CLI de Amazon ElastiCache para detectar los puntos de conexión de los nodos, los clústeres y los grupos de replicación.

Búsqueda de puntos de conexión para nodos y clústeres (AWS CLI)

Puede usar AWS CLI para detectar los puntos de enlace de un clúster y sus nodos con el comando describe-cache-clusters. Para clústeres de Valkey o Redis OSS, el comando devuelve el punto de conexión del clúster. Para clústeres de Memcached, el comando devuelve el punto de conexión de configuración. Si incluye el parámetro opcional --show-cache-node-info, el comando también devolverá los puntos de conexión de los nodos individuales del clúster.

El comando siguiente recupera el punto de conexión de configuración (ConfigurationEndpoint) y los puntos de conexión de nodos individuales (Endpoint) para el clúster de Memcached mycluster.

Para Linux, macOS o Unix:

aws elasticache describe-cache-clusters \ --cache-cluster-id mycluster \ --show-cache-node-info

Para Windows:

aws elasticache describe-cache-clusters ^ --cache-cluster-id mycluster ^ --show-cache-node-info

La salida de la operación anterior tendrá un aspecto similar al siguiente (formato JSON).

{ "CacheClusters": [ { "Engine": "memcached", "CacheNodes": [ { "CacheNodeId": "0001", "Endpoint": { "Port": 11211, "Address": "mycluster.amazonaws.com" }, "CacheNodeStatus": "available", "ParameterGroupStatus": "in-sync", "CacheNodeCreateTime": "2016-09-22T21:30:29.967Z", "CustomerAvailabilityZone": "us-west-2b" }, { "CacheNodeId": "0002", "Endpoint": { "Port": 11211, "Address": "mycluster.amazonaws.com" }, "CacheNodeStatus": "available", "ParameterGroupStatus": "in-sync", "CacheNodeCreateTime": "2016-09-22T21:30:29.967Z", "CustomerAvailabilityZone": "us-west-2b" }, { "CacheNodeId": "0003", "Endpoint": { "Port": 11211, "Address": "mycluster.amazonaws.com" }, "CacheNodeStatus": "available", "ParameterGroupStatus": "in-sync", "CacheNodeCreateTime": "2016-09-22T21:30:29.967Z", "CustomerAvailabilityZone": "us-west-2b" } ], "CacheParameterGroup": { "CacheNodeIdsToReboot": [], "CacheParameterGroupName": "default.memcached1.4", "ParameterApplyStatus": "in-sync" }, "CacheClusterId": "mycluster", "PreferredAvailabilityZone": "us-west-2b", "ConfigurationEndpoint": { "Port": 11211, "Address": "mycluster.amazonaws.com" }, "CacheSecurityGroups": [], "CacheClusterCreateTime": "2016-09-22T21:30:29.967Z", "AutoMinorVersionUpgrade": true, "CacheClusterStatus": "available", "NumCacheNodes": 3, "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "CacheSubnetGroupName": "default", "EngineVersion": "1.4.24", "PendingModifiedValues": {}, "PreferredMaintenanceWindow": "mon:09:00-mon:10:00", "CacheNodeType": "cache.m4.large", "DataTiering": "disabled" } ] }
importante

Si decide crear un CNAME para su punto de conexión de Memcached, a fin de que el cliente de detección automática reconozca el CNAME como un punto de conexión de configuración, deberá incluir .cfg. en el CNAME. Por ejemplo, incluya mycluster.cfg.local en el archivo php.ini en el parámetro session.save_path.

Para Valkey o Redis OSS, el siguiente comando recupera información del clúster para el clúster de nodo único mycluster.

importante

El parámetro --cache-cluster-id se puede utilizar con el ID de clúster de Valkey o Redis OSS (modo de clúster deshabilitado) con un solo nodo o con los ID de un nodo específico de los grupos de replicación. El valor de --cache-cluster-id de un grupo de replicación es un valor de 4 dígitos; por ejemplo, 0001. Si --cache-cluster-id es la identificación de un clúster (nodo) de un grupo de replicación, replication-group-id se incluye en la salida.

Para Linux, macOS o Unix:

aws elasticache describe-cache-clusters \ --cache-cluster-id redis-cluster \ --show-cache-node-info

Para Windows:

aws elasticache describe-cache-clusters ^ --cache-cluster-id redis-cluster ^ --show-cache-node-info

La salida de la operación anterior tendrá un aspecto similar al siguiente (formato JSON).

{ "CacheClusters": [ { "CacheClusterStatus": "available", "SecurityGroups": [ { "SecurityGroupId": "sg-77186e0d", "Status": "active" } ], "CacheNodes": [ { "CustomerAvailabilityZone": "us-east-1b", "CacheNodeCreateTime": "2018-04-25T18:19:28.241Z", "CacheNodeStatus": "available", "CacheNodeId": "0001", "Endpoint": { "Address": "redis-cluster.amazonaws.com", "Port": 6379 }, "ParameterGroupStatus": "in-sync" } ], "AtRestEncryptionEnabled": false, "CacheClusterId": "redis-cluster", "TransitEncryptionEnabled": false, "CacheParameterGroup": { "ParameterApplyStatus": "in-sync", "CacheNodeIdsToReboot": [], "CacheParameterGroupName": "default.redis3.2" }, "NumCacheNodes": 1, "PreferredAvailabilityZone": "us-east-1b", "AutoMinorVersionUpgrade": true, "Engine": "redis", "AuthTokenEnabled": false, "PendingModifiedValues": {}, "PreferredMaintenanceWindow": "tue:08:30-tue:09:30", "CacheSecurityGroups": [], "CacheSubnetGroupName": "default", "CacheNodeType": "cache.t2.small", "DataTiering": "disabled" "EngineVersion": "3.2.10", "ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:", "CacheClusterCreateTime": "2018-04-25T18:19:28.241Z" } ] }

Para obtener más información, consulte el tema describe-cache-clusters.

Búsqueda de los puntos de conexión de los grupos de replicación de Valkey o Redis OSS (AWS CLI)

Puede usar la AWS CLI para detectar los puntos de enlace de un grupo de reproducción y sus clústeres con el comando describe-replication-groups. El comando devuelve el punto de conexión principal del grupo de reproducción y una lista de todos los clústeres (nodos) del grupo de reproducción con sus puntos de conexión, junto con el punto de conexión de lector.

La operación siguiente recupera el punto de conexión principal y el punto de conexión de lector para el grupo de reproducción myreplgroup. Use el punto de conexión principal para todas las operaciones de escritura.

aws elasticache describe-replication-groups \ --replication-group-id myreplgroup

Para Windows:

aws elasticache describe-replication-groups ^ --replication-group-id myreplgroup

La salida de esta operación anterior tendrá un aspecto similar al siguiente (formato JSON).

{ "ReplicationGroups": [ { "Status": "available", "Description": "test", "NodeGroups": [ { "Status": "available", "NodeGroupMembers": [ { "CurrentRole": "primary", "PreferredAvailabilityZone": "us-west-2a", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup-001.amazonaws.com" }, "CacheClusterId": "myreplgroup-001" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup-002.amazonaws.com" }, "CacheClusterId": "myreplgroup-002" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2c", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "myreplgroup-003.amazonaws.com" }, "CacheClusterId": "myreplgroup-003" } ], "NodeGroupId": "0001", "PrimaryEndpoint": { "Port": 6379, "Address": "myreplgroup.amazonaws.com" }, "ReaderEndpoint": { "Port": 6379, "Address": "myreplgroup-ro.amazonaws.com" } } ], "ReplicationGroupId": "myreplgroup", "AutomaticFailover": "enabled", "SnapshottingClusterId": "myreplgroup-002", "MemberClusters": [ "myreplgroup-001", "myreplgroup-002", "myreplgroup-003" ], "PendingModifiedValues": {} } ] }

Para obtener más información, consulte describe-replication-groups en la Referencia de los comandos de la AWS CLI.

Para Memcached, puede utilizar la API de Amazon ElastiCache para detectar los puntos de conexión de los nodos y los clústeres.

Para Redis OSS, puede utilizar la API de Amazon ElastiCache para detectar los puntos de conexión de los nodos, los clústeres y los grupos de replicación.

Búsqueda de puntos de enlace para nodos y clústeres (API de ElastiCache)

Puede utilizar la API de ElastiCache para detectar los puntos de enlace de un clúster y sus nodos con la acción DescribeCacheClusters. Para clústeres de Valkey o Redis OSS, el comando devuelve el punto de conexión del clúster. Para clústeres de Memcached, el comando devuelve el punto de conexión de configuración. Si incluye el parámetro opcional ShowCacheNodeInfo, la acción también devuelve los puntos de conexión de los nodos individuales del clúster.

Para Memcached, el comando siguiente recupera el punto de conexión de configuración (ConfigurationEndpoint) y los puntos de conexión de nodos individuales (Endpoint) para el clúster de Memcached mycluster.

https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeCacheClusters &CacheClusterId=mycluster &ShowCacheNodeInfo=true &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &Version=2015-02-02 &X-Amz-Credential=<credential>
importante

Si decide crear un CNAME para su punto de conexión de Memcached, a fin de que el cliente de detección automática reconozca el CNAME como un punto de conexión de configuración, deberá incluir .cfg. en el CNAME. Por ejemplo, incluya mycluster.cfg.local en el archivo php.ini en el parámetro session.save_path.

Búsqueda de puntos de conexión de grupos de replicación de Valkey o Redis OSS (API de ElastiCache)

Puede utilizar la API de ElastiCache para detectar los puntos de enlace de un grupo de reproducción y sus clústeres con la acción DescribeReplicationGroups. La acción devuelve el punto de conexión principal del grupo de reproducción y una lista de todos los clústeres del grupo de reproducción con sus puntos de enlace, junto con el punto de conexión de lector.

La operación siguiente recupera el punto de conexión principal (PrimaryEndpoint), el punto de conexión de lector (ReaderEndpoint) y los punto de conexión de nodo (ReadEndpoint) del grupo de reproducción myreplgroup. Use el punto de conexión principal para todas las operaciones de escritura.

https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeReplicationGroups &ReplicationGroupId=myreplgroup &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &Version=2015-02-02 &X-Amz-Credential=<credential>

Para obtener más información, consulte DescribeReplicationGroups.