Couchbase Capella의 클러스터 온/오프 기능을 사용하면 데이터를 영구적으로 삭제하지 않고도 클러스터를 원활하게 일시 중지하고 다시 시작할 수 있어 클라우드 비용을 최적화하고 운영 효율성을 개선할 수 있습니다.

이 블로그에서는 이 기능이 어떻게 작동하는지, 테라폼을 사용하여 이 기능을 자동화하는 방법을 살펴봅니다.

사용자는 클러스터 가용성을 관리하기 위한 두 가지 옵션이 있습니다:

    • 온디맨드 켜기/끄기 - 필요에 따라 클러스터를 수동으로 일시 중지하고 다시 시작할 수 있습니다.
    • 예약 켜기/끄기 - 특정 날짜 및 시간대에 클러스터를 자동으로 일시 중지/재시작합니다.

클러스터 끄기(일시 중지)

    • 모든 클러스터 서비스를 중지합니다.
    • 데이터, 구성 및 메타데이터를 유지합니다.
    • 컴퓨팅 리소스를 확보하여 스토리지를 그대로 유지하면서 비용을 절감할 수 있습니다.

클러스터 켜기(재개)

    • 클러스터를 일시 중지된 상태에서 복원합니다.
    • 서비스를 다시 시작하고 데이터에 다시 액세스할 수 있도록 합니다.
    • 클라이언트가 원활하게 다시 연결하고 작업을 재개할 수 있습니다.

클러스터 켜기/끄기 기능을 사용하는 이유는 무엇인가요?

  1. 컴퓨팅 비용을 절감하고 사용량에 따라 최적화합니다:
    • 클러스터가 꺼져 있으면 컴퓨팅 리소스(예: CPU, RAM)에 대한 비용이 청구되지 않으므로 인프라 비용이 크게 절감됩니다.
    • 클러스터가 꺼져 있는 경우에는 꺼진 금액(대부분 스토리지 및 관리 비용)만 지불하면 됩니다.
    • 유휴 리소스에 대한 비용을 지불하는 대신 실제 사용량에 따라 비용을 조정할 수 있습니다.
  1. 운영 오버헤드를 줄입니다:
    • 수동으로 클러스터를 프로비저닝하고 해체할 필요가 없습니다.
    • 사용자는 리소스를 재구성하거나 재배포하지 않고도 일시 중지된 클러스터를 쉽게 재개할 수 있습니다.
  1. 데이터의 지속성 및 비용 효율적인 개발/테스트:
    • 클러스터가 일시 중지된 경우에도 데이터, 스키마(버킷, 범위, 컬렉션), 인덱스, 사용자, 허용 목록 및 백업은 그대로 유지됩니다.
    • 작업을 재개할 때 구성이 손실되지 않도록 보장합니다.
    • 개발자는 근무 시간 외에 비프로덕션 환경을 일시 중지할 수 있습니다. 이를 통해 CI/CD 파이프라인, 스테이징 또는 UAT 환경에서 불필요한 비용을 방지할 수 있습니다.

비용 최적화

운영 비용을 절감하는 가장 간단하고 효과적인 방법 중 하나는 클러스터를 사용하지 않을 때 클러스터를 끄는 것입니다. 다음 AWS 클러스터의 사용 사례를 살펴보겠습니다. 3개의 노드(데이터, 인덱스, 쿼리) 를 사용하여 개발자 프로 플랜 in 카우치베이스 카펠라, 의 구성으로 2개의 vCPU, 16GB RAM, 디스크 크기 50GB, 디스크 유형 GP3, 그리고 IOPS 3000.

이 클러스터를 연중무휴 24시간 온라인 상태로 유지하면 월별 컴퓨팅 비용이 다음과 같이 발생합니다. $1,497.60 종량제 모델에 따라 비용을 지불합니다. 그러나 많은 개발 클러스터는 근무 시간에만 필요합니다. 밤과 같이 매일 12시간 동안 클러스터를 종료하기만 하면 팀은 다음과 같은 비용을 절약할 수 있습니다. $705.60 에 달하며, 이는 47% 컴퓨팅 비용을 절감할 수 있습니다. 이는 클러스터 다운타임을 자동화하여 개발자 생산성에 영향을 주지 않고 클라우드 지출을 최적화할 수 있는 강력한 사례입니다.

여러 클러스터가 있는 환경이나 24시간 가용성이 필요하지 않은 개발 환경에서는 비필수 클러스터의 다운타임을 예약함으로써 예산을 보다 효과적으로 재할당하여 비즈니스 성과에 직접적인 영향을 미치는 분야에 투자할 수 있습니다.


시작하기: Terraform 공급자를 사용하여 온/오프 일정 배포하기

카펠라 테라폼 프로바이더를 사용하면 프로그래밍 방식으로 카펠라 배포를 관리하여 리소스 오케스트레이션을 자동화할 수 있습니다. Terraform Provider를 통해 Capella에서 온/오프 일정을 배포하는 간단한 튜토리얼을 살펴보겠습니다.

클러스터를 끄거나 켜는 방법에 대해 자세히 알아보려면 다음과 같이 하세요. 온디맨드 테라폼 사용, 에 제공된 예제 및 README를 참조하십시오. 리포지토리로 이동합니다. 필요에 따라 클러스터를 켜고 끄는 방법에 대한 단계별 개요가 있습니다.

클러스터 켜기/끄기 기능 외에도 필요에 따라 앱 서비스를 켜거나 끌 수도 있습니다. 다음을 참조하세요. 문서 테라폼 공급자 예제 에서 자세한 내용을 확인하세요.

학습 내용

    1. 파일을 구성하고 Terraform 스크립트를 실행하는 데 필요한 명령을 이해하는 단계입니다.
    2. 공급자를 사용하여 Capella에서 클러스터 켜기/끄기 일정을 배포하는 방법에 대한 단계별 자습서입니다.

전제 조건

시작하기 전에 다음 사항을 확인하세요:

    1. Terraform 버전 >= 1.5.2
    2. Go 버전 >= 1.2.0
    3. 카펠라 유료 계정
    4. 카펠라 클러스터 - 공급자를 사용하여 Couchbase 클러스터를 만들거나  카펠라 UI또는 카펠라 관리 API 를 클릭하고 해당 조직_ID, 프로젝트_ID 및 클러스터_ID 를 클릭하여 켜기/끄기 일정을 만듭니다.
    5. 인증 API키 - 다음을 사용하여 API 키를 만들 수 있습니다. 카펠라 UI 또는 카펠라 관리 API. 공급자가 관리하는 리소스의 범위에 따라 적절한 역할 집합이 연결된 API 키를 만들어야 합니다.

권한 부여 및 인증 설정에 대한 자세한 내용은 테라폼 문서를 참조하세요. 저장소 그리고 이 블로그 게시물.


1단계: 구성

변수 만들기

  1. 라는 파일을 만듭니다. variables.tf 를 클릭하고 다음 변수 정의를 추가합니다. 구성 파일 내에서 이러한 변수를 사용할 것입니다.
  2. 라는 파일을 만듭니다. terraform.template.tfvars 를 열고 다음 줄을 추가합니다. 여기서 배포와 관련된 주요 변수의 값을 지정합니다.
  3. 라는 파일을 만듭니다. capella.tf 를 클릭하고 다음 구성을 추가하여 프로젝트의 기존 Capella 클러스터에 대한 온/오프 일정을 생성합니다:

2단계: 일정 배포 및 관리

테라폼 공급자 초기화

Terraform은 공급자를 처음 사용할 때 초기화해야 합니다:

테라폼 계획 검토

다음 명령을 사용하여 배포할 리소스를 검토합니다:

기존 클러스터에 대한 온/오프 스케줄을 만드는 동안 다음과 유사한 출력이 표시됩니다:

테라폼 계획 실행

다음 명령을 사용하여 카우치베이스 아카펠라 리소스를 배포합니다:

계획이 좋으면 "예"를 입력합니다.

참고: 프로젝트를 만들고, 클러스터를 배포하고, 클러스터에 대한 온/오프 일정을 만드는 경우 리소스를 배포하는 데 몇 분 정도 걸립니다.

Capella UI에서는 다음과 같이 표시됩니다:

 

일정 삭제


참조

    • 확인 클러스터 켜기/끄기 일정 테라폼 공급자를 사용합니다.
    • 다음 내용을 확인하세요. 온디맨드 클러스터 켜기/끄기 테라폼 공급자를 사용합니다.
    • 다음 내용을 확인하세요. 온디맨드 앱 서비스 켜기/끄기 테라폼 공급자를 사용합니다.
    • 온디맨드 클러스터 켜기/끄기에 대한 Couchbase 공식 문서 - 안녕하세요. ref
    • 클러스터 켜기/끄기 일정에 대한 Couchbase 공식 문서 - 안녕하세요. ref
    • 앱 서비스 온/오프 스케줄에 대한 Couchbase 공식 문서 - 앱 서비스 온/오프 일정 - ref

작성자

게시자 폴로미 드 - 소프트웨어 엔지니어

댓글 남기기