중앙 또는 분산 CloudWatch 계정에서 사용 - AWS 규범적 지침

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

중앙 또는 분산 CloudWatch 계정에서 사용

한 계정 및 지역의 AWS 서비스 또는 리소스를 모니터링하도록 설계되었지만 CloudWatch 중앙 계정을 사용하여 여러 계정 및 지역의 로그와 지표를 캡처할 수 있습니다. 두 개 이상의 계정이나 지역을 사용하는 경우 로그와 지표를 캡처하기 위해 중앙 집중식 계정 접근 방식을 사용할지 아니면 개별 계정을 사용할지 평가해야 합니다. 일반적으로 보안, 분석, 운영 및 워크로드 소유자의 요구 사항을 지원하려면 다중 계정 및 다중 지역 배포에 하이브리드 접근 방식이 필요합니다.

다음 표에는 중앙 집중식, 분산 또는 하이브리드 접근 방식을 선택할 때 고려해야 할 영역이 나와 있습니다.

계정 구조 조직에 여러 개의 개별 계정 (예: 비프로덕션 및 프로덕션 워크로드용 계정) 이 있거나 특정 환경의 단일 애플리케이션에 대한 수천 개의 계정이 있을 수 있습니다. 워크로드가 실행되는 계정에서 애플리케이션 로그와 메트릭을 유지 관리하여 워크로드 소유자가 로그와 지표에 액세스할 수 있도록 하는 것이 좋습니다. 이를 통해 사용자는 로깅 및 모니터링에서 적극적인 역할을 할 수 있습니다. 또한 분석, 집계, 추세 및 중앙 집중식 작업을 위해 별도의 로깅 계정을 사용하여 모든 워크로드 로그를 집계하는 것이 좋습니다. 보안, 보관 및 모니터링, 분석에 별도의 로깅 계정을 사용할 수도 있습니다.

액세스 요구 사항 팀원 (예: 워크로드 소유자 또는 개발자) 은 문제를 해결하고 개선하기 위해 로그와 지표에 액세스해야 합니다. 보다 쉽게 액세스하고 문제를 해결하려면 워크로드 계정에 로그를 유지 관리해야 합니다. 로그와 지표가 워크로드와는 별도의 계정에서 유지 관리되는 경우 사용자는 정기적으로 계정을 번갈아 가며 관리해야 할 수 있습니다.

중앙 집중식 계정을 사용하면 워크로드 계정에 대한 액세스 권한을 부여하지 않고도 승인된 사용자에게 로그 정보가 제공됩니다. 이를 통해 여러 계정에서 실행되는 워크로드의 집계가 필요한 분석 워크로드에 대한 액세스 요구 사항을 단순화할 수 있습니다. 중앙 집중식 로깅 계정에는 Amazon OpenSearch Service 클러스터와 같은 대체 검색 및 집계 옵션도 있을 수 있습니다. Amazon OpenSearch Service는 로그의 필드 수준까지 세분화된 액세스 제어를 제공합니다. 특수한 액세스 및 권한이 필요한 민감한 데이터 또는 기밀 데이터가 있는 경우 세밀한 액세스 제어가 중요합니다.

운영 많은 조직에는 모니터링을 위해 로그에 액세스해야 하는 중앙 집중식 운영 및 보안 팀 또는 운영 지원을 위한 외부 조직이 있습니다. 중앙 집중식 로깅 및 모니터링을 통해 모든 계정과 워크로드에서 추세를 파악하고, 검색하고, 집계하고, 분석을 수행하기가 더 쉬워집니다. 조직에서 “직접 구축하고 실행하면 된다”는 접근 방식을 사용하는 경우 워크로드 소유자는 계정에 로깅 및 모니터링 정보를 입력해야 합니다. DevOps 분산된 워크로드 소유권 외에도 중앙 운영 및 분석을 충족하려면 하이브리드 접근 방식이 필요할 수 있습니다.

환경

보안 요구 사항 및 계정 아키텍처에 따라 프로덕션 계정의 경우 로그 및 메트릭을 중앙 위치에 호스팅하고 다른 환경 (예: 개발 또는 테스트) 에 대한 로그 및 메트릭을 동일하거나 별도의 계정에 보관할 수 있습니다. 이렇게 하면 프로덕션 중에 생성된 민감한 데이터를 더 많은 사용자가 액세스하는 것을 방지할 수 있습니다.

CloudWatch CloudWatch 구독 필터를 사용하여 실시간으로 로그를 처리할 수 있는 다양한 옵션을 제공합니다. 구독 필터를 사용하여 로그를 AWS 서비스에 실시간으로 스트리밍하여 사용자 지정 처리, 분석을 수행하고 다른 시스템에 로드할 수 있습니다. 이는 중앙 집중식 계정 및 지역 외에도 개별 계정 및 지역에서 로그와 지표를 사용할 수 있는 하이브리드 접근 방식을 취하는 경우 특히 유용할 수 있습니다. 다음 목록은 이에 사용할 수 있는 AWS 서비스의 예를 제공합니다.

  • Amazon Data Firehose — Firehose는 생성되는 데이터 볼륨에 따라 자동으로 크기 조정 및 크기가 조정되는 스트리밍 솔루션을 제공합니다. Amazon Kinesis 데이터 스트림의 샤드 수를 관리할 필요가 없으며 추가 코딩 없이 아마존 심플 스토리지 서비스 (Amazon S3), 아마존 서비스 또는 아마존 OpenSearch Redshift에 직접 연결할 수 있습니다. Firehose는 이러한 서비스의 로그를 중앙 집중화하려는 경우 효과적인 솔루션입니다. AWS

  • Amazon Kinesis 데이터 스트림 — Kinesis Data Streams는 Firehose가 지원하지 않는 서비스와 통합하고 추가 처리 로직을 구현해야 하는 경우에 적합한 솔루션입니다. 중앙 계정의 Kinesis 데이터 스트림을 지정하고 스트림에 레코드를 배치할 권한을 부여하는 AWS Identity and Access Management (IAM) 역할을 지정하는 Amazon CloudWatch Logs 대상을 계정 및 지역에서 생성할 수 있습니다. Kinesis Data Streams는 로그 데이터를 위한 유연한 개방형 랜딩 존을 제공하며, 이를 다양한 옵션에서 사용할 수 있습니다. Kinesis Data Streams 로그 데이터를 계정으로 읽고 사전 처리를 수행한 다음 선택한 대상으로 데이터를 보낼 수 있습니다.

    하지만 생성되는 로그 데이터에 적합한 크기가 되도록 스트림의 샤드를 구성해야 합니다. Kinesis Data Streams는 로그 데이터에 대한 임시 중개자 또는 대기열 역할을 하며, 1일에서 365일 동안 Kinesis 스트림 내에 데이터를 저장할 수 있습니다. Kinesis Data Streams는 재생 기능도 지원하므로 사용되지 않은 데이터를 재생할 수 있습니다.

  • Amazon OpenSearch Service — CloudWatch 로그는 로그 그룹의 로그를 개별 또는 중앙 집중식 계정의 OpenSearch 클러스터로 스트리밍할 수 있습니다. 데이터를 OpenSearch 클러스터로 스트리밍하도록 로그 그룹을 구성하면 Lambda 함수가 로그 그룹과 동일한 계정 및 지역에 생성됩니다. Lambda 함수는 클러스터와 네트워크로 연결되어 있어야 합니다. OpenSearch Amazon Service로의 수집을 사용자 지정하는 것 외에도 추가 사전 처리를 수행하도록 Lambda 함수를 사용자 지정할 수 있습니다. OpenSearch Amazon OpenSearch Service의 중앙 집중식 로깅을 사용하면 클라우드 아키텍처의 여러 구성 요소에 대한 문제를 더 쉽게 분석, 검색하고 문제를 해결할 수 있습니다.

  • Lambda — Kinesis Data Streams를 사용하는 경우 스트림의 데이터를 소비하는 컴퓨팅 리소스를 프로비저닝하고 관리해야 합니다. 이를 방지하기 위해 로그 데이터를 Lambda로 직접 스트리밍하여 처리하고 로직에 따라 목적지로 전송할 수 있습니다. 즉, 들어오는 데이터를 처리하기 위해 컴퓨팅 리소스를 프로비저닝하고 관리할 필요가 없습니다. Lambda를 사용하기로 선택한 경우 솔루션이 Lambda 할당량과 호환되는지 확인하십시오.

로그에 저장된 로그 데이터를 파일 형식으로 처리하거나 공유해야 할 수 있습니다. CloudWatch 내보내기 작업을 생성하여 특정 날짜 또는 시간 범위의 로그 그룹을 Amazon S3로 내보낼 수 있습니다. 예를 들어 분석 및 감사를 위해 Amazon S3로 매일 로그를 내보내도록 선택할 수 있습니다. Lambda를 사용하여 이 솔루션을 자동화할 수 있습니다. 또한 이 솔루션을 Amazon S3 복제와 결합하여 여러 계정 및 지역의 로그를 하나의 중앙 집중식 계정 및 지역으로 전송하고 중앙 집중화할 수 있습니다.

CloudWatch 에이전트 구성에서 agent섹션의 credentials 필드를 지정할 수도 있습니다. 이는 지표와 로그를 다른 계정으로 전송할 때 사용할 IAM 역할을 지정합니다. 지정된 경우 이 필드에는 role_arn 파라미터가 포함됩니다. 이 필드는 특정 중앙 집중식 계정 및 지역의 중앙 집중식 로깅 및 모니터링이 필요한 경우에만 사용할 수 있습니다.

또한 AWS SDK를 사용하여 원하는 언어로 사용자 지정 처리 애플리케이션을 작성하고, 계정에서 로그와 지표를 읽고, 추가 처리 및 모니터링을 위해 중앙 집중식 계정이나 기타 대상으로 데이터를 보낼 수 있습니다.