Individuazione degli endpoint di connessione - Amazon ElastiCache per Redis

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.

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.

Quali endpoint utilizzare
  • Nodo autonomo di Redis; prevede l'utilizzo dell'endpoint del nodo per entrambe le operazioni di lettura e scrittura.

     

  • Cluster Redis (modalità cluster disabilitata); prevedono l'utilizzo dell'endpoint primario per tutte le operazioni di scrittura. Usa l'endpoint di lettura per dividere equamente le connessioni in arrivo verso l'endpoint tra tutte le repliche di lettura. I vari endpoint di nodo (definiti in ambiente API/CLI endpoint di lettura) vengono invece impiegati per le operazioni di lettura.

     

  • Cluster Redis (modalità cluster abilitata); prevedono l’utilizzo dell’endpoint di configurazione del cluster per tutte le operazioni che supportano i comandi abilitati in modalità cluster. È necessario utilizzare un client che supporti il cluster Redis (Redis 3.2). È comunque possibile effettuare letture dagli endpoint di nodo individuali (definiti in ambiente API/CLI endpoint di lettura).

     

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

Se un cluster Redis (modalità cluster disabilitata) dispone di un solo nodo, l'endpoint di quest'ultimo viene utilizzato per entrambe le operazioni di lettura e scrittura. Se un cluster Redis (modalità cluster disabilitata) dispone di più nodi, ci sono tre tipi di endpoint, l'endpoint primario, l'endpoint di lettura e gli endpoint dei nodi.

L'endpoint primario è un nome DNS che viene sempre risolto nel nodo primario nel cluster. L'endpoint primario è immune a modifiche al cluster, ad esempio la promozione di una replica di lettura al ruolo primario. Per attività di scrittura, è preferibile collegare le applicazioni all'endpoint primario.

Un endpoint di lettura dividerà equamente le connessioni in arrivo sull'endpoint tra tutte le repliche di lettura in un cluster ElastiCache for Redis. Ulteriori fattori come, ad esempio, quando l'applicazione crea le connessioni o il modo in cui l'applicazione riutilizza le connessioni determineranno la distribuzione del traffico. Gli endpoint di lettura mantengono le modifiche ai cluster in tempo reale mano a mano che le repliche vengono aggiunte o rimosse. Puoi posizionare le repliche di lettura multiple del cluster ElastiCache for Redis in diverse zone di disponibilità (AZ) AWS per garantire un'elevata disponibilità degli endpoint dii lettura.

Nota

Un endpoint di lettura non è un servizio di load balancer. Si tratta di un record DNS che si risolverà in un indirizzo IP di uno dei nodi di replica in modo round robin.

Per attività di lettura, le applicazioni possono inoltre connettersi a qualsiasi nodo nel cluster. A differenza dell'endpoint primario, gli endpoint dei nodi vengono risolti in endpoint specifici. Se apporti una modifica al cluster, ad esempio aggiungendo o eliminando una replica, devi aggiornare gli endpoint dei nodi nell'applicazione.

Per individuare gli endpoint di un cluster Redis (modalità cluster disabilitata)
  1. Accedi alla AWS Management Console e apri la console ElastiCache all'indirizzo https://console.aws.amazon.com/elasticache/.

  2. Dal riquadro di navigazione scegli Cluster Redis.

    Verrà visualizzata la schermata con l'elenco dei cluster Redis (modalità cluster disabilitata) e Redis (modalità cluster abilitata).

  3. Per trovare l’endpoint primario e/o l’endpoint di lettura del cluster, scegli il nome del cluster (non il pulsante alla sua sinistra).

    Immagine: endpoint primario di un cluster Redis (modalità cluster disabilitata)

    Endpoint primario e di lettura per un cluster Redis (modalità cluster disabilitata)

    Se il cluster annovera un solo nodo, non c'è alcun endpoint primario e si può passare alla fase successiva.

  4. Se il cluster Redis (modalità cluster disabilitata) dispone di nodi di replica, puoi trovare gli endpoint del nodo di replica scegliendo il nome del cluster e quindi selezionando la scheda Nodes (Nodi).

    Così facendo, viene visualizzata una schermata con l'elenco di tutti i nodi del cluster, primario e di replica, e i relativi endpoint.

    Immagine: endpoint di nodo di un cluster Redis (modalità cluster disabilitata)

    Endpoint di nodo di un cluster Redis (modalità cluster disabilitata)

  5. Per copiare un endpoint negli appunti:

    1. Individua, uno alla volta, gli endpoint da copiare.

    2. Scegli l'icona di copia direttamente davanti all'endpoint.

    L'endpoint è stato correttamente copiato negli appunti. Per informazioni sull'utilizzo dell'endpoint per la connessione a un nodo, vedereConnessione ai nodi.

Un endpoint primario di Redis (modalità cluster disattivata) risulta simile a quello riportato di seguito. Differisce in base all'avvenuta o mancata abilitazione della crittografia dati in transito.

Crittografia dati in transito non abilitata

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

Crittografia dati in transito abilitata

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

Un cluster Redis (modalità cluster abilitata) dispone di un solo endpoint di configurazione. Connettendosi all'endpoint di configurazione, la tua applicazione è in grado di scoprire gli endpoint primari e di lettura per ognle partizioni del cluster.

Per trovare l’endpoint di un cluster Redis (modalità cluster abilitata)
  1. Accedi alla AWS Management Console e apri la console ElastiCache all'indirizzo https://console.aws.amazon.com/elasticache/.

  2. Dal riquadro di navigazione scegli Cluster Redis.

    Verrà visualizzata la schermata con l'elenco dei cluster Redis (modalità cluster disabilitata) e Redis (modalità cluster abilitata). Scegli il cluster Redis (modalità cluster abilitata) a cui effettuare il collegamento.

  3. Per trovare l'endpoint di configurazione del cluster, scegli il nome del cluster (non il pulsante di opzione).

  4. L’endpoint di configurazione è visualizzato sotto i dettagli del cluster. Per copiarlo scegli l'icona copia a sinistra dell'endpoint.

Per trovare gli endpoint di nodi, cluster e gruppi di replica, è 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 Redis, il comando restituisce l'endpoint del cluster. 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 le informazioni relative al cluster a nodo singolo mycluster.

Importante

Il parametro --cache-cluster-id può essere utilizzato con l'ID del cluster a nodo singolo o con gli ID dei nodi nei gruppi di replica Redis. Il parametro --cache-cluster-id di un gruppo di replica Redis è rappresentato da un valore di quattro cifre, ad esempio 0001. Se --cache-cluster-id rappresenta l'ID di un cluster (nodo) in un gruppo di replica Redis, il parametro replication-group-id è incluso nell'output.

Per Linux, macOS o Unix:

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

Per Windows:

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

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

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

Individuazione degli endpoint per gruppi di replica (AWS CLI)

AWS CLI, con il comando describe-replication-groups, consente di individuare gli endpoint di un gruppo di replica e i relativi cluster. Il comando restituisce l'endpoint primario del gruppo di replica e l'elenco di tutti i cluster (nodi) nel gruppo di replica con i loro endpoint insieme all'endpoint di lettura.

L'operazione seguente recupera l'endpoint primario e l'endpoint di lettura per il gruppo di replica myreplgroup. Utilizza l'endpoint primario per tutte le operazioni di scrittura.

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

Per Windows:

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

L'aspetto dell'output di questa operazione è simile al seguente (in 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": {} } ] }

Per ulteriori informazioni, consulta describe-replication-groups nella documentazione di riferimento dell'AWS CLI.

Per trovare gli endpoint di nodi, cluster e gruppi di replica, è 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 Redis, il comando restituisce l'endpoint del cluster. Se si include il parametro facoltativo ShowCacheNodeInfo, l'operazione restituisce, inoltre, gli endpoint dei vari nodi nel cluster.

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>

Individuazione di endpoint dei gruppi di replica (API ElastiCache)

L'API di ElastiCache, con l'operazione DescribeReplicationGroups, consente di individuare gli endpoint di un gruppo di replica e i relativi cluster. Il comando restituisce l'endpoint primario del gruppo di replica e l'elenco di tutti i cluster nel gruppo di replica con i loro endpoint insieme all'endpoint di lettura.

La seguente operazione recupera l'endpoint primario (PrimaryEndpoint), l'endpoint di lettura (ReaderEndpoint) e gli endpoint dei singoli nodi (ReadEndpoint) relativi al gruppo di replica myreplgroup. Utilizza l'endpoint primario per tutte le operazioni di scrittura.

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>

Per ulteriori informazioni, consulta DescribeReplicationGroups