

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

# Firelens 로그 라우터를 사용하여 Amazon ECS용 사용자 지정 로그 구문 분석기를 생성
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router"></a>

*Varun Sharma, Amazon Web Services*

## 요약
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router-summary"></a>

Firelens는 Amazon Elastic Container Service(Amazon ECS)와 AWS Fargate를 위한 로그 라우터입니다. Firelens를 사용하여 Amazon ECS에서 Amazon CloudWatch 및 기타 대상(예: [Splunk](https://www.splunk.com/) 또는 [Sumo Logic](https://www.sumologic.com/))으로 컨테이너 로그를 라우팅할 수 있습니다. Firelens는 [Fluentd](https://www.fluentd.org/) 또는 [Fluent Bit](https://fluentbit.io/)를 로깅 에이전트로 사용하여 작동합니다. 즉, [Amazon ECS 작업 정의 파라미터](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html)를 사용하여 로그를 라우팅할 수 있습니다.

소스 수준에서 로그를 구문 분석하기로 선택하면 로깅 데이터를 분석하고 쿼리를 수행하여 운영 문제에 더 효율적이면서 효과적으로 대응할 수 있습니다. 애플리케이션마다 로깅 패턴이 다르기 때문에 로그를 구조화하고 최종 대상에서 더 쉽게 검색할 수 있는 사용자 지정 구문 분석기를 사용해야 합니다.

이 패턴은 사용자 지정 구문 분석기가 있는 Firelens 로그 라우터를 사용하여 Amazon ECS에서 실행되는 샘플 Spring Boot 애플리케이션에서 CloudWatch로 로그를 푸시합니다. 그런 다음 Amazon CloudWatch Logs Insights를 사용하여 사용자 지정 구문 분석기에서 생성한 사용자 지정 필드를 기반으로 로그를 필터링할 수 있습니다.

## 사전 조건 및 제한 사항
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router-prereqs"></a>

**사전 조건 **
+ 활성 Amazon Web Services(AWS) 계정.
+ 로컬 시스템에 설치 및 구성된 Command Line Interface(CLI).
+ 로컬 시스템에 설치 및 구성된 Docker.
+ Amazon Elastic Container Registry(Amazon ECR)의 기존 Spring Boot 기반 컨테이너식 애플리케이션. 

## 아키텍처
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router-architecture"></a>

![Firelens 로그 라우터를 사용하여 Amazon ECS에서 실행되는 애플리케이션에서 CloudWatch로 로그를 푸시.](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/e82b4992-c4e0-4af5-b87e-cb0b1c1ed8c9/images/ef60e087-965a-40e9-9f80-35edbda2befe.png)


**기술 스택**
+ CloudWatch
+ Amazon ECR
+ Amazon ECS
+ Fargate
+ Docker
+ Fluent Bit

## 도구
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router-tools"></a>
+ [Amazon ECR](https://docs.aws.amazon.com/AmazonECR/latest/userguide/what-is-ecr.html) – Amazon Elastic Container Registry(Amazon ECR)는 안전하고 확장 가능하고 신뢰할 수 있는 AWS 관리형 컨테이너 이미지 레지스트리 서비스입니다.
+ [Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) – Amazon Elastic Container Service(Amazon ECS)는 클러스터에서 컨테이너를 손쉽게 실행, 중지 및 관리할 수 있게 하는 컨테이너 관리 서비스로서 확장성과 속도가 뛰어납니다.
+ [Identity and Access Management(IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) – IAM은 AWS 리소스에 대한 사용자의 액세스를 안전하게 제어할 수 있게 지원하는 웹 서비스입니다.
+ [CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) – Command Line Interface(CLI)는 명령줄 쉘에서 명령을 사용하여 AWS 서비스와 상호 작용할 수 있는 오픈 소스 도구입니다.
+ [Docker](https://www.docker.com/) — Docker는 애플리케이션 개발, 배송, 실행을 위한 개방형 플랫폼입니다.

**코드**

이 패턴에는 다음 파일이 연결됩니다.
+ `customFluentBit.zip` — 사용자 지정 구문 분석 및 구성을 추가하기 위한 파일이 들어 있습니다.
+ `firelens_policy.json` — IAM 정책을 생성하기 위한 정책 문서가 들어 있습니다.
+ `Task.json` — Amazon ECS의 샘플 작업 정의가 들어 있습니다.

## 에픽
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router-epics"></a>

### 사용자 지정 Fluent Bit 이미지 생성
<a name="create-a-custom-fluent-bit-image"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| Amazon ECR 리포지토리를 생성합니다. | AWS Management Console에 로그인한 다음, Amazon ECR 콘솔을 열고 `fluentbit_custom`라고 불리는 리포지토리를 생성합니다.<br />이에 대한 자세한 내용은 Amazon ECR 설명서의 [리포지토리 생성](https://docs.aws.amazon.com/AmazonECR/latest/userguide/repository-create.html)을 참조하십시오. | 시스템 관리자, 개발자 | 
| customFluentBit.zip 패키지의 압축을 풉니다. |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router.html) |  | 
| 사용자 지정 도커 이미지를 생성합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router.html)자세한 내용은 Amazon ECR 설명서에서 [Docker 이미지 푸시하기](https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-push-ecr-image.html)를 참조하십시오.  | 시스템 관리자, 개발자 | 

### Amazon ECS 클러스터를 설정
<a name="set-up-the-amazon-ecs-cluster"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| Amazon ECS 클러스터를 생성합니다. | Amazon ECS 설명서에서 [클러스터 생성](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create_cluster.html)의 *네트워킹 전용 템플릿* 섹션에 나와 있는 지침을 따라 Amazon ECS 클러스터를 생성합니다.Amazon ECS 클러스터용 새 가상 프라이빗 클라우드(VPC)를 생성하기 위해 **VPC 생성**을 선택해야 합니다. | 시스템 관리자, 개발자 | 

### Amazon ECS 작업 설정
<a name="set-up-the-amazon-ecs-task"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
|  Amazon ECS 태스크 실행 IAM 역할을 설정합니다. | `AmazonECSTaskExecutionRolePolicy` 관리형 정책을 사용하여 Amazon ECS 태스크 실행 IAM 역할을 생성합니다. 이에 대한 자세한 내용은 Amazon ECS 사용 설명서의 [Amazon ECS 태스크 실행 IAM 역할](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html)을 참조하십시오.IAM 역할의 Amazon 리소스 이름(ARN)을 기록해 두어야 합니다. | 시스템 관리자, 개발자 | 
|  IAM 정책을 Amazon ECS 작업 실행 IAM 역할에 연결합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router.html) | 시스템 관리자, 개발자 | 
| Amazon ECS 태스크 정의를 설정합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router.html)이에 대한 자세한 내용은 Amazon ECS 설명서의 [작업 정의 생성](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-task-definition.html)을 참조하십시오. | 시스템 관리자, 개발자 | 

### Amazon ECS 태스크 실행
<a name="run-the-amazon-ecs-task"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| Amazon ECS 태스크를 실행합니다. | Amazon ECS 콘솔에서 **클러스터**를 선택하고 이전에 생성한 클러스터를 선택한 다음 독립 실행형 작업을 실행합니다.<br />이에 대한 자세한 내용은 Amazon ECS 설명서에서 [독립 실행형 작업 실행](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_run_task.html)을 참조하십시오. | 시스템 관리자, 개발자 | 

### CloudWatch 로그 확인
<a name="verify-the-cloudwatch-logs"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 로그를 확인합니다. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router.html) | 시스템 관리자, 개발자 | 

## 관련 리소스
<a name="create-a-custom-log-parser-for-amazon-ecs-using-a-firelens-log-router-resources"></a>
+ [Amazon ECS용 도커 기본 사항](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/docker-basics.html) 
+ [Fargate의 Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS_Fargate.html) 
+ [기본 서비스 파라미터 구성](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/basic-service-params.html) 

## 첨부
<a name="attachments-e82b4992-c4e0-4af5-b87e-cb0b1c1ed8c9"></a>

이 문서와 관련된 추가 콘텐츠에 액세스하려면 [attachment.zip](samples/p-attach/e82b4992-c4e0-4af5-b87e-cb0b1c1ed8c9/attachments/attachment.zip) 파일의 압축을 풉니다.