기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon CloudWatch Observability Access Manager를 사용하여 중앙 집중식 모니터링
작성자: Anand Krishna Varanasi(AWS), Jimmy Morgan(AWS), Ashish Kumar(AWS), Balaji Vedagiri(AWS), JAGDISH KOMAKULA (AWS), Sarat Chandra Pothula(AWS) 및 Vivek Thangamuthu(AWS)
환경: 프로덕션 | 기술: 인프라, 관리 및 거버넌스, 다중 계정 전략 | |
AWS 서비스: Amazon CloudWatch, Amazon CloudWatch Logs |
요약
관찰성은 애플리케이션을 모니터링하고, 이해하고, 문제를 해결하는 데 매우 중요합니다. AWS Control Tower 또는 랜딩 영역 구현과 같이 여러 계정에 걸쳐 있는 애플리케이션은 많은 수의 로그와 추적 데이터를 생성합니다. 문제를 빠르게 해결하거나 사용자 분석 또는 비즈니스 분석을 이해하려면 모든 계정에서 공통의 관찰성 플랫폼이 필요합니다. Amazon CloudWatch Observability Access Manager를 사용하면 중앙 위치에서 여러 계정 로그에 액세스하고 제어할 수 있습니다.
Observability Access Manager를 사용하여 소스 계정에서 생성된 관찰성 데이터 로그를 보고 관리할 수 있습니다. 소스 계정은 리소스에 대한 관찰 가능성 데이터를 AWS 계정 생성하는 개인입니다. 관찰성 데이터는 소스 계정과 모니터링 계정 간에 공유됩니다. 공유 관측성 데이터에는 Amazon 의 지표 CloudWatch, Amazon CloudWatch Logs의 로그 및 의 추적이 포함될 수 있습니다 AWS X-Ray. 자세한 내용은 Observability Access Manager 설명서를 참조하세요.
이 패턴은 여러 에서 실행되는 애플리케이션 또는 인프라가 AWS 계정 있고 로그를 보는 데 공통된 위치가 필요한 사용자를 위한 것입니다. Terraform을 사용하고 Observability Access Manager를 설정하여 이러한 애플리케이션 또는 인프라의 상태를 모니터링하는 방법을 설명합니다. 이 솔루션은 여러 가지 방법으로 설치할 수 있습니다.
수동으로 설정한 독립형 Terraform 모듈
지속적 통합 및 지속적 제공(CI/CD) 파이프라인을 사용하여
AWS Control Tower Account Factory for Terraform(AFT)과 같은 다른 솔루션과 통합
에픽 섹션의 지침은 수동 구현을 다룹니다. AFT 설치 단계는 GitHub Observability Access Manager
사전 조건 및 제한 사항
사전 조건
Terraform
이 시스템 또는 자동화된 파이프라인에 설치되거나 참조됩니다. (최신 버전 을 사용하는 것이 좋습니다.) 중앙 모니터링 계정으로 사용할 수 있는 계정. 다른 계정은 로그를 보기 위해 중앙 모니터링 계정에 대한 링크를 생성합니다.
(선택 사항) GitHub, AWS CodeCommit Atlassian Bitbucket 또는 유사한 시스템과 같은 소스 코드 리포지토리입니다. 자동 CI/CD 파이프라인을 사용하는 경우 소스 코드 리포지토리가 필요하지 않습니다.
(선택 사항) 에서 코드 검토 및 코드 공동 작업을 위한 풀 요청(PRs)을 생성하는 권한입니다 GitHub.
제한 사항
Observability Access Manager에는 다음과 같은 서비스 할당량이 있으며 이는 변경할 수 없습니다. 이 기능을 배포하기 전에 이러한 할당량을 고려하세요. 자세한 내용은 CloudWatch 설명서의 CloudWatch 서비스 할당량을 참조하세요.
소스 계정 링크: 각 소스 계정을 최대 다섯 모니터링 계정에 연결할 수 있습니다.
싱크 : 계정에 대해 여러 싱크를 만들 수 있지만 마다 하나의 싱크만 AWS 리전 허용됩니다.
또한 다음과 같습니다.
싱크와 링크는 동일한 에서 생성되어야 합니다. AWS 리전교차 리전일 수 없습니다.
리전 간 및 계정 간 모니터링
리전 간 교차 계정 모니터링의 경우 다음 옵션 중 하나를 선택할 수 있습니다.
경보 및 지표에 대한 교차 계정 및 교차 리전 CloudWatch 대시보드를 생성합니다. 이 옵션은 로그 및 추적을 지원하지 않습니다.
Amazon OpenSearch Service를 사용하여 중앙 집중식 로깅을 구현합니다.
모든 테넌트 계정에서 리전당 하나의 싱크를 생성하고 지표를 중앙 모니터링 계정(이 패턴에 설명된 대로)으로 푸시한 다음 CloudWatch 지표 스트림을 사용하여 데이터를 일반적인 외부 대상 또는 Datadog, Dynatrace, Sumo Logic, Splunk 또는 New Relic과 같은 타사 모니터링 제품으로 전송합니다.
아키텍처
구성 요소
CloudWatch Observability Access Manager는 계정 간 관찰 가능성을 지원하는 두 가지 주요 구성 요소로 구성됩니다.
싱크는 소스 계정이 중앙 모니터링 계정으로 관찰성 데이터를 전송할 수 있는 기능을 제공합니다. 싱크는 기본적으로 소스 계정을 연결할 수 있는 게이트웨이 정션을 제공합니다. 싱크 게이트웨이 또는 연결은 하나만 있을 수 있으며 여러 계정을 연결할 수 있습니다.
각 소스 계정에는 싱크 게이트웨이 정션으로 연결되는 링크가 있으며 이 링크를 통해 관찰성 데이터가 전송됩니다. 각 소스 계정에서 링크를 만들기 전에 싱크를 만들어야 합니다.
아키텍처
다음 다이어그램은 Observability Access Manager와 그 구성 요소를 보여줍니다.
도구
AWS 서비스
Amazon CloudWatch은 AWS 리소스 및 실행 중인 애플리케이션의 지표를 AWS 실시간으로 모니터링할 수 있도록 도와줍니다.
AWS Organizations 는 여러 를 생성 및 중앙에서 관리하는 조직에 통합하는 AWS 계정 데 도움이 되는 계정 관리 서비스입니다.
AWS Identity and Access Management (IAM)는 AWS 리소스에 대한 액세스를 인증하고 사용할 수 있는 권한을 부여받은 사용자를 제어하여 리소스에 대한 액세스를 안전하게 관리하는 데 도움이 됩니다.
도구
Terraform
은 의 코드형 인프라(IaC) 도구 HashiCorp 로, 클라우드 및 온프레미스 리소스를 생성하고 관리하는 데 도움이 됩니다. AWS Control Tower Account Factory for Terraform(AFT)은 에서 계정을 프로비저닝하고 사용자 지정하는 데 도움이 되는 Terraform 파이프라인을 설정합니다 AWS Control Tower. 선택적으로 AFT를 사용하여 여러 계정에서 대규모로 Observability Access Manager를 설정할 수 있습니다.
코드 리포지토리
이 패턴의 코드는 GitHub Observability Access Manager
모범 사례
AWS Control Tower 환경에서 로깅 계정을 중앙 모니터링 계정(싱크)으로 표시합니다.
에 여러 계정이 있는 조직이 여러 개 있는 경우 구성 정책에 개별 계정 대신 조직을 포함하는 것이 AWS Organizations좋습니다. 계정 수가 적거나 계정이 싱크 구성 정책에 조직의 일부가 아닌 경우 개별 계정을 대신 포함할 수 있습니다.
에픽
작업 | 설명 | 필요한 기술 |
---|---|---|
리포지토리를 복제합니다. | GitHub Observability Access Manager 리포지토리 복제:
| AWS DevOps, 클라우드 관리자, AWS 관리자 |
싱크 모듈의 속성 값을 지정합니다. |
자세한 내용은 AWS CloudFormation 설명서의 AWS::Oam::Sink를 참조하세요. | AWS DevOps, 클라우드 관리자, AWS 관리자 |
싱크 모듈을 설치합니다. | 모니터링 계정으로 AWS 계정 선택한 의 보안 인증 정보를 내보내고 Observability Access Manager 싱크 모듈을 설치합니다.
| AWS DevOps, 클라우드 관리자, AWS 관리자 |
작업 | 설명 | 필요한 기술 |
---|---|---|
링크 모듈의 속성 값을 지정합니다. |
자세한 내용은 AWS CloudFormation 설명서의 AWS::Oam::Link를 참조하세요. | AWS DevOps, 클라우드 관리자, 클라우드 아키텍트 |
개별 계정용 링크 모듈을 설치합니다. | 개별 계정의 보안 인증 정보를 내보내고 Observability Access Manager 링크 모듈을 설치합니다.
각 계정에 대해 링크 모듈을 개별적으로 설정하거나 AFT를 사용하여 많은 수의 계정에 이 모듈을 자동으로 설치할 수 있습니다. | AWS DevOps, 클라우드 관리자, 클라우드 아키텍트 |
작업 | 설명 | 필요한 기술 |
---|---|---|
상태 메시지를 확인합니다. |
오른쪽에 녹색 체크 표시가 있는 모니터링 계정 활성화 상태 메시지가 보일 것입니다. 즉, 모니터링 계정에는 다른 계정의 링크가 연결되는 Observability Access Manager 싱크가 있습니다. | |
연결을 승인합니다 link-to-sink. |
자세한 내용은 CloudWatch 설명서의 모니터링 계정과 소스 계정 연결을 참조하세요. | AWS DevOps, 클라우드 관리자, 클라우드 아키텍트 |
작업 | 설명 | 필요한 기술 |
---|---|---|
교차 계정 데이터를 확인합니다. |
| AWS DevOps, 클라우드 관리자, 클라우드 아키텍트 |
작업 | 설명 | 필요한 기술 |
---|---|---|
다른 계정의 지표, 대시보드, 로그, 위젯, 경보를 확인합니다. | 추가 기능으로 CloudWatch 지표, 대시보드, 로그, 위젯 및 경보를 다른 계정과 공유할 수 있습니다. 각 계정은 CloudWatch-CrossAccountSharingRole 라는 IAM 역할을 사용하여 이 데이터에 액세스합니다. 중앙 모니터링 계정과 신뢰 관계가 있는 소스 계정은 이 역할을 맡아 모니터링 계정의 데이터를 볼 수 있습니다. CloudWatch 는 역할을 생성하기 위한 샘플 CloudFormation 스크립트를 제공합니다. 데이터를 보려는 계정에서 이 스크립트IAM를 실행하려면 d에서 역할 관리를 선택합니다.
자세한 내용은 CloudWatch 설명서의 에서 교차 계정 기능 활성화 CloudWatch를 참조하세요. | AWS DevOps, 클라우드 관리자, 클라우드 아키텍트 |
작업 | 설명 | 필요한 기술 |
---|---|---|
교차 계정 교차 리전 액세스를 설정합니다. | 중앙 모니터링 계정에서 필요에 따라 계정 선택기를 추가하여 인증 없이 계정 간에 쉽게 전환하고 데이터를 볼 수 있습니다.
자세한 내용은 CloudWatch 설명서의 교차 계정 교차 리전 CloudWatch 콘솔을 참조하세요. | AWS DevOps, 클라우드 관리자, 클라우드 아키텍트 |
관련 리소스
CloudWatch 교차 계정 관찰 가능성(Amazon CloudWatch 설명서)
Amazon CloudWatch Observability Access Manager API 참조(Amazon CloudWatch 설명서)
리소스: aws_oam_sink
(Terraform 설명서) 데이터 소스: aws_oam_link
(Terraform 설명서) CloudWatchObservabilityAccessManager
(AWS Boto3 설명서)