이 페이지에서는 사용 사례, 주요 개념, Memcached 사용의 이점을 포함하여 Memorystore for Memcached 서비스를 소개합니다.
Memorystore for Memcached는 Google Cloud의 확장성이 뛰어난 완전 관리형 Memcached 서비스입니다. 이 서비스는 오픈소스 Memcached를 기반으로 하며 바이너리 및 ASCII 프로토콜을 준수합니다. 이 서비스는 모든 언어에서 표준 OSS Memcached 클라이언트 라이브러리를 사용하여 액세스할 수 있으므로 코드를 거의 변경하지 않고 기존 애플리케이션을 쉽게 리프트 앤 시프트할 수 있습니다.
확장성이 뛰어난 고성능 웹 애플리케이션은 분산형 메모리 내 데이터 저장소를 사용하여 적은 지연 시간과 높은 성능을 달성하는 경우가 많습니다. Memcached는 이러한 애플리케이션을 빌드하는 데 많이 사용되는 분산형 메모리 내 키-값 저장소입니다. 일반적인 Memcached 사용 사례에는 참조 데이터 캐싱, 데이터베이스 쿼리 캐싱, 경우에 따라 세션 저장소로의 사용이 있습니다.
Memcached에 대한 자세한 내용은 OSS(Open Source Software) Memcached 정보 페이지를 참조하세요.
Memorystore를 사용하면 Memcached 서비스를 매우 쉽게 배포할 수 있습니다. Memorystore를 배포하면 Google에서 서비스를 관리하므로 고객은 애플리케이션에 집중할 수 있습니다. Memorystore는 설치 및 관리의 오버헤드 없이 Memcached의 모든 이점을 제공합니다.
주요 개념
Memorystore for Memcached를 사용하면 완전 관리형 Memcached 클러스터를 만들 수 있습니다. 서비스를 사용하기 전에 몇 가지 주요 개념과 용어를 이해하는 것이 중요합니다.
Memcached 인스턴스는 Memcached 클러스터의 한 인스턴스를 나타냅니다. 인스턴스는 단일 노드 또는 노드 컬렉션으로 구성될 수 있습니다. 인스턴스의 모든 노드는 노드당 메모리가 동일해야 하며 vCPU 수가 동일해야 합니다. 인스턴스에 기록된 키는 클러스터의 모든 노드에 분할되며 복제되지 않습니다.
Memcached Node는 Memcached 인스턴스의 기본 단위입니다. 클러스터를 만들기 전에 노드 수, 노드당 메모리, Memcached 클러스터를 만드는 데 사용할 노드당 vCPU 수를 결정해야 합니다. 노드 구성 및 노드 수는 데이터세트의 크기, 키 손실 허용 범위, 워크로드 특성에 따라 다릅니다. 각 노드에는 IP 주소와 포트가 있습니다. 모든 노드의 IP 주소 목록을 수동으로 가져오거나 자동 검색 서비스를 사용할 수 있습니다.
위치를 사용하면 인스턴스를 배포할 리전과 리전 내 영역에 노드를 배포하는 방법을 지정할 수 있습니다.
Memorystore 인스턴스를 만들 때 먼저 인스턴스를 배포할 리전을 선택합니다. 리전 선택은 중요한 고려사항입니다. Memorystore 인스턴스에 액세스하는 애플리케이션이 배포되는 동일한 리전에 인스턴스를 배포해야 합니다. 다른 리전의 Google Cloud 리소스에서 Memorystore 인스턴스에 액세스하는 것은 지원되지 않습니다.
모든 Memorystore 노드는 지정한 리전 내에 배포됩니다. 리전 내에서 모든 영역에 노드를 자동으로 배포하거나 노드가 위치할 특정 영역을 선택할 수 있습니다. Memorystore가 사용 가능한 영역에 노드를 최적으로 배포할 수 있도록 노드를 자동으로 배포하게 하게 하는 것이 좋습니다. 애플리케이션의 내결함성을 개선하려면 모든 노드를 단일 영역에서 프로비저닝하지 않아야 합니다.
승인된 VPC 네트워크는 인스턴스에서 사용하는 Google VPC 네트워크를 지정합니다. 승인된 네트워크는 인스턴스를 만드는 동안 설정되며 나중에 변경할 수 없습니다. Memorystore for Memcached에서 VPC 네트워크를 사용하려면 VPC 네트워크에 비공개 서비스 액세스 연결을 설정해야 합니다. 승인된 VPC 네트워크에 액세스할 수 있는 리소스 및 사용자만 인스턴스에 액세스할 수 있습니다.
Memcached 인스턴스를 만들기 전에 Memcached 인스턴스가 사용하는 승인된 VPC 네트워크에 비공개 서비스 액세스 연결을 설정해야 합니다. 인스턴스를 만들기 전에 네트워킹/보안 팀에 문의하여 연결을 설정하는 것이 좋습니다. 비공개 서비스 액세스 연결을 사용하면 내부 IP 주소를 사용하여 인스턴스를 만들고 Memorystore 인스턴스에서 사용하는 내부 IP 주소 범위를 관리자가 제어할 수 있습니다. 자세한 내용은 네트워킹을 참조하세요.
구성을 사용하면 인스턴스를 만드는 중에 Memcached 특정 구성을 설정할 수 있으며 런타임 중에 구성을 변경할 수도 있습니다. 지원되는 구성 목록은 Memcache 구성을 참조하세요.
자동 검색 서비스는 Memcached 클라이언트가 클러스터의 모든 노드를 검색 할 수 있는 프로그래매틱 방식을 제공합니다. 클라이언트는 주기적으로 검색 엔드포인트를 쿼리하여 노드 IP 주소 목록을 가져올 수 있습니다. 이 목록은 일반적으로 일관된 해싱을 사용하여 모든 노드에 키를 배포하는 데 사용됩니다. 자동 검색 서비스는 인스턴스의 노드 수를 주기적으로 확장하는 환경에 특히 유용합니다. 자세한 내용은 자동 검색 서비스를 참조하세요.
다음 표에서는 Memorystore for Memcached에서 사용할 수 있는 다양한 특징과 기능을 설명합니다.
특징 및 기능 | 설명 |
---|---|
Memcached 버전 | 현재 이 서비스는 버전 1.5.16 및 1.6.15를 지원합니다. 자세한 내용은 지원되는 버전을 참조하세요. |
인스턴스 크기 조정 | 인스턴스의 노드 수는 최대 20개입니다. 모든 노드의 구성은 동일합니다. 노드는 최소 1개의 vCPU와 최대 32개의 vCPU를 가질 수 있습니다. 노드당 최소 메모리는 1GB이고 노드당 지원되는 최대 메모리는 256GB입니다. 메모리는 1GB 단위로 지정할 수 있습니다. 인스턴스의 최대 크기는 5TB입니다. |
인스턴스 확장 | 노드 수를 늘리거나 줄여 인스턴스를 수평으로 확장할 수 있습니다. 노드를 수직으로 확장하려면 인스턴스를 다시 만들어야 합니다. |
Memcached 구성 | 특정 워크로드에 맞게 인스턴스를 구성할 수 있습니다. 구성 목록은 Memcached 구성을 참조하세요. |
보안 및 액세스 제어 |
|
플랫폼 지원 | Memorystore for Memcached는 다음 플랫폼에서 액세스 할 수 있습니다. 지원되는 플랫폼:
|
클라이언트 라이브러리 | 모든 언어의 모든 표준 Memcached 클라이언트 라이브러리가 지원됩니다. |
자동 검색 서비스 |
인스턴스의 노드를 프로그래매틱 방식으로 검색할 수 있습니다. 자동 검색은 현재 다음 클라이언트에서 사용할 수 있습니다.
기존 Memcached 클라이언트를 수정하여 자동 검색 지원을 추가할 수도 있습니다. 자세한 내용은 자동 검색 서비스를 참조하세요. 자동 검색 서비스는 AWS Elasticache 자동 검색을 지원하는 대부분의 클라이언트와도 호환됩니다. |
모니터링 | Memorystore for Memcached는 Google Cloud 콘솔에서 인스턴스를 모니터링하기 위한 측정항목과 대시보드를 제공합니다. 자세한 내용은 Memcached 인스턴스 모니터링을 참조하세요. |
다음 단계
- Memcached 인스턴스 만들기
- Memcached 네트워킹을 위한 Memorystore를 설정합니다.
- 비공개 서비스 액세스 연결 설정