Individuazione degli endpoint di connessione - Amazon ElastiCache

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

Individuazione degli endpoint di connessione

Le applicazioni utilizzano gli endpoint per connettersi ai cluster. Un endpoint corrisponde all'indirizzo univoco di un nodo o di un cluster.

Quali endpoint utilizzare

Per la cache ElastiCache serverless con Memcached, è sufficiente acquisire dalla console il DNS e la porta dell'endpoint del cluster.

Dalla AWS CLI, usa il comando describe-serverless-caches per acquisire le informazioni sull'endpoint.

Linux

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

Windows

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

L'output dell'operazione precedente è simile al seguente (in 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" } ] }

Per un'istanza basata su cluster Memcached, se usi l'individuazione automatica puoi utilizzare l'endpoint di configurazione del cluster per impostare il client Memcached. È necessario quindi utilizzare un client che supporti la funzione di individuazione automatica Auto Discovery.

In caso contrario, occorre configurare il client in modo che si avvalga degli endpoint di nodo individuali per le operazioni di lettura e scrittura. È necessario, inoltre, tenere traccia dei nodi eventualmente aggiunti o rimossi.

Nelle sezioni seguenti è illustrato, fase per fase, il processo di individuazione degli endpoint necessari per il motore in esecuzione.

Tutti gli endpoint Memcached sono sia di lettura che di scrittura. Per connettersi ai nodi in un cluster Memcached, l'applicazione può utilizzare gli endpoint di ciascun nodo o l'endpoint di configurazione del cluster, insieme all'individuazione automatica. Per avvalersi dell'individuazione automatica è necessario utilizzare un client che la supporti.

Con l'individuazione automatica, l'applicazione client si connette al cluster Memcached tramite l'endpoint di configurazione. Nel momento in cui si ridimensiona il cluster aggiungendo o rimuovendo nodi, l'applicazione viene automaticamente e immediatamente a "conoscenza" di tutti i nodi del cluster ed è in grado di connettersi a essi. Senza l'individuazione automatica, l'applicazione deve fare da sé o spetta all'utente aggiornare manualmente gli endpoint nell'applicazione, per ogni aggiunta o rimozione di un nodo.

Per copiare un endpoint, scegli l'icona di copia direttamente davanti all'indirizzo dell'endpoint. Per informazioni sull'utilizzo dell'endpoint per la connessione a un nodo, consulta Connessione ai nodi.

Gli endpoint di configurazione e dei nodi sono molto simili. Le differenze sono riportate di seguito in grassetto.

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

Chi sceglie di impostare un CNAME come endpoint di configurazione Memcached, affinché il client dell'individuazione automatica lo riconosca come tale, deve includere .cfg. nel CNAME stesso.

Per trovare gli endpoint di nodi e cluster, è possibile avvalersi di AWS CLI per Amazon ElastiCache.

Individuazione degli endpoint per nodi e cluster (AWS CLI)

AWS CLI, con il comando describe-cache-clusters, consente di individuare gli endpoint di un cluster con i relativi nodi. Per i cluster Memcached, il comando restituisce l'endpoint di configurazione. Se si include il parametro facoltativo --show-cache-node-info, il comando restituisce, inoltre, gli endpoint dei vari nodi nel cluster.

Il seguente comando recupera l'endpoint di configurazione (ConfigurationEndpoint) e gli endpoint dei singoli nodi (Endpoint) del cluster Memcached mycluster.

Per Linux, macOS o Unix:

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

Per Windows:

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

L'output dell'operazione sopra indicata dovrebbe essere simile a questo (in 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", } ] }
Importante

Chi sceglie di impostare un CNAME come endpoint di configurazione Memcached, affinché il client dell'individuazione automatica lo riconosca come tale, deve includere .cfg. nel CNAME stesso. Ad esempio, mycluster.cfg.local nel file php.ini per il parametro session.save_path.

Per ulteriori informazioni, consulta l'argomento describe-cache-clusters.

Per trovare gli endpoint di nodi e cluster, è possibile avvalersi dell'API di Amazon ElastiCache.

Individuazione degli endpoint di nodi e cluster (API ElastiCache)

L'API di ElastiCache, con l'operazione DescribeCacheClusters, consente di individuare gli endpoint di un cluster con i relativi nodi. Per i cluster Memcached, il comando restituisce l'endpoint di configurazione. Se si include il parametro facoltativo ShowCacheNodeInfo, l'operazione restituisce, inoltre, gli endpoint dei vari nodi nel cluster.

Il seguente comando recupera l'endpoint di configurazione (ConfigurationEndpoint) e gli endpoint dei singoli nodi (Endpoint) del cluster 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

Chi sceglie di impostare un CNAME come endpoint di configurazione Memcached, affinché il client dell'individuazione automatica lo riconosca come tale, deve includere .cfg. nel CNAME stesso. Ad esempio, mycluster.cfg.local nel file php.ini per il parametro session.save_path.