CloudWatch
AWS 관리형 서비스CloudWatch는 클라우드 환경에서의 리소스 모니터링과 로깅을 위한 서비스이다. 이 서비스를 통해 사용자는 AWS 리소스의 성능 지표와 로그 데이터를 수집하고, 모니터링 대시보드를 생성하여 시각적으로 확인할 수 있다.
AWS CloudWatch는 다양한 AWS 리소스(EC2 인스턴스, RDS 데이터베이스, S3 버킷 등)의 상태에 대한 다양한 메트릭 데이터를 제공한다. 이러한 메트릭 데이터를 사용하여 리소스의 성능, 가용성, 확장성 등을 평가하고 애플리케이션의 운영과 조정에 필요한 정보를 얻을 수 있다. 또한, CloudWatch는 SNS(Simple Notification Service)와 통합되어 알림을 제공한다. 사용자는 특정 이벤트 또는 조건에 따라 알림을 구성하여 실시간으로 경고를 받을 수 있다.
그 외에도 CloudWatch는 로그 데이터를 수집하고 저장하는 기능을 제공한다. 로그 그룹을 생성하여 애플리케이션의 로그를 중앙 집중화하고, CloudWatch Logs에서 이러한 로그 데이터를 분석하고 검색할 수 있다. 이를 통해 CloudWatch 는 사용자에게 리소스 모니터링, 경고 및 알림, 로그 분석 등의 중요한 기능을 제공하여 클라우드 환경의 운영 및 성능 관리를 지원한다.
CloudTrail
AWS CloudTrail은 AWS 계정에 대한 이벤트 추적과 감사를 위한 관리형 서비스이다. CloudTrail을 사용하면 AWS 리소스에 대한 API 호출 및 관리 작업에 대한 로그를 자동으로 수집하고 저장할 수 있다. 이러한 로그는 보안, 규정 준수, 운영 감사 등 다양한 목적으로 사용될 수 있다.
CloudTrail은 AWS 계정의 이벤트 기록을 제공하며, 로그 데이터는 AWS S3 버킷에 저장된다. 이렇게 수집된 로그 데이터는 향후 검색, 분석 및 감사를 위해 사용될 수 있다. CloudTrail 은 모든 AWS 리전에서 사용할 수 있으며, 단일 리전 추적 또는 모든 리전 추적 옵션을 선택할 수 있다.
CloudTrail은 AWS 계정에서 수행되는 작업과 관련된 다양한 정보를 포함한 로그를 기록한다. 예를 들어, 리소스를 생성, 수정 또는 삭제하는 API 호출, 보안 그룹 설정 변경, 인스턴스 시작 또는 중지와 같은 이벤트를 기록한다. 이러한 로그 데이터는 누가, 언제, 어떤 작업을 수행했는지에 대한 상세한 정보를 제공한다.
CloudTrail은 데이터 보안을 강화하기 위해 로그 데이터를 암호화하여 저장할 수 있다. 또한, AWS CloudWatch Logs와 통합되어 로그 데이터를 분석하고 실시간 모니터링할 수 있다. 또한, AWS Athena 와 같은 분석 도구를 사용하여 로그 데이터를 쿼리하고 검색할 수도 있다.
CloudTrail은 보안 감사, 규정 준수, 잠재적인 보안 위협에 대한 감지 및 대응, 운영 감사 등 다양한 시나리오에서 사용된다. 이를 통해 사용자는 AWS 계정의 활동 기록을 추적하고 분석하여 보안 상태를 감시하고, 규정 준수 요구 사항을 충족시키며, 리소스의 운영과 관리를 개선할 수 있다.
Fluent Bit
Fluent Bit는 경량의 오픈 소스 데이터 수집 및 전송 솔루션이다. 주로 로그 데이터와 이벤트 데이터를 수집하고, 변환하며, 전송하는 역할을 수행한다. Fluent Bit은 다양한 소스에서 데이터를 수집하고, 여러 형식의 데이터를 처리하며, 다양한 대상으로 데이터를 전송할 수 있는 아키텍처를 제공한다.
Fluent Bit는 이벤트 기반 아키텍처로 구축되어 있으며, 매우 가벼우면서도 고성능이며 효율적인 데이터 수집을 위해 설계되어있다. 다양한 입력 플러그인과 필터 플러그인을 통해 다양한 소스에서 데이터를 수집하고 처리할 수 있다. 또한 출력 플러그인을 통해 다양한 대상으로 데이터를 전송할 수 있다.
Fluent Bit은 대규모의 분산 환경에서 사용하기 적합한 도구이다. 컨테이너 환경에서의 로그 수집과 분석, 서버리스 환경에서의 이벤트 추적 등 다양한 사용 사례에 유용하게 활용된다. 또한 다양한 클라우드 서비스와 통합되어 AWS, Azure, Google Cloud Platform 등과 함께 사용할 수 있다. Fluent Bit은 확장 가능하고 유연한 아키텍처를 제공하며, 커스터마이징이 가능하다는 특징을 가지고 있다. 이를 통해 데이터 수집 및 전송을 효율적으로 관리하고, 다양한 데이터 파이프라인 구축에 활용할 수 있다.
Fluent Bit 와 CloudWatch 연동하기
Fluent Bit을 사용하여 CloudWatch Logs 로 로그를 전송하는 방법이다.
1. AWS Management Console에 로그인하고 CloudWatch 서비스로 이동한다.
2. CloudWatch 대시보드에서 "Logs"를 선택한다.
3. "Create log group"을 클릭하여 로그 그룹을 생성한다.
- 로그 그룹은 로그 데이터를 저장하는 컨테이너 역할을 한다.
4. 적절한 이름을 지정하고 "Create log group" 버튼을 클릭한다.
5. 로그 그룹이 생성되면 해당 로그 그룹을 선택하고 "Create log stream"을 클릭하여 로그 스트림을 생성한다.
- 로그 스트림은 특정 로그 소스의 로그 데이터를 저장하는 역할을 한다.
6. 로그 스트림의 이름을 지정하고 "Create" 버튼을 클릭한다.
7. Fluent Bit 설정 파일에서 CloudWatch Logs 출력 플러그인을 구성한다.
- 다음과 같이 설정파일을 구성할 수 있다.
```ini
[OUTPUT]
Name cloudwatch_logs
Match *
region <AWS Region>
log_group_name <Log Group Name>
log_stream_prefix <Log Stream Prefix>
```
AWS Region: 로그 그룹을 생성한 AWS 리전 지정
Log Group Name: 생성한 로그 그룹의 이름 입력
Log Stream Prefix: 로그 스트림의 이름 접두사 지정
8. Fluent Bit을 시작하고 설정 파일을 로드한다.
- Fluent Bit이 실행되면 로그 데이터는 CloudWatch Logs로 전송된다.
9. AWS Management Console의 CloudWatch Logs로 돌아가서 로그 그룹 및 로그 스트림에서 로그 데이터를 확인할 수 있다.
- 필요에 따라 CloudWatch Logs에서 로그 검색, 필터링, 모니터링 및 경고 설정을 수행할 수 있다.
이러한 과정을 통해 Fluent Bit을 사용하여 로그 데이터를 수집하고 CloudWatch Logs 로 로그를 전송할 수 있다.
CloudWatch Logs를 통해 로그 데이터를 중앙 집중식으로 관리하고 모니터링하며, 필요한 경우 대시보드, 경고 및 분석을 설정할 수 있다.
'Computer Science > 클라우드' 카테고리의 다른 글
AWS 클라우드: AWS 규정 준수 프로그램 (0) | 2023.06.04 |
---|---|
AWS 클라우드: 공동 책임 모델(Shared Responsibility Model) (0) | 2023.06.04 |
AWS 클라우드: 보안 서비스 (WFA, Shield, KMS) (0) | 2023.05.31 |
AWS 클라우드: 데이터베이스 서비스 (RDS, DynamoDB, Elasticache) (0) | 2023.05.31 |
AWS 클라우드: 네트워크 서비스 (VPC, CloudFront, Route 53) (0) | 2023.05.31 |