

# ルートサーバーピアのログ記録
<a name="route-server-peer-logging"></a>

次を実行する必要がある場合は、VPC Route Server ピアのログ記録を使用します。
+ BGP セッションと BFD セッションの状態を監視する
+ 接続問題をトラブルシューティングする
+ セッションの変更履歴を確認する
+ ネットワークステータスを追跡する

## 料金
<a name="pricing"></a>
+ **CloudWatch**: ルートサーバーピアログを CloudWatch Logs に発行すると、vended log に対するデータインジェスト料金とアーカイブ料金が適用されます。
+ **S3**: ルートサーバーピアログを Amazon S3 に発行すると、vended log に対するデータインジェスト料金とアーカイブ料金が適用されます。
+ **Data Firehose**: 標準の取り込み料金と配信料金が適用されます。

vended log とは、ボリューム階層化料金で利用できる特定の AWS サービスからのログで、CloudWatch Logs、Amazon S3、または Amazon Data Firehose に配信されます。詳細については、「[Amazon CloudWatch 料金表](https://aws.amazon.com//cloudwatch/pricing/)」を開いて **[ログ]** を選択し、**[Vended Logs]** を参照してください。

## ログ形式の例
<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. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. ナビゲーションペインの **[仮想プライベートクラウド]** で、**[ルートサーバー]** を選択します。

1. **[ルートサーバー]** ページで、**[ルートサーバーピア]** を選択します。

1. **[ログ配信]** タブを選択します。

1. **[ログ配信を追加]** を選択します。

1. 送信先を選択し、設定を行います。
   + Amazon CloudWatch Logs
     + **ログタイプ**: 配信するログのタイプ。サポートされているログタイプは EVENT\$1LOGS のみです。
     + **配信先のロググループ**: ログが送信される CloudWatch ロググループ。既存のロググループを選択するか、新しいロググループを作成できます (例: /aws/vpc/route-server-peers)。
     + **フィールド選択**: ログに含めるデータフィールド。
     + **出力形式**: ログのフォーマット方法:
       + JSON: コンピュータ処理用に構造化された形式
       + テキスト: プレーンテキスト形式
     + **フィールド区切り文字**: テキスト形式を使用する場合、これがフィールドを区切る文字になります (例: カンマ、タブ、スペース)。
   + Amazon S3
     + クロスアカウント - 異なる AWS アカウントにログを送信
       + **ログタイプ**: 配信するログのタイプ。サポートされているログタイプは EVENT\$1LOGS のみです。
       + **配信先 ARN**: ログの送信先である別の AWS アカウント内の S3 バケットの Amazon リソースネーム。
       + **フィールド選択**: ログに含めるデータフィールド。
       + **サフィックス**: ログファイル名の末尾に追加する要素 (例: .log、.txt)。
       + **Hive 互換**: オンにすると、Hive ベースのツールで機能するフォルダ構造でログが整理され、Amazon Athena などのサービスでの検索が容易になります。
       + **フィールド区切り文字**: テキスト形式を使用する場合、これがフィールドを区切る文字になります。
     + 現行のアカウント
       + **ログタイプ**: 配信するログのタイプ。サポートされているログタイプは EVENT\$1LOGS のみです。
       + **送信先 S3 バケット**: ログが送信されるアカウント内の S3 バケット。サブフォルダパスを指定できます。
       + **フィールド選択**: ログに含めるデータフィールド。
       + **サフィックス**: ログファイル名の末尾に追加する要素 (例: .log、.txt)。
       + **Hive 互換**: オンにすると、Hive ベースのツールで機能するフォルダ構造でログが整理され、検索しやすくなります。
       + **フィールド区切り文字**: テキスト形式を使用する場合、これがフィールドを区切る文字になります。
   + Amazon Data Firehose
     + クロスアカウント
       + **ログタイプ**: 配信するログのタイプ。サポートされているログタイプは EVENT\$1LOGS のみです。
       + **配信先 ARN**: 別の AWS アカウント内にある Firehose 配信ストリームの Amazon リソースネーム。
       + **フィールド選択**: ログに含めるデータフィールド。
       + **フィールド区切り文字**: テキスト形式を使用する場合、これがフィールドを区切る文字になります。
     + 現行のアカウント
       + **ログタイプ**: 配信するログのタイプ。サポートされているログタイプは EVENT\$1LOGS のみです。
       + **配信先ストリーム**: ログが送信されるアカウント内の 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"
             ]
         }
     }
     ```

------