Amazon Web Services 한국 블로그

Amazon CloudWatch를 사용한 멀티 계정 및 리전간 교차 대시보드 기능 출시

멀티 계정 또는 멀티 리전을 활용하여 개발 생산성 및 가용성을 높히는 것은 중요한 AWS 클라우드 배포에 대한 모범 사례 중 하나입니다. 멀티 계정을 사용하면 리소스를 서로 격리하고 문제가 발생했을 때 피해를 최소화하는 보안 및 결제 과정의 경계가 만들어집니다. 멀티 리전을 사용하면 격리 수준이 높아지고 최종 사용자의 지연 시간이 짧아지며 애플리케이션의 데이터 복구 능력이 향상됩니다. 하지만, 모니터링 및 문제 해결과 관련한 단점이 있습니다.

중앙 집중식 운영 팀, DevOps 엔지니어 및 서비스 소유자가 여러 리전과 수많은 계정에서 실행 중인 애플리케이션을 모니터링 및 분석하고 관련 문제를 해결해야 합니다. 경보가 수신되면 대기 중인 엔지니어가 대시보드에 로그인하여 문제를 진단하고 다른 계정에도 로그인해 다양한 구성 요소 또는 종속성에 대한 추가 대시보드를 확인해야 할 가능성이 큽니다. 서비스 소유자는 서비스 가용성에 영향을 미칠 수 있는 애플리케이션 리소스, 공유 리소스 또는 애플리케이션 간 종속성에 대한 가시성을 필요로 합니다. 멀티 계정 및/또는 멀티 리전을 사용하면 근본 원인 분석을 위해 구성 요소 간의 상관 관계를 확인하기가 어렵고 문제를 해결하는 데 걸리는 시간이 늘어납니다.

오늘 발표한 Amazon CloudWatch 계정간 및 리전간 대시 보드 기능을 사용하면 고객이 여러 계정에 로그인하고 로그아웃하거나 리전 간을 전환할 필요 없이, 전반적인 운영 대시보드를 생성하고 원클릭 드릴다운 기능을 통해 좀 더 세부적인 대시보드를 활용할 수 있습니다. 여러 계정과 리전에 걸쳐 성능 및 운영 데이터를 시각화하고 집계하고 요약하는 기능은 마찰을 줄여 문제 해결에 걸리는 시간을 단축하는 데 유용합니다. 단순히 다른 계정 및/또는 리전의 경보/리소스/지표를 보기만 하려는 등의 경우에는 대시보드를 구축하지 않고 교차 계정 교차 리전 기능을 순전히 탐색용으로만 사용할 수도 있습니다.

CloudWatch 멀티 계정 및 리전간 대시보드 설정

교차 계정 및 교차 리전 대시보드는 손쉽게 사용을 시작할 수 있으며, 원할 경우 AWS Organizations와 통합할 수도 있습니다. Organizations로 여러 AWS 계정을 관리하고 제어할 경우 로그인하지 않고도 조직 내 모든 계정의 CloudWatch 콘솔을 사용해 Amazon CloudWatch 대시보드, 지표 및 경보 간을 이동할 수 있습니다. 그 자세한 방법은 잠시 후 이 게시물에서 설명하겠습니다. 물론 단일 계정에 대해서만 교차 리전 대시보드를 설정할 수도 있습니다. 이 게시물에서는 Organizations과의 통합 기능을 사용합니다.

이 블로그 게시물에 사용하기 위해 이미 조직을 만들어 Organizations 콘솔을 통해 다른 제 계정 몇 개를 참여하도록 초대했습니다. 앞서 말했듯이 Organizations를 사용하면 나중에 대시보드를 구성할 때 계정을 손쉽게 선택할 수 있습니다. Organizations를 사용하지 않고 사용자 지정 계정 선택기를 미리 채울 수도 있습니다. 그러면 계정을 기억하거나, 대시보드를 구축하는 과정에서 필요할 때 계정 ID를 직접 입력할 필요가 없습니다. 조직을 설정하는 자세한 방법은 AWS Organizations 사용 설명서에서 참조할 수 있습니다. 조직이 설정되었으니 이제 계정 구성을 시작할 수 있습니다.

처음으로 해야 할 작업은 대시보드를 생성할 계정을 찾아 구성하는 것입니다. 이 계정은 모니터링 계정이 되며 2개 이상 구성할 수 있습니다. 두 번째로, 모니터링할 계정(Organizations의 멤버 계정)을 찾아야 합니다. 이들 계정은 모니터링 계정과 데이터를 공유하도록 구성됩니다. 모니터링 계정에는 CloudWatch가 각 멤버 계정에서 역할을 부여받도록 허용하는 SLR(서비스 연결 역할)이 필요합니다. 이 역할은 교차 계정 교차 리전 옵션을 활성화하면 콘솔에서 자동으로 생성됩니다. 각 멤버 계정을 설정하려면 해당 계정 내에서 모니터링 계정과의 데이터 공유를 활성화해야 합니다.

먼저 모니터링 계정부터, CloudWatch 콘솔 홈 왼쪽의 탐색 창에서 [Settings]를 선택합니다. 페이지 상단에 [Cross-Account Cross-Region]이 표시됩니다. [Configure]를 클릭하여 설정을 시작합니다.


설정 화면이 나타납니다. 멤버 계정에서도 이 화면을 사용하여 데이터 공유를 활성화합니다. 우선 지금은 모니터링 계정에서 [Edit] 옵션을 클릭하여 교차 계정 교차 리전 옵션을 표시합니다.


모니터링 계정의 마지막 단계로, [AWS Organization account selector] 옵션을 활성화합니다. 이 옵션을 활성화하려면 조직의 계정 목록에 액세스하도록 허용하는 추가 역할을 조직의 마스터 계정에 배포해야 합니다. 콘솔의 안내에 따라 마스터 계정에 대해 이 프로세스를 수행합니다.


이것으로 모니터링 계정 설정이 끝났습니다. 이제 멤버 계정에서 데이터 공유를 활성화하면 됩니다. 그러려면 모니터링 계정에서 로그아웃하고 각 멤버 계정에 로그인하여 CloudWatch 콘솔로 이동합니다. 그런 다음 모니터링 계정과 마찬가지로 [Settings]를 클릭한 후 앞의 그림에서 보았듯이 [Cross-Account Cross-Region]의 [Configure]를 클릭합니다. 이번에는 [Share data]를 클릭하여 데이터를 공유할 모니터링 계정의 ID를 입력하고 공유 범위(CloudWatch 데이터에 대한 읽기 전용 액세스 또는 내 계정에 대한 전체 읽기 전용 액세스)를 설정한 후 사전 정의된 템플릿으로 CloudFormation 스택을 시작하여 프로세스를 완료합니다. 조직의 모든 계정과 데이터를 공유하도록 선택할 수도 있습니다. 자세한 방법은 설명서에서 참조할 수 있습니다.


이것으로 모니터링 계정과 멤버 계정의 구성이 완료되었습니다. 이제 모니터링 계정이 리소스에 대한 CloudWatch 데이터에 액세스하여 데이터를 가져올 수 있습니다. 이제 모니터링 계정에서 대시보드를 하나 이상 생성할 수 있습니다.

교차 계정 교차 리전 대시보드 구성

계정 구성이 완료되었으므로 이제 대시보드를 생성해보겠습니다. 제 멤버 계정에서는 여러 리전에 걸쳐 EC2 인스턴스를 몇 개 실행하고 있습니다. 그중 한 멤버 계정의 경우 미국 서부(오레곤)에서 Windows 인스턴스 하나와 Linux 인스턴스 하나를 실행 중입니다. 두 번째 멤버 계정은 미국 동부(오하이오)의 AWS Auto Scaling 그룹에서 Windows 인스턴스를 3개 실행 중입니다. 두 계정과 두 리전에 걸쳐 이들 인스턴스 모두의 CPU 및 네트워크 사용률을 확인할 수 있는 대시보드를 만들려고 합니다.

시작하기 위해 모니터링 계정으로 AWS 콘솔에 로그인하고 CloudWatch 콘솔 홈으로 이동한 다음 [Dashboards], [Create dashboard]를 차례로 클릭합니다. 페이지 상단에 새로운 계정 ID 및 리전 필드가 표시되는 것을 확인할 수 있습니다. 교차 계정 교차 리전 액세스가 구성되었으므로 대시보드를 만들지 않고도 여러 계정 및/또는 리전에 걸쳐 즉석에서 바로 검사를 수행할 수도 있습니다.


먼저 대시보드 이름을 지정합니다. 여기서는 Compute로 지정하겠습니다. 그런 다음 [Add widget]을 선택하여 CPU 사용률에 대한 첫 번째 지표 세트를 추가합니다. [Line] 위젯을 선택하고 [Configure]를 클릭합니다. 그러면 [Add metric graph] 대화 상자가 나타나고 지표를 대시보드로 가져올 계정과 리전을 선택할 수 있습니다.


계정과 리전을 선택한 후에는 계속해서 인스턴스와 관련한 지표를 선택하고 2개 리전에서 모니터링 계정의 인스턴스를 모두 추가할 수 있습니다. 계정과 리전을 전환하면서 멤버 계정의 인스턴스에 대해 이 단계를 반복합니다. 그런 다음 [Stacked area]라는 다른 위젯을 추가합니다. 이 위젯은 인바운드 네트워크 트래픽에 대한 위젯입니다. 그리고 마찬가지로 각 계정과 리전에서 원하는 인스턴스를 선택합니다. 마지막으로 [Save dashboard]를 클릭합니다. 최종 결과로, 여러 계정 및 리전에 걸쳐 4개 인스턴스와 1개 클러스터의 CPU 사용률과 네트워크 트래픽이 표시된 대시보드가 생성됩니다. 각 위젯 오른쪽 상단의 xa 표시기는 여러 계정 및 리전에서 가져온 데이터가 표시되어 있음을 나타냅니다.


특정 인스턴스를 마우스 포인터로 가리키면 추가 데이터를 보여 주는 플라이아웃과 지표의 계정 및 리전에서 CloudWatch 홈 페이지를 여는 딥 링크가 나타납니다.

Amazon CloudWatch 교차 계정 교차 리전 대시보드는 현재 모든 상용 AWS 리전에서 사용할 수 있으며, Organizations가 제공되는 리전에서는 AWS Organizations과의 통합 기능을 활용할 수 있습니다.

— Steve