본문으로 건너뛰기

Monitoring Flow를 활용한 하둡 클러스터 오토 스케일링 자동화

카카오클라우드 Monitoring Flow 서비스와 Hadoop Eco 서비스를 이용하여 클러스터 오토 스케일링을 자동화하는 방법을 설명합니다.

기본 정보
  • 예상 소요 시간: 30분
  • 사용자 환경
    • 권장 운영 체제: Ubuntu
    • Region: kr-central-2
  • 사전 준비 사항

시나리오 소개

이 시나리오에서는 Monitoring Flow 서비스를 사용하여 하둡 클러스터 오토 스케일링을 자동화하는 과정을 다룹니다. 주요 단계는 다음과 같습니다.

  • 카카오클라우드 Hadoop Eco를 사용하여 하둡 클러스터 생성
  • Monitoring Flow에서 시나리오를 생성하여 하둡 클러스터의 Scale-in/Scale-out 스케줄을 생성
  • Alert Center 연동을 통해 모니터링 결과에 대한 알림 수신

사전 작업

네트워크 환경 구축

Monitoring Flow 서비스와 하둡 클러스터간 통신을 위해 네트워크 환경을 설정합니다. 아래의 항목에 따라 VPC와 서브넷을 생성합니다.

VPC 및 서브넷: tutorial
  1. 카카오클라우드 콘솔 > Beyond Networking Service > VPC 메뉴로 이동합니다.

  2. [+ VPC 생성] 버튼을 클릭한 후, 다음과 같이 설정합니다.

    구분항목설정/입력값
    VPC 정보VPC 이름tutorial
    VPC IP CIDR 블록10.0.0.0/16
    Availability Zone가용 영역 개수1
    첫 번째 AZkr-central-2-a
    서브넷 설정가용 영역당 퍼블릭 서브넷 개수1
    kr-central-2-a

    퍼블릭 서브넷 IPv4 CIDR 블록: 10.0.0.0/20

  3. 하단에 생성되는 토폴로지를 확인 후, 이상이 없다면 [생성] 버튼을 클릭합니다.

    • 서브넷의 상태는 Pending Create > Pending Update > Active 순서로 변경됩니다. Active 상태가 되면 다음 단계로 진행할 수 있습니다.

작업 순서

Monitoring Flow를 활용하여 하둡 클러스터 사이즈를 조정하는 방법을 단계별로 안내합니다.

Step 1. Hadoop Eco 클러스터 생성하기

Hadoop Eco 클러스터를 생성하여 Monitoring Flow로 모니터링할 환경을 구성합니다.

  1. 카카오클라우드 콘솔 > Analytics > Hadoop Eco > Cluster 메뉴로 이동합니다.

  2. 클러스터가 없다면, 클러스터 생성 문서를 참고하여 클러스터를 생성합니다.

    • VPC 설정 항목에서 플로우 커넥션에 연결할 VPC와 서브넷을 선택합니다.
    • 시큐리티 그룹 구성 항목에서 [새로운 시큐리티 그룹을 생성]을 선택합니다. Hadoop Eco를 위한 인바운드, 아웃바운드 규칙을 자동으로 설정되며, 생성된 시큐리티 그룹은 VPC > Security에서 확인할 수 있습니다.
  3. 생성된 클러스터의 정보를 확인합니다.

    • 클러스터 상태가 Running이 되면 정상적으로 생성된 것입니다.
    • Monitoring Flow 스텝 구성을 위해 필요한 클러스터 ID를 확인합니다.

    이미지 클러스터 상세

Step 2. 시나리오 생성하기

Monitoring Flow에서 하둡 클러스터를 모니터링할 시나리오를 생성하고 실행 스케줄을 설정합니다.

  1. 카카오클라우드 콘솔 > Management > Monitoring Flow > 시나리오 메뉴로 이동합니다.

  2. [시나리오 생성] 버튼을 클릭하여 생성 화면으로 이동합니다.

  3. 플로우 커넥션 선택 없이 스케줄을 설정합니다. 이 예제에서는 서브넷간 통신이 필요하지 않기 때문에, 플로우 커넥션 없이 시나리오를 생성할 수 있습니다.

    이미�지 시나리오 생성

Step 3. 시나리오 스텝 추가하기: API

시나리오는 여러 스텝을 조합하여 특정 작업을 자동화하는 방식으로 구성됩니다. 이 단계에서는 클러스터의 상태에 따라 Scale-out/Scale-in(자동 확장 및 축소) 작업을 실행하는 스케일링 자동화 시나리오를 설정합니다. 아래 예시를 참고하여 각 항목을 설정하세요.

  1. 카카오클라우드 콘솔 > Management > Monitoring Flow > 시나리오 메뉴로 이동합니다.

  2. 자동화할 스케일링 시나리오의 이름을 클릭하여 해당 시나리오의 상세 화면으로 이동갑니다.

  3. 세부 정보 탭에서 우측 상단의 [시나리오 스텝 추가] 버튼을 클릭합니다.

  4. 다음 테이블을 참고하여 항목을 설정합니다. 3가지 예시를 모두 입력하여 Headers 값을 저장합니다.

    항목예시 1예시 2예시 3설명
    유형APIAPI 선택
    스텝 이름API-1스텝에 설정할 이름
    Expected code200서버가 정상적으로 동작하면 200 상태 코드가 반환되어야 하며, 이를 통해 서버의 가용성을 확인
    MethodPOSTAPI 요청 방법 선택
    URL예시 확인
    - /scale-out 또는
    /scale-in을 입력
    접근하는 API의 URL 입력 - 예시: https://hadoop-eco.kr-central-2.kakaocloud.com/v2/hadoop-eco/clusters/{Cluster-ID}/scale-out
    - Analytics > Hadoop Eco > Cluster에서 클러스터 ID 확인 가능
    Header의 KeyContent-typecredential-idcredential-secretHeaders Key 입력
    - 하둡 클러스터 생성 Request 참고
    Header의 Valueapplication/json액세스 키 ID보안 액세스 키Headers Value 입력
    - 하둡 클러스터 생성 Request 참고
    Body{"scaleCnt": 1 }Body 값 입력
    - 변수 입력 가능

    이미지 Scale Out

Step 4. 시나리오 테스트하기

생성한 시나리오의 테스트 실행 결과를 확인합니다. Step 4에서 생성한 시나리오의 테스트 시, 설정한 URL에서 200 응답이 반환되면 API 서버가 정상 작동하고 있음을 의미합니다. 예상하지 못한 응답 코드가 반환되면 서버 상태에 문제가 있음을 나타내며, 이를 통해 오류를 진단할 수 있습니다.

  1. 테스트가 정상적으로 실행되었다면 [실행 결과] 아래에 성공 표시가 나타납니다.

이미지 테스트 성공 결과

  1. 예상과 다른 응답 코드가 반환되는 경우 실패로 표시되며, 서버 상태에 문제가 있을 수 있음을 나타냅니다. 이때, 우측 패널 하단에서 오류 상세 정보를 확인하여 문제를 해결합니다.

    주의
    • 비활성화된 인스턴스에 접근 시 호출 실패 오류가 발생할 수 있으니, 올바른 IP 주소를 입력하세요.
  2. 테스트 화면을 닫은 후, 시나리오 스텝 편집 화면에서 시나리오를 저장합니다. 저장된 시나리오는 설정된 스케줄에 따라 자동으로 실행됩니다.

Step 5. 실행 결과 확인하기

시나리오의 실행 결과와 시간을 확인하여, 정상적으로 작동 여부를 평가합니다. 상세 정보를 통해 시나리오가 오류 없이 완료되었는지 확인할 수 있습니다.

  1. 카카오클라우드 콘솔에서 Management > Monitoring Flow > 시나리오 메뉴를 선택합니다.

  2. 확인할 시나리오를 선택하고, 상세 화면에서 실행 결과 탭을 클릭합니다.

    이미지 시나리오 실행 결과 목록

  3. 실행 결과 목록에서 이벤트를 클릭하여 상세 결과를 확인합니다.

    이미지 시나리오 실행 결과 상세

Step 6. Alert Center 알림 정책 만들기

Alert Center 알림 정책 설정을 통해, Monitoring Flow의 실행 결과(성공/실패)에 대한 응답을 받을 수 있습니다.

  1. 카카오클라우드 콘솔 > Management > Alert Center> 알림 정책 메뉴를 선택합니다. 알림 정책 생성 문서를 참고하시기 바랍니다.

  2. 다음 표를 참고하여 알림 조건을 설정합니다.

항목설정 내용
조건 유형메트릭
서비스Monitoring Flow
조건 설정메트릭 항목으로 성공/실패 알림을 받을 수 있도록 설정
- Scenario Success CountScenario Fail Count를 시나리오에 각각 설정 시, 모든 메트릭 알림을 받을 수 있음
- 실패 시에만 알림을 받으려면 Scenario Fail Count만 설정
자원 항목알람을 받으려는 대상의 시나리오 선택
임계치1 count 이상
지속 시간1 분
  1. 하단의 [다음] 버튼을 클릭하여 알림 정책 만들기를 완료합니다.

    이미지 알림 정책 생성

  2. 설정한 알림 정책에 따라 Monitoring Flow 시나리오 실행 결과(성공 또는 실패)에 대한 알림을 실시간으로 수신할 수 있으며, 시스템의 상태 변화를 빠르게 인지하고 대응할 수 있습니다.