Auto Discovery 사용
ElastiCache(Memcached)와 함께 Auto Discovery를 사용하려면 다음 단계를 따르세요.
구성 엔드포인트 확보
클라이언트 프로그램은 클러스터에 연결하기 위해 클러스터 구성 Endpoint를 알아야 합니다. 클러스터 엔드포인트 찾기(콘솔)(Memcached) 항목을 참조하세요.
또한 다음과 같이 aws elasticache describe-cache-clusters
파라미터를 포함하여 --show-cache-node-info
명령을 사용할 수 있습니다.
클러스터의 엔드포인트를 찾기 위해 어떤 방법을 사용하든지 구성 엔드포인트는 항상 주소에 .cfg를 포함합니다.
예 ElastiCache용 AWS CLI를 사용하여 엔드포인트 찾기
Linux, macOS, Unix의 경우:
aws elasticache describe-cache-clusters \ --cache-cluster-id
mycluster
\ --show-cache-node-info
Windows의 경우:
aws elasticache describe-cache-clusters ^ --cache-cluster-id
mycluster
^ --show-cache-node-info
이 작업은 다음과 유사한 출력을 생성합니다(JSON 형식).
{
"CacheClusters": [
{
"Engine": "memcached",
"CacheNodes": [
{
"CacheNodeId": "0001",
"Endpoint": {
"Port": 11211,
"Address": "mycluster.fnjyzo.cfg.0001.use1.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-10-12T21:39:28.001Z",
"CustomerAvailabilityZone": "us-east-1e"
},
{
"CacheNodeId": "0002",
"Endpoint": {
"Port": 11211,
"Address": "mycluster.fnjyzo.cfg.0002.use1.cache.amazonaws.com"
},
"CacheNodeStatus": "available",
"ParameterGroupStatus": "in-sync",
"CacheNodeCreateTime": "2016-10-12T21:39:28.001Z",
"CustomerAvailabilityZone": "us-east-1a"
}
],
"CacheParameterGroup": {
"CacheNodeIdsToReboot": [],
"CacheParameterGroupName": "default.memcached1.4",
"ParameterApplyStatus": "in-sync"
},
"CacheClusterId": "mycluster",
"PreferredAvailabilityZone": "Multiple",
"ConfigurationEndpoint": {
"Port": 11211,
"Address": "mycluster.fnjyzo.cfg.use1.cache.amazonaws.com"
},
"CacheSecurityGroups": [],
"CacheClusterCreateTime": "2016-10-12T21:39:28.001Z",
"AutoMinorVersionUpgrade": true,
"CacheClusterStatus": "available",
"NumCacheNodes": 2,
"ClientDownloadLandingPage": "https://console.aws.amazon.com/elasticache/home#client-download:",
"CacheSubnetGroupName": "default",
"EngineVersion": "1.4.24",
"PendingModifiedValues": {},
"PreferredMaintenanceWindow": "sat:06:00-sat:07:00",
"CacheNodeType": "cache.r3.large"
}
]
}
ElastiCache 클러스터 클라이언트 다운로드
Auto Discovery를 이용하려면 클라이언트 프로그램에서 ElastiCache 클러스터 클라이언트를 사용해야 합니다. ElastiCache 클러스터 클라이언트는 Java, PHP 및 .NET에 사용할 수 있으며 모든 캐시 노드를 검색하고 연결하는 데 필요한 모든 로직을 포함합니다.
ElastiCache 클러스터 클라이언트를 다운로드하려면
-
AWS 관리 콘솔에 로그인하고 https://console.aws.amazon.com/elasticache/
에서 ElastiCache 콘솔을 엽니다. ElastiCache 콘솔에서 ElastiCache Cluster Client(ElastiCache 클러스터 클라이언트)를 선택한 후 다운로드를 선택합니다.
Java용 ElastiCache 클러스터 클라이언트의 소스 코드는 https://github.com/amazonwebservices/aws-elasticache-cluster-client-memcached-for-java
참고
PHP용 ElastiCache 클러스터 클라이언트를 사용하려면 먼저 클라이언트를 Amazon EC2 인스턴스에 설치해야 합니다. 자세한 내용은 PHP용 ElastiCache 클러스터 클라이언트 설치 섹션을 참조하세요.
TLS 지원 클라이언트의 경우 PHP 버전 7.4 이상의 바이너리를 다운로드합니다.
.NET용 ElastiCache 클러스터 클라이언트를 사용하려면 먼저 클라이언트를 Amazon EC2 인스턴스에 설치해야 합니다. 자세한 내용은 .NET용 ElastiCache 클러스터 클라이언트 설치 섹션을 참조하세요.
애플리케이션 프로그램 수정
Auto Discovery를 사용하도록 애플리케이션 프로그램을 수정합니다. 다음 섹션에서는 Java, PHP 및 .NET용 ElastiCache를 사용하는 방법을 보여줍니다.
중요
클러스터의 구성 엔드포인트를 지정할 때 다음과 같이 엔드포인트의 주소에 ".cfg"를 포함해야 합니다. ".cfg"를 포함하지 않은 엔드포인트 또는 CNAME을 사용하지 마십시오.
"mycluster.fnjyzo.cfg.use1.cache.amazonaws.com";
클러스터의 구성 엔드포인트를 명시적으로 지정하지 못하면 특정 노드로 구성됩니다.