AWS 권장사항

이 섹션에서는 권장사항을 요약하고 AWS 클라우드에서 OPDK를 사용하기 위한 권장사항을 제공합니다.

Cassandra는 거의 모든 정책의 백엔드 및 데이터 스토어로 사용되며 Apigee Edge 런타임 환경에서 중요한 부분입니다. 이 문서에서는 AWS 환경에 맞게 Cassandra를 최적화하는 데 중점을 둡니다.

스토리지 및 I/O 요구사항

대부분의 Cassandra I/O는 순차적이지만 임의 I/O가 필요한 경우가 있습니다. 읽기 작업 중에 정렬된 문자열 테이블을 읽는 경우를 예로 들 수 있습니다. SSD는 Cassandra에 권장되는 스토리지 메커니즘입니다. 무작위 읽기 작업에 대한 응답 시간이 매우 짧으면서도 압축 작업에 충분한 순차 작성 성능을 제공하기 때문입니다. 여기서는 복제도 고려합니다.

AWS EC2의 많은 인스턴스에는 EC2 인스턴스가 호스팅되는 하드웨어에 하드 드라이브가 물리적으로 연결된 로컬 스토리지가 제공됩니다. Apigee는 프로덕션에서 Cassandra를 실행할 때 SSD와 인스턴스 저장소를 모두 활용할 것을 권장합니다. SSD가 2개 이상인 인스턴스 유형을 사용할 경우 RAID0을 사용하여 더 많은 처리량과 스토리지 용량을 확보할 수 있습니다.

네트워크 요구사항

Cassandra는 Gossip 프로토콜을 사용하여 네트워크 토폴로지에 대한 정보를 다른 노드와 교환합니다. Gossip을 사용하고 읽기 및 쓰기 작업을 위해 여러 노드와 통신해야 하는 Cassandra의 분산된 특성으로 인해 네트워크를 통해 많은 데이터가 전송됩니다. Apigee에서는 네트워크 대역폭이 최소 1Gbps이고 프로덕션 시스템의 경우 1Gbps를 초과하는 인스턴스 유형을 사용하는 것이 좋습니다.

CIDR이 /16인 VPC를 사용하세요. AWS의 서브넷은 2개 이상의 AZ에 걸쳐 있을 수 없으므로 Apigee는 다음을 권장합니다.

  • 가용성 영역 (AZ)당 서브넷 1개 만들기
  • Apigee 설치에 3개의 비공개 서브넷(AZ마다 Cassandra 노드 하나씩)을 사용합니다. 3개의 서브넷에는 Cassandra 클러스터의 수평 확장을 수용하기에 충분한 CIDR 블록이 있어야 합니다.
  • 소프트웨어 다운로드 및 보안 업데이트를 위해 인터넷에 통신할 수 있도록 Cassandra용 전용 NAT가 포함된 공개 서브넷 3개를 구성합니다.

기존의 마스터-슬레이브 아키텍처와 달리 Cassandra는 모든 노드가 동일한 역할을 수행하는 마스터가 없는 아키텍처를 사용하므로 단일 장애점이 없습니다. 고가용성을 사용 설정하려면 Cassandra 노드를 여러 AZ에 분산하는 것이 좋습니다. AZ 전반에 노드를 분산하면 재해 발생 시에도 가용성과 업타임을 유지할 수 있습니다.

인스턴스 계열 선택

Cassandra CPU 요구사항을 살펴볼 때 삽입 작업이 많은 워크로드는 IO 바인딩이 되기 전에 Cassandra에서 CPU에 바인딩됩니다. 즉, 모든 쓰기 작업은 커밋 로그에 이동하지만 Cassandra는 쓰기에 매우 효율적이므로 CPU가 제한 요소가 됩니다. Cassandra는 동시 실행 능력이 매우 높으며 최대한 많은 CPU 코어를 사용합니다.

Apigee에서는 CPU와 메모리가 균형 있는 인스턴스 계열을 사용하는 것이 좋습니다. 특히 AWS 리전에서 사용할 수 있는 경우 C5 계열 인스턴스를 사용하고 대체 옵션으로 C3를 사용하는 것이 좋습니다. 경우에 따라서는 두 제품군에서 모두 4xlarge가 최적의 가격 대비 성능을 제공합니다.

Apigee는 Cassandra 인스턴스에 기본 테넌시를 사용하는 것도 권장합니다. AZ당 2개 이상의 인스턴스로 확장할 경우 테넌시를 전용으로 설정하면 모든 Cassandra 인스턴스가 동일한 기본 하드웨어에 배치될 가능성이 높습니다. 따라서 하드웨어에 장애가 발생하면 해당 AZ의 모든 인스턴스가 손실될 수 있습니다.

추천 요약

다음 표에는 프라이빗 클라우드용 Apigee Edge와 AWS를 함께 사용하기 위한 Apigee 권장사항이 요약되어 있습니다.

인스턴스 계열 C5d (권장) 또는 C3
인스턴스 유형 C(x).4xlarge
인스턴스 저장소 RAID0을 사용하는 SSD (로컬 스토리지)
임대차 유형 기본값
노드 위치 AZ당 Cassandra 노드 1개
VPC 및 서브넷 AZ당 서브넷 1개 및 리전별 VPC 1개

자세한 내용은 Amazon 인스턴스 유형을 참조하세요.