

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

# 시작 시 Amazon RDS 데이터베이스의 자동 태그 지정 적용
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch"></a>

*Susanne Kangnoh, Archit Mathur, Amazon Web Services*

## 요약
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch-summary"></a>

Amazon Relational Database Service(RDS)는 Amazon Web Services(AWS) 클라우드에서 관계형 데이터베이스를 더 쉽게 설치, 운영 및 확장할 수 있는 웹 서비스입니다. 업계 표준 관계형 데이터베이스를 위한 비용 효율적이고 크기 조정이 가능한 용량을 제공하며 일반적인 데이터베이스 관리 작업을 관리합니다.

태그를 사용하여 다양한 방식으로 AWS 리소스를 분류할 수 있습니다. 계정에 리소스가 많을 때 태그에 따라 특정 리소스를 빠르게 식별하려는 경우 관계형 데이터베이스 태깅이 유용합니다. Amazon RDS 태그를 사용하여 RDS DB 인스턴스에 사용자 정의 메타데이터를 추가할 수 있습니다. 태그는 사용자 정의 키와 값으로 구성됩니다. 조직 요구 사항에 맞는 일관된 태그 집합을 생성하는 것이 좋습니다.

이 패턴은 RDS DB 인스턴스를 모니터링하고 태그를 지정하는 데 도움이 되는 AWS CloudFormation 템플릿을 제공합니다. 템플릿은 AWS CloudTrail에서 **CreateDBInstance ** 이벤트를 감시하는 Amazon CloudWatch Events 이벤트를 생성합니다. (CloudTrail은 Amazon RDS에 대한 API 직접 호출을 이벤트로 캡처합니다.) 이 이벤트가 감지되면 사용자가 정의한 태그 키와 값을 자동으로 적용하는 AWS Lambda 함수를 호출합니다. 템플릿은 Amazon Simple Notification Service(SNS)를 사용하여 인스턴스에 태그가 지정되었다는 알림도 보냅니다.

## 사전 조건 및 제한 사항
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch-prerequisites-and-limitations"></a>

**사전 조건 **
+ 활성 상태의 AWS 계정.
+ Lambda 코드를 업로드하기 위한 Amazon Simple Storage Service(S3) 버킷입니다.
+ 태깅 알림을 받으려는 이메일 주소입니다.

**제한 사항 **
+ 이 솔루션은 CloudTrail **CreateDBInstance** 이벤트를 지원합니다. 다른 이벤트에 대한 알림은 생성되지 않습니다.

## 아키텍처
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch-architecture"></a>

**워크플로 아키텍처**

![\[Workflow diagram showing AWS 서비스 interaction for RDS instance creation and notification.\]](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/5541bc1e-e00f-4b5a-94b7-bb1808b5591a/images/ec0bcf92-f986-4af3-bfe7-d2c5e04051c5.png)


 

**자동화 및 규모 조정**
+ 여러 AWS 리전 및 계정에 대해 AWS CloudFormation 템플릿을 여러 번 사용할 수 있습니다. 템플릿은 각 리전 또는 계정에서 한 번만 실행하면 됩니다.

## 도구
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch-tools"></a>

**서비스**
+ [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) – AWS CloudTrail은 AWS 계정의 거버넌스, 규정 준수와 운영 및 위험 감사를 지원하는 AWS 서비스입니다. 사용자, 역할 또는 AWS 서비스가 수행하는 작업들은 CloudTrail에 이벤트로 기록됩니다. 
+ [Amazon CloudWatch Events](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html) - Amazon CloudWatch Events는 AWS 리소스의 변경 사항을 설명하는 시스템 이벤트의 스트림을 거의 실시간으로 제공합니다. 또한 CloudWatch Events는 이러한 운영 변경 발생 시 이를 인지하고, 환경에 응답하기 위한 메시지를 전송하고, 함수를 활성화하고, 변경을 수행하고, 상태 정보를 기록하는 등 필요에 따라 교정 조치를 취합니다. 
+ [AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) - AWS Lambda는 서버를 프로비저닝하거나 관리할 필요 없이 코드 실행을 지원하는 컴퓨팅 서비스입니다. Lambda는 필요 시에만 코드를 실행하며, 일일 몇 개의 요청에서 초당 수천 개의 요청까지 자동으로 규모를 조정합니다. 사용한 컴퓨팅 시간만큼만 비용을 지불하고, 코드가 실행되지 않을 때는 요금이 부과되지 않습니다.
+ [Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html)-Amazon Simple Storage Service(S3)는 웹 사이트, 모바일 애플리케이션, 백업, 데이터 레이크 등 다양한 스토리지 솔루션에 사용할 수 있는 확장성이 뛰어난 객체 스토리지 서비스입니다.
+ [Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/welcome.html) – Amazon Simple Notification Service(SNS)는 애플리케이션, 최종 사용자 및 디바이스가 클라우드에서 즉시 알림을 전송하고 수신할 수 있게 해 주는 웹 서비스입니다. 

**코드 **

이 패턴에는 두 개의 파일이 포함된 첨부 파일이 포함됩니다.
+ `index.zip`은(는) 이 패턴의 Lambda 코드가 포함된 압축 파일입니다.
+ `rds.yaml`은(는) Lambda 코드를 배포하는 CloudFormation 템플릿입니다.

이러한 파일을 사용하는 방법에 대한 자세한 내용은 *에픽 *섹션을 참조하세요.

## 에픽
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch-epics"></a>

### Lambda 코드 배포
<a name="deploy-the-lambda-code"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 코드를 S3 버킷에 업로드합니다. | 새 S3 버킷을 생성하거나 기존 S3 버킷을 사용하여 첨부 `index.zip` 파일(Lambda 코드)을 업로드합니다. 이 버킷은 모니터링하려는 리소스(RDS DB 인스턴스)와 동일한 AWS 리전에 있어야 합니다. | 클라우드 아키텍트 | 
| CloudFormation 템플릿을 배포합니다. | S3 버킷과 동일한 AWS 리전에서 Cloudformation 콘솔을 열고 첨부 파일에 제공된 `rds.yaml` 파일을 배포합니다. 다음 에픽에서 템플릿 파라미터에 대한 값을 입력합니다. | 클라우드 아키텍트 | 

### CloudFormation 템플릿에서 파라미터 작성
<a name="complete-the-parameters-in-the-cloudformation-template"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| S3 버킷 이름을 제공합니다. | 첫 번째 에픽에서 생성하거나 선택한 S3 버킷의 이름을 입력합니다. 이 S3 버킷에는 Lambda 코드용 .zip 파일이 들어 있으며 모니터링하려는 CloudFormation 템플릿 및 RDS DB 인스턴스와 동일한 AWS 리전에 있어야 합니다. | 클라우드 아키텍트 | 
| S3 키를 입력합니다. | S3 버킷에 있는 Lambda 코드 .zip 파일의 위치를 앞에 슬래시 없이 입력합니다(예: `index.zip` 또는 `controls/index.zip`). | 클라우드 아키텍트 | 
| 이메일 주소를 입력합니다. | 위반 알림을 받을 사용 중인 이메일 주소를 입력합니다. | 클라우드 아키텍트 | 
| 로깅 수준을 지정합니다. | 로깅 수준 및 상세 정보를 지정합니다. `Info`는 애플리케이션 진행 상황에 대한 자세한 정보 메시지를 지정하며 디버깅용으로만 사용해야 합니다. `Error`는 애플리케이션을 계속 실행할 수 있는 오류 이벤트를 지정합니다. `Warning`은 잠재적으로 유해한 상황을 지정합니다. | 클라우드 아키텍트 | 
| RDS DB 인스턴스의 태그 키와 값을 입력합니다. | RDS 인스턴스에 자동으로 적용할 필수 태그 키 및 값을 입력합니다. 자세한 내용은 AWS 설명서의 [Amazon RDS 리소스에 태그 지정](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html)을 참조하세요. | 클라우드 아키텍트 | 

### 구독 확인
<a name="confirm-the-subscription"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 이메일 구독을 확인합니다. | CloudFormation 템플릿이 성공적으로 배포되면 입력한 이메일 주소로 구독 이메일 메시지가 전송됩니다. 인스턴스에 태그가 지정되었을 때 알림을 받으려면 이 이메일 구독을 확인해야 합니다. | 클라우드 아키텍트 | 

## 관련 리소스
<a name="enforce-automatic-tagging-of-amazon-rds-databases-at-launch-related-resources"></a>
+ [버킷 생성](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/create-bucket.html)(Amazon S3 설명서)
+ [Amazon RDS 리소스에 태그 지정](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_Tagging.html)(Amazon Aurora 설명서)
+ [객체 업로드](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/upload-objects.html)(Amazon S3 설명서)
+ [AWS CloudTrail을 사용하여 AWS API 직접 호출에서 트리거되는 CloudWatch Events 규칙 생성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/Create-CloudWatch-Events-CloudTrail-Rule.html)(Amazon CloudWatch 문서)

## 첨부
<a name="attachments-5541bc1e-e00f-4b5a-94b7-bb1808b5591a"></a>

이 문서와 관련된 추가 콘텐츠에 액세스하려면 [attachment.zip](samples/p-attach/5541bc1e-e00f-4b5a-94b7-bb1808b5591a/attachments/attachment.zip) 파일의 압축을 풉니다.