

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

# AWS Amazon CloudWatch Logs의 전송 게이트웨이 흐름 로그 레코드
<a name="flow-logs-cwl"></a>

흐름 로그는 흐름 로그 데이터를 Amazon CloudWatch에 직접 게시할 수 있습니다.

CloudWatch Logs에 게시되면 흐름 로그 데이터는 로그 그룹에 게시되고 각 Transit Gateway에는 로그 그룹에 고유의 로그 스트림이 있습니다. 로그 스트림에는 흐름 로그 레코드가 포함됩니다. 여러 개의 흐름 로그를 생성하여, 그 데이터를 같은 로그 그룹에 게시할 수 있습니다. 같은 로그 그룹의 하나 이상의 흐름 로그에 동일한 Transit Gateway가 있는 경우 하나의 결합된 로그 스트림이 있습니다. 한 흐름 로그에서는 거부된 트래픽을 캡처하고, 다른 흐름 로그에서는 허용된 트래픽을 캡처하도록 지정한 경우, 병합된 로그 스트림은 모든 트래픽을 캡처합니다.

CloudWatch Logs에 흐름 로그를 게시할 때는 Vended 로그에 대한 데이터 수집 및 아카이브 요금이 부과됩니다. 자세한 내용은 [Amazon CloudWatch 요금](https://aws.amazon.com/cloudwatch/pricing/)을 참조하십시오.

CloudWatch Logs에서 **timestamp** 필드는 흐름 로그 레코드에서 캡처된 시작 시간에 해당합니다. **ingestionTime** 필드는 CloudWatch Logs에서 흐름 로그 레코드가 수신된 날짜와 시간을 제공합니다. 타임스탬프는 흐름 로그 레코드에 캡처된 종료 시간보다 이후입니다.

CloudWatch Logs에 대한 자세한 내용은 [Amazon CloudWatch Logs 사용 설명서](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-logs-infrastructure-CWL)의 *CloudWatch Logs로 전송된 로그*를 참조하세요.

**Topics**
+ [CloudWatch Logs에 플로우 로그를 게시하기 위한 IAM 역할](#flow-logs-iam)
+ [IAM 사용자가 역할을 전달할 수 있는 권한](#flow-logs-iam-user)
+ [CloudWatch Logs에 게시하는 흐름 로그 생성](flow-logs-cwl-create-flow-log.md)
+ [흐름 로그 기록 보기](view-flow-log-records.md)
+ [흐름 로그 레코드 처리](process-records-cwl.md)

## CloudWatch Logs에 플로우 로그를 게시하기 위한 IAM 역할
<a name="flow-logs-iam"></a>

흐름 로그와 연결된 IAM 역할에는 CloudWatch Logs의 지정된 로그 그룹에 흐름 로그를 게시할 권한이 있어야 합니다. IAM 역할은에 속해야 합니다 AWS 계정.

IAM 역할에 연결된 IAM 정책에는 최소한 다음과 같은 권한이 포함되어야 합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogGroups",
        "logs:DescribeLogStreams"
      ],
      "Resource": "*"
    }
  ]
}
```

------

또한 귀하의 역할에 흐름 로그 서비스의 역할 수임을 허용하는 신뢰 관계가 포함되어 있는지 확인해야 합니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "vpc-flow-logs.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

[혼동된 대리자 문제](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html)로부터 자신을 보호하기 위하여 `aws:SourceAccount` 및 `aws:SourceArn` 조건 키를 사용할 것을 권장합니다. 예를 들어 이전 신뢰 정책에 다음 조건 블록을 추가할 수 있습니다. 소스 계정은 흐름 로그의 소유자이고 소스 ARN은 흐름 로그 ARN입니다. 흐름 로그 ID를 모르는 경우 ARN의 해당 부분을 와일드카드(\$1) 로 바꾼 다음 흐름 로그를 만든 후 정책을 업데이트할 수 있습니다.

```
"Condition": {
    "StringEquals": {
        "aws:SourceAccount": "account_id"
    },
    "ArnLike": {
        "aws:SourceArn": "arn:aws:ec2:region:account_id:vpc-flow-log/flow-log-id"
    }
}
```

## IAM 사용자가 역할을 전달할 수 있는 권한
<a name="flow-logs-iam-user"></a>

또한 사용자에게 해당 흐름 로그와 연결된 IAM 역할에 대한 `iam:PassRole` 작업의 사용 권한이 있어야 합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iam:PassRole"
            ],
            "Resource": "arn:aws:iam::111122223333:role/flow-log-role-name"
        }
    ]
}
```

------

# 가에 게시하는 AWS Transit Gateway 흐름 로그 레코드 생성 Amazon CloudWatch Logs
<a name="flow-logs-cwl-create-flow-log"></a>

Transit Gateway에 대한 흐름 로그를 생성할 수 있습니다. IAM 사용자로 이러한 단계를 수행하는 경우 `iam:PassRole` 작업을 사용할 수 있는 권한이 있는지 확인하십시오. 자세한 내용은 [IAM 사용자가 역할을 전달할 수 있는 권한](flow-logs-cwl.md#flow-logs-iam-user) 단원을 참조하십시오.

Amazon VPC 콘솔 또는 CLI를 사용하여 Amazon CloudWatch 흐름 로그를 생성할 수 있습니다. AWS 

**콘솔을 사용하여 Transit Gateway 생성**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) Amazon VPC 콘솔을 엽니다.

1. 탐색 창에서 **Transit Gateway**를 선택합니다.

1. 하나 이상의 Transit Gateway의 확인란을 선택하고 **작업**, **흐름 로그 생성**을 선택합니다.

1. **Destination(대상)**에서 **Send to CloudWatch Logs(CloudWatch Logs로 전송)**를 선택합니다.

1. **대상 로그 그룹**에서 현재 대상 로그 그룹의 이름을 선택합니다.
**참고**  
대상 로그 그룹이 아직 없는 경우 이 필드에 새 이름을 입력하면 새 대상 로그 그룹이 생성됩니다.

1. **IAM 역할(IAM role)**에서 CloudWatch Logs에 로그를 게시할 권한이 있는 역할의 이름을 지정합니다.

1. **로그 레코드 형식**에서 흐름 로그 레코드의 형식을 선택합니다.
   + 기본 형식을 사용하려면 **AWS 기본 형식**을 선택하세요.
   + 사용자 지정 형식을 사용하려면 **사용자 지정 형식**을 선택하고 **로그 형식**에서 필드를 선택합니다.

1. (선택 사항) **새 태그 추가**를 선택하여 흐름 로그에 태그를 적용합니다.

1. **흐름 로그 생성**을 선택합니다.

**명령줄을 사용하여 흐름 로그를 만들려면 다음을 수행합니다.**

다음 명령 중 하나를 사용합니다.
+ [create-flow-logs](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-flow-logs.html)(AWS CLI)
+ [New-EC2FlowLog](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2FlowLog.html)(AWS Tools for Windows PowerShell)

다음 AWS CLI 예제에서는 전송 게이트웨이 정보를 캡처하는 흐름 로그를 생성합니다. 흐름 로그는 IAM 역할 `my-flow-logs`를 사용하여 계정 123456789101에서 `publishFlowLogs`라고 하는 CloudWatch Logs 내 로그 그룹으로 전달됩니다.

```
aws ec2 create-flow-logs --resource-type TransitGateway --resource-ids tgw-1a2b3c4d --log-group-name my-flow-logs --deliver-logs-permission-arn arn:aws:iam::123456789101:role/publishFlowLogs 
```

# Amazon CloudWatch에서 AWS 전송 게이트웨이 흐름 로그 레코드 보기
<a name="view-flow-log-records"></a>

선택된 대상 유형에 따라 CloudWatch Logs 콘솔 또는 Amazon S3 콘솔을 사용하여 흐름 로그 레코드를 볼 수 있습니다. 흐름 로그를 생성한 후 콘솔에서 흐름 로그를 보려면 몇 분 정도 지나야 할 수 있습니다.

**CloudWatch Logs에 게시된 플로우 로그 레코드를 보려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **로그**를 선택하고 흐름 로그가 포함된 로그 그룹을 선택합니다. 각 Transit Gateway의 로그 스트림 목록이 표시됩니다.

1.  흐름 로그 레코드를 보려는 Transit Gateway의 ID를 포함하는 로그 스트림을 선택합니다. 자세한 내용은 [Transit Gateway 흐름 로그 레코드](tgw-flow-logs.md#flow-log-records) 단원을 참조하십시오.

# Amazon CloudWatch Logs에서 AWS 전송 게이트웨이 흐름 로그 레코드 처리
<a name="process-records-cwl"></a>

흐름 로그 레코드는 CloudWatch Logs에서 수집한 다른 로그 이벤트처럼 사용할 수 있습니다. 로그 데이터 및 지표 필터 모니터링에 대한 자세한 내용을 알아보려면 *Amazon CloudWatch 사용 설명서*의 [필터를 사용하여 로그 이벤트에서 지표 생성](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/MonitoringLogData.html)을 참조하세요.

## 예: 흐름 로그에 대한 CloudWatch 지표 필터 및 경보 생성
<a name="flow-logs-cw-alarm-example"></a>

이 예에서는 `tgw-123abc456bca`에 대한 흐름 로그를 사용합니다. TCP 포트 22(SSH)를 거쳐 인스턴스에 연결하려는 시도가 한 시간 내에 10번 이상 거부된 경우 이를 알려 주는 알림을 만들 수 있습니다. 우선 경보를 만들려는 트래픽의 패턴과 일치하는 지표 필터를 만들어야 합니다. 그런 다음 지표 필터에 대한 경보를 만듭니다.

**거부된 SSH 트래픽에 대한 지표 필터와 필터에 대한 경보를 만들려면**

1. [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/)에서 CloudWatch 콘솔을 엽니다.

1. 탐색 창에서 **로그**, **로그 그룹**을 선택합니다.

1. 로그 그룹에 대한 확인란을 선택한 다음 **작업**,**지표 필터 생성**을 선택합니다.

1. **필터 패턴**에 다음을 입력합니다.

   ```
   [version, resource_type, account_id,tgw_id="tgw-123abc456bca”, tgw_attachment_id, tgw_src_vpc_account_id, tgw_dst_vpc_account_id, tgw_src_vpc_id, tgw_dst_vpc_id, tgw_src_subnet_id, tgw_dst_subnet_id, tgw_src_eni, tgw_dst_eni, tgw_src_az_id, tgw_dst_az_id, tgw_pair_attachment_id, srcaddr= "10.0.0.1", dstaddr, srcport=“80”, dstport, protocol=“6”, packets, bytes,start,end, log_status, type,packets_lost_no_route, packets_lost_blackhole, packets_lost_mtu_exceeded, packets_lost_ttl_expired, tcp_flags,region, flow_direction, pkt_src_aws_service, pkt_dst_aws_service]
   ```

1. **테스트할 로그 데이터 선택**에서 Transit Gateway에 대한 로그 스트림을 선택합니다. (선택 사항) 필터 패턴과 일치하는 로그 데이터 행을 보려면 **패턴 테스트**를 선택합니다. 준비가 되면 **다음**을 선택합니다.

1. 필터 이름, 지표 네임스페이스 및 지표 이름을 입력합니다. 지표 값을 **1**로 설정합니다. 완료되면 **다음**을 선택하고 **지표 필터 생성**을 선택합니다.

1. 탐색 창에서 **Alarms**, **All alarms**를 선택합니다.

1. **경보 생성**을 선택하세요.

1. 앞에서 생성한 지표 필터에 대한 네임스페이스를 선택합니다.

   새로운 지표가 콘솔에 표시될 때까지 몇 분 정도 걸릴 수 있습니다.

1. 생성한 지표 이름을 선택한 후 **지표 선택**을 선택합니다.

1. 경보를 다음과 같이 구성한 후 **다음**을 선택합니다.
   + **통계**에서 **합계**를 선택합니다. 이것으로 지정된 기간 동안 데이터 포인트의 총 수를 캡처할 수 있습니다.
   + **기간**에서 **1시간**을 선택합니다.
   + **항상**에서 **초과/같음**을 선택하고 임계값으로 **10**을 입력합니다.
   + **추가 구성**에서 **경보에 대한 데이터 포인트**를 기본값 **1**로 남겨둡니다.

1. **알림**에서 기존 SNS 주제를 선택하거나 **새 주제 생성**을 선택하여 새로 생성합니다. **다음**을 선택합니다.

1. 경보의 이름과 설명을 입력하고 **다음**을 선택합니다.

1. 경보 구성이 완료되면 **경보 생성**을 선택합니다.