

# 라우팅 서버 피어 로깅
<a name="route-server-peer-logging"></a>

다음의 상황에서 VPC Route Server 피어 로깅을 사용합니다.
+ BGP 및 BFD 세션 상태 모니터링
+ 연결 문제 해결
+ 세션 변경 사항 이력 검토
+ 네트워크 상태 추적

## 가격 책정
<a name="pricing"></a>
+ **CloudWatch**: CloudWatch Logs에 라우팅 서버 피어를 게시할 때는 Vended 로그에 대한 데이터 수집 및 아카이브 요금이 부과됩니다.
+ **S3**: Amazon S3에 라우팅 서버 피어 로그를 게시할 때는 Vended 로그에 대한 데이터 수집 및 아카이브 요금이 부과됩니다.
+ **Data Firehose**: 표준 수집 및 전송 요금이 적용됩니다.

Vended 로그는 볼륨 티어별 요금으로 사용할 수 있고 CloudWatch Logs, Amazon S3 또는 Amazon Data Firehose로 전송되는 특정 AWS 서비스의 로그입니다. 자세히 알아보려면 [Amazon CloudWatch 요금](https://aws.amazon.com//cloudwatch/pricing/)을 열고, **로그**를 선택하고, **벤딩 로그**를 찾으세요.

## 로그 형식 예
<a name="example-log-format"></a>

```
{
    "resource_arn": "arn:aws:ec2:us-east-1:111122223333:route-server-peer/rsp-1234567890abcdef0",
    "event_timestamp": 1746643505367,
    "type": "RouteStatus",
    "status": "ADVERTISED",
    "message": {
        "prefix": "10.24.34.0/32",
        "asPath": "65000",
        "med": 100,
        "nextHopIp": "10.24.34.1"
    }
}

{
    "resource_arn": "arn:aws:ec2:us-east-1:111122223333:route-server-peer/rsp-1234567890abcdef0",
    "event_timestamp": 1746643490000,
    "type": "BGPStatus",
    "status": "UP",
    "message": null
}
```

위치:
+ `resource_arn`는 라우팅 서버 피어의 ARN입니다.
+ `event_timestamp`는 이벤트의 타임스탬프입니다.
+ 생산되는 로그 이벤트의 `type`입니다(`RouteStatus`, `BGPStatus`, `BFDStatus`).
+ `status` 필드는 상태 업데이트입니다.
  + `RouteStatus` 유형 메시지의 경우
    + `ADVERTISED`(피어가 라우팅을 알림)
    + `UPDATED`(피어가 기존 라우팅을 업데이트함)
    + `WITHDRAWN`(피어에 의해 라우팅이 철회됨)
  + `BFDStatus` 및 `BGPStatus`에 대한 업데이트의 경우
    + `UP`, `DOWN`.
+ `message` 필드는 현재 RouteStatus 메시지 유형의 라우팅 속성에만 사용되지만 모든 유형의 관련 정보로 채워질 수 있습니다.

------
#### [ AWS Management Console ]

라우팅 서버 피어 로그 생성:

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

1. 탐색 창의 **가상 프라이빗 클라우드**에서 **라우팅 서버**를 선택합니다.

1. **라우팅 서버** 페이지에서 **라우팅 서버 피어**을 선택합니다.

1. **로그 전송** 탭을 선택합니다.

1. **로그 전송 추가**를 선택합니다.

1. 목적지를 선택하고 설정을 구성합니다.
   + Amazon CloudWatch Logs
     + **로그 유형**: 전송할 로그 유형입니다. 지원되는 로그 유형은 EVENT\_LOGS가 유일합니다.
     + **목적지 로그 그룹**: 로그가 전송될 CloudWatch 로그 그룹입니다. 기존의 로그 그룹을 선택하거나 새 로그 그룹을 생성할 수 있습니다(예: /aws/vpc/route-server-peers).
     + **필드 선택**: 로그에 포함할 데이터 필드입니다.
     + **출력 형식**: 로그의 형식을 다음 중에서 지정합니다.
       + JSON: 컴퓨터 처리용으로 구조화된 형식
       + 텍스트: 일반 텍스트 형식
     + **필드 구분 기호**: 텍스트 형식을 사용할 때 필드 구분에 사용하는 문자입니다(예: 쉼표, 탭, 공백).
   + Amazon S3
     + 교차 계정 - 다른 AWS 계정으로 로그 전송
       + **로그 유형**: 전송할 로그 유형입니다. 지원되는 로그 유형은 EVENT\_LOGS가 유일합니다.
       + **전송 목적지 ARN**: 로그가 전송될 다른 AWS 계정에 있는 S3 버킷의 Amazon 리소스 이름입니다.
       + **필드 선택**: 로그에 포함할 데이터 필드입니다.
       + **접미사**: 로그 파일 이름 끝에 추가되는 글자입니다(예: .log, .txt).
       + **Hive 호환**: 이 기능을 켜면 Hive 기반 도구와 함께 작동하는 폴더 구조로 로그를 구성하여 Amazon Athena와 같은 서비스를 더 쉽게 검색할 수 있습니다.
       + **필드 구분 기호**: 텍스트 형식을 사용할 때 필드 구분에 사용하는 문자입니다.
     + 현재 계정
       + **로그 유형**: 전송할 로그 유형입니다. 지원되는 로그 유형은 EVENT\_LOGS가 유일합니다.
       + **목적지 S3 버킷**: 로그가 전송되는 계정의 S3 버킷입니다. 하위 폴더 경로를 지정할 수 있습니다.
       + **필드 선택**: 로그에 포함할 데이터 필드입니다.
       + **접미사**: 로그 파일 이름 끝에 추가되는 글자입니다(예: .log, .txt).
       + **Hive 호환**: 이 기능을 켜면 Hive 기반 도구와 함께 작동하는 폴더 구조로 로그를 구성하여 검색이 더 쉬워집니다.
       + **필드 구분 기호**: 텍스트 형식을 사용할 때 필드를 구분하는 문자입니다.
   + Amazon Data Firehose
     + 교차 계정
       + **로그 유형**: 전송할 로그 유형입니다. 지원되는 로그 유형은 EVENT\_LOGS가 유일합니다.
       + **전송 목적지 ARN**: 다른 AWS 계정에 있는 Firehose 전송 스트림의 Amazon 리소스 이름입니다.
       + **필드 선택**: 로그에 포함할 데이터 필드입니다.
       + **필드 구분 기호**: 텍스트 형식을 사용할 때 필드를 구분하는 문자입니다.
     + 현재 계정
       + **로그 유형**: 전송할 로그 유형입니다. 지원되는 로그 유형은 EVENT\_LOGS가 유일합니다.
       + **전송 목적지 스트림**: 로그가 전송되는 계정의 Firehose 전송 스트림입니다. 스트림은 'Direct Put' 소스 유형을 사용해야 합니다.
       + **필드 선택**: 로그에 포함되는 데이터 필드입니다.
       + **출력 형식**: 로그의 형식을 다음 중에서 지정합니다.
         + JSON: 컴퓨터 처리용으로 구조화된 형식
         + 텍스트: 일반 텍스트 형식
       + **필드 구분 기호**: 텍스트 형식을 사용할 때 필드를 구분하는 문자입니다.

------
#### [ Command line ]

이 섹션의 명령은 *AWS CLI 명령 참조*로 연결됩니다. 이 설명서에서는 명령을 실행할 때 사용할 수 있는 옵션에 대한 자세한 설명을 제공합니다.

라우팅 서버 피어 로그 생성:

1. [put-delivery-source](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/put-delivery-source.html) 명령을 사용합니다.
   + 요청 예제

     ```
     aws logs put-delivery-source --name "source-rsp-1234567890abcdef0" --resource-arn "arn:aws:ec2:us-east-1:111122223333:route-server-peer/rsp-1234567890abcdef0" --log-type "EVENT_LOGS"
     ```
   + 응답의 예

     ```
     {
          "deliverySource": {
             "name": "source-rsp-1234567890abcdef0",
             "arn": "arn:aws:logs:us-east-1:111122223333:delivery-source:source-rsp-1234567890abcdef0",
             "resourceArns": [
                 "arn:aws:ec2:us-east-1:111122223333:route-server-peer/rsp-1234567890abcdef0"
             ],
             "service": "ec2",
             "logType": "EVENT_LOGS"
         }
     }
     ```

1. [put-delivery-destination](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/put-delivery-destination.html) 명령을 사용합니다.
   + 다음 AWS CLI 예제에서는 라우팅 서버 로그를 생성합니다. 로그가 지정된 로그 그룹에 전송됩니다.
   + 요청 예제

     ```
     aws logs put-delivery-destination --name "destination-rsp-abcdef01234567890" --destination-resource-arn "arn:aws:logs:us-east-1:111122223333:log-group:/aws/vendedlogs/ec2/route-server-peer/EVENT_LOGS/rsp-abcdef01234567890"
     ```
   + 응답의 예

     ```
     {
          "deliveryDestination": {
             "name": "destination-rsp-abcdef01234567890",
             "arn": "arn:aws:logs:us-east-1:111122223333:delivery-destination:destination-rsp-abcdef01234567890",
             "deliveryDestinationType": "CWL",
             "deliveryDestinationConfiguration": {
                 "destinationResourceArn": "arn:aws:logs:us-east-1:111122223333:log-group:/aws/vendedlogs/ec2/route-server-peer/EVENT_LOGS/rsp-abcdef01234567890"
             }
         }
     }
     ```

1. [create-delivery](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/create-delivery.html) 명령을 사용합니다.
   + 요청 예제

     ```
     aws logs create-delivery --delivery-source-name "source-rsp-1234567890abcdef0" --delivery-destination-arn "arn:aws:logs:us-east-1:111122223333:delivery-destination:destination-rsp-abcdef01234567890"
     ```
   + 응답의 예

     ```
     {
          "delivery": {
             "id": "1234567890abcdef0",
             "arn": "arn:aws:logs:us-east-1:111122223333:delivery:1234567890abcdef0",
             "deliverySourceName": "source-rsp-1234567890abcdef0",
             "deliveryDestinationArn": "arn:aws:logs:us-east-1:111122223333:delivery-destination:destination-rsp-abcdef01234567890",
             "deliveryDestinationType": "CWL",
             "recordFields": [
                 "resource_arn",
                 "event_timestamp",
                 "type",
                 "status",
                 "message"
             ]
         }
     }
     ```

------