

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS Site-to-Site VPN 日誌
<a name="monitoring-logs"></a>

AWS Site-to-Site VPN 日誌可讓您更深入了解Site-to-Site VPN 部署。透過此功能，您可以存取Site-to-Site連線日誌，該日誌提供有關 IP 安全 (IPsec) 通道建立、網際網路金鑰交換 (IKE) 交涉、無效對等偵測 (DPD) 通訊協定訊息、邊界閘道通訊協定 (BGP) 狀態和路由更新的詳細資訊。

站台對站台 VPN 日誌可以發佈至 Amazon CloudWatch Logs。此功能為客戶提供一個一致的方式，來存取和分析其所有站台對站台 VPN 連接的詳細日誌。

**Topics**
+ [站台對站台 VPN 日誌的優點](#log-benefits)
+ [Amazon CloudWatch Logs 資源政策大小限制](#cwl-policy-size)
+ [Site-to-Site日誌內容](#log-contents)
+ [通道 BGP 日誌的範例日誌格式](#example-bgp-logs)
+ [發佈到 CloudWatch 日誌的 IAM 要求](#publish-cw-logs)
+ [檢視站台對站台 VPN 日誌組態](status-logs.md)
+ [啟用站台對站台 VPN 日誌](enable-logs.md)
+ [停用站台對站台 VPN 日誌](disable-logs.md)

## 站台對站台 VPN 日誌的優點
<a name="log-benefits"></a>
+ **簡化 VPN 疑難排解：**Site-to-Site日誌可協助您精確找出 AWS 和客戶閘道裝置之間的組態不相符，並解決初始 VPN 連線問題。VPN 連接可能會因為設定錯誤 (例如調整不良的逾時) 而間歇性地震盪一段時間，基礎傳輸網路 (例如網際網路天氣) 可能會發生問題，或者路由變更或路徑失敗可能會造成透過 VPN 的連接中斷。此功能可讓您準確診斷間歇性連線失敗的原因，並微調低階通道組態，讓作業穩定可靠。
+ **集中 AWS Site-to-Site VPN 可見性：**Site-to-Site日誌可以在所有Site-to-Site連線類型中提供通道活動和 BGP 路由日誌。此功能為客戶提供一個一致的方式，來存取和分析其所有站台對站台 VPN 連接的詳細日誌。
+ **安全與合規：**您可以將站台對站台 VPN 日誌傳送到 Amazon CloudWatch Logs，以便對一段時間內的 VPN 連接狀態和活動進行回溯性分析。這可以協助您滿足合規性與法規的要求。

## Amazon CloudWatch Logs 資源政策大小限制
<a name="cwl-policy-size"></a>

CloudWatch Logs 資源政策的限制為 5120 個字元。CloudWatch Logs 偵測到政策接近此大小限制時，會自動啟用開頭為 `/aws/vendedlogs/` 的日誌群組。啟用日誌時，Site-to-Site VPN 必須使用您指定的日誌群組更新 CloudWatch Logs 資源政策。若要避免達到 CloudWatch Logs 資源政策大小限制，請在日誌群組名稱前面加上 `/aws/vendedlogs/`。

## Site-to-Site日誌內容
<a name="log-contents"></a>

站台對站台 VPN 通道活動日誌中包含下列資訊。日誌串流檔案名稱使用 VpnConnectionID 和 TunnelOutsideIPAddress。


| 欄位 | Description | 
| --- | --- | 
| VpnLogCreationTimestamp (`event_timestamp`) | epoch 時間格式的日誌建立時間戳記。 | 
| VpnLogCreationTimestampReadable (`timestamp`) | 以人類可讀取的時間格式建立日誌時間戳記。 | 
| TunnelDPDEnabled (`dpd_enabled`) | 失效對等偵測通訊協定啟用狀態 (True/False)。 | 
| TunnelCGWNATTDetectionStatus (`nat_t_detected`) | 在客戶閘道裝置上偵測到 NAT-T (True/False)。 | 
| TunnelIKEPhase1State (`ike_phase1_state`) | IKE 階段 1 通訊協定狀態 (已建立 \| 重新輸入 \| 交涉 \| 失效)。 | 
| TunnelIKEPhase2State (ike\_phase2\_state) | IKE 階段 2 通訊協定狀態 (已建立 \| 重新輸入 \| 交涉 \| 失效)。 | 
| VpnLogDetail (details) | IPsec、IKE 和 DPD 通訊協定的詳細資訊。 | 

下列資訊包含在Site-to-Site通道 BGP 日誌中。日誌串流檔案名稱使用 VpnConnectionID 和 TunnelOutsideIPAddress。


| 欄位 | Description | 
| --- | --- | 
| resource\_id | 唯一 ID，用於識別與日誌相關聯的通道和 VPN 連接。 | 
| event\_timestamp | epoch 時間格式的日誌建立時間戳記。 | 
| timestamp | 以人類可讀取的時間格式建立日誌時間戳記。 | 
| type | BGP 日誌事件的類型 (BGPStatus \| RouteStatus)。 | 
| status | 特定類型日誌事件的狀態更新 (BGPStatus：UP \| DOWN) (RouteStatus：ADVERTISED {route is a對等公告} \| UPDATED：{現有路由已由對等更新} \| WITHDRAWN：{route is withdraw by對等}) 。 | 
| message | 提供日誌偶數和狀態的其他詳細資訊。此欄位將協助您了解為什麼 BGPStatus 在 RouteStatus 訊息中交換了哪些路由屬性。 | 

**Topics**
+ [IKEv1 錯誤訊息](#sample-log-ikev1)
+ [IKEv2 錯誤訊息](#sample-log-ikev2)
+ [IKEv2 溝通訊息](#sample-log-ikev2-negotiation)
+ [BGP 狀態訊息](#sample-bgp-status-messages)
+ [路由狀態訊息](#sample-route-status-messages)

### IKEv1 錯誤訊息
<a name="sample-log-ikev1"></a>


| 訊息 | 說明 | 
| --- | --- | 
| Peer is not responsive - Declaring peer dead (對等端沒有回應 - 宣布對等端失效) | 對等端尚未回應 DPD 訊息，因此強制執行 DPD 逾時動作。 | 
| AWS 由於預先共用金鑰無效，通道承載解密失敗 | 必須在兩個 IKE 對等端上設定相同的預先共用金鑰。 | 
| 找不到提案比對 AWS | AWS VPN 端點不支援階段 1 的建議屬性 （加密、雜湊和 DH 群組），例如 `3DES`。 | 
| No Proposal Match Found. Notifying with "No proposal chosen" (找不到相符的提案。以「未選擇提案」通知) | 對等端之間會交換「未選擇提案」錯誤訊息，以通知您必須在 IKE 對等端上針對階段 2 設定正確的提案/政策。 | 
| AWS 通道已透過 SPI 收到階段 2 SA 的 DELETE：xxxx | CGW 已傳送階段 2 的 Delete\_SA 訊息。 | 
| AWS 從 CGW 收到適用於 IKE\_SA 的 DELETE 通道 | CGW 已傳送階段 1 的 Delete\_SA 訊息。 | 

### IKEv2 錯誤訊息
<a name="sample-log-ikev2"></a>


| 訊息 | 說明 | 
| --- | --- | 
| AWS {retry\_count} 重新傳輸後通道 DPD 逾時 | 對等端尚未回應 DPD 訊息，因此強制執行 DPD 逾時動作。 | 
| AWS 從 CGW 收到適用於 IKE\_SA 的 DELETE 通道 | 對等已傳送父系/IKE\_SA 的 Delete\_SA 訊息。 | 
| AWS 通道已透過 SPI 收到階段 2 SA 的 DELETE：xxxx | 對等已傳送 CHILD\_SA 的 Delete\_SA 訊息。 | 
| AWS 通道偵測到 (CHILD\_REKEY) 碰撞為 CHILD\_DELETE | CGW 已傳送作用中 SA 的 Delete\_SA 訊息，該 SA 正在重設金鑰。 | 
| AWS 由於偵測到碰撞，通道 (CHILD\_SA) 備援 SA 正在刪除 | 由於碰撞，如果產生備援 SAs，在符合 RFC 中的 nonce 值之後，對等將關閉備援 SA。 | 
| AWS 通道階段 2 在保留階段 1 時無法建立 | 對等因交涉錯誤而無法建立 CHILD\_SA，例如提議不正確。 | 
| AWS: Traffic Selector: TS\_UNACCEPTABLE: received from responder (：流量選擇器：TS\_UNACCEPTABLE：從回應方接收) | 對等端提出不正確的流量選擇器/加密網域。對等端應使用相同且正確的 CIDR 進行配置。 | 
| AWS 通道正在傳送 AUTHENTICATION\_FAILED 作為回應 | 對等端無法透過確認 IKE\_AUTH 訊息的內容來驗證對等端 | 
| AWS 通道偵測到與 cgw 的預先共用金鑰不相符：xxxx | 必須在兩個 IKE 對等端上設定相同的預先共用金鑰。 | 
| AWS 通道逾時：刪除具有 cgw 的未建立階段 1 IKE\_SA：xxxx | 由於對等端尚未進行溝通，刪除半開啟的 IKE\_SA | 
| No Proposal Match Found. Notifying with "No proposal chosen" (找不到相符的提案。以「未選擇提案」通知) | 對等端之間會交換「未選擇提案」錯誤訊息，以通知您必須在 IKE 對等端上設定正確的提案。 | 
| 找不到提案比對 AWS |  AWS VPN 端點不支援階段 1 或階段 2 （加密、雜湊和 DH 群組） 的建議屬性，例如 `3DES`。 | 

### IKEv2 溝通訊息
<a name="sample-log-ikev2-negotiation"></a>


| 訊息 | 說明 | 
| --- | --- | 
| AWS CREATE\_CHILD\_SA 的通道處理請求 (id=xxx) | AWS 已收到來自 CGW 的 CREATE\_CHILD\_SA 請求。 | 
| AWS 通道正在傳送 CREATE\_CHILD\_SA 的回應 (id=xxx) | AWS 正在傳送 CREATE\_CHILD\_SA 回應至 CGW。 | 
| AWS 通道正在傳送 CREATE\_CHILD\_SA 的請求 (id=xxx) | AWS 正在將 CREATE\_CHILD\_SA 請求傳送至 CGW。 | 
| AWS CREATE\_CHILD\_SA 的通道處理回應 (id=xxx) | AWS 已收到 CREATE\_CHILD\_SA 回應表單 CGW。 | 

### BGP 狀態訊息
<a name="sample-bgp-status-messages"></a>

 BGP 狀態訊息包含與 BGP 工作階段狀態轉換、字首限制警告、限制違規、BGP 工作階段通知、BGP OPEN 訊息，以及指定 BGP 工作階段之 BGP 鄰近的屬性更新相關的資訊。


| 訊息 | BGP 狀態 | 說明 | 
| --- | --- | --- | 
|  AWS 端對等 BGP 工作階段狀態已從閒置變更為與相鄰 {ip： xxx} 連線  |  向下  |  AWS 端的 BGP 連線狀態已更新為 Connect。 | 
|  AWS 端對等 BGP 工作階段狀態已從 Connect 變更為具有相鄰 {ip： xxx} 的 OpenSent  |  向下  |  AWS 端的 BGP 連線狀態已更新為 OpenSent。 | 
|  AWS 端對等 BGP 工作階段狀態已從 OpenSent 變更為具有相鄰 {ip： xxx} 的 OpenConfirm  |  向下  |  AWS 端的 BGP 連線狀態已更新為 OpenConfirm。 | 
|  AWS 端對等 BGP 工作階段狀態已從 OpenConfirm 變更為與相鄰 {ip： xxx} 建立  |  UP  |  AWS 端的 BGP 連線狀態已更新為已建立。 | 
|  AWS 端對等 BGP 工作階段狀態已從建立變更為使用相鄰 {ip： xxx} 閒置  |  向下  |  AWS 端的 BGP 連線狀態已更新為閒置。 | 
|  AWS 端對等 BGP 工作階段狀態已從 Connect 變更為 Active 且鄰 {ip： xxx}  |  向下  |  AWS 端的 BGP 連線狀態已從 Connect 轉換為 Active。如果 BGP 工作階段卡在連線狀態，請檢查 CGW 上的 TCP 連接埠 179 可用性。 | 
|  AWS 端對等報告字首限制上限警告 - 收到來自相鄰 {ip： xxx} 的 {prefixes (count)： xxx} 字首，限制為 {limit (numeric)： xxx}  |  UP  |  當從 CGW 收到的字首數量接近允許的限制時，AWS 端會定期產生日誌訊息。 | 
|  AWS 端對等偵測到超過字首上限 - 從相鄰 {ip： xxx} 收到 {prefixes (count)： xxx} 字首，限制為 {limit (numeric)： xxx}  |  向下  |  當從 CGW 收到的字首數量超過允許的限制時，AWS 端會產生日誌訊息。 | 
|  AWS 端對等節點傳送通知 6/1 （已到達的字首數/最大數） 給鄰 {ip： xxx}  |  向下  |  AWS 端傳送通知給 CGW BGP 對等，指出 BGP 工作階段因字首限制違規而終止。 | 
|  AWS 端對等收到來自相鄰 {ip： xxx} 的通知 6/1 （已到達的字首數/已達到的字首數上限）  |  向下  | AWS 端收到來自 CGW 對等的通知，指出 BGP 工作階段因字首限制違規而終止。 | 
|  AWS 端對等傳送通知 6/2 （事件/管理關機） 給相鄰 {ip： xxx}  |  向下  |  AWS 端傳送通知給 CGW BGP 對等，指出 BGP 工作階段已終止。 | 
|  AWS 端對等收到來自相鄰 {ip： xxx} 的通知 6/2 （事件/管理關機）  |  向下  |  AWS 端收到來自 CGW 對等的通知，指出 BGP 工作階段已終止。 | 
|  AWS 端對等已將通知 6/3 （未設定事件/對等） 傳送至相鄰 {ip： xxx}  |  向下  |  AWS 端向 CGW 對等傳送通知，指出對等未設定或已從組態中移除。 | 
|  AWS 端對等收到來自相鄰 {ip： xxx} 的通知 6/3 （事件/對等未設定）  |  向下  |  AWS 端收到來自 CGW 對等的通知，指出對等未設定或已從組態中移除。 | 
|  AWS 端對等已將通知 6/4 （事件/管理重設） 傳送至相鄰 {ip： xxx}  |  向下  |  AWS 端傳送通知給 CGW BGP 對等，以指出 BGP 工作階段已重設。 | 
|  AWS 端對等收到來自相鄰 {ip： xxx} 的通知 6/4 （事件/管理重設）  |  向下  |  AWS 端收到來自 CGW 對等的通知，指出 BGP 工作階段已重設。 | 
|  AWS 端對等已將通知 6/5 （事件/連線遭拒） 傳送至相鄰 {ip： xxx}  |  向下  |  AWS 端向 CGW BGP 對等傳送通知，指出 BGP 工作階段遭拒。 | 
|  AWS 端對等收到來自相鄰 {ip： xxx} 的通知 6/5 （拒絕事件/連線）  |  向下  |  AWS 端收到來自 CGW 對等的通知，指出 BGP 工作階段遭到拒絕。 | 
|  AWS 端對等已將通知 6/6 （事件/其他組態變更） 傳送至相鄰 {ip： xxx}  |  向下  |  AWS 端向 CGW BGP 對等傳送通知，指出 BGP 工作階段組態變更已發生。 | 
|  AWS 端對等接收來自相鄰 {ip： xxx} 的通知 6/6 （事件/其他組態變更）  |  向下  |  AWS 端收到來自 CGW 對等的通知，指出 BGP 工作階段組態變更已發生。 | 
|  AWS 端對等傳送通知 6/7 （事件/連線碰撞解決方案） 給相鄰 {ip： xxx}  |  向下  |  當兩個對等嘗試同時建立連線時，AWS 端會傳送通知給 CGW 對等，以解決連線衝突。 | 
|  AWS 端對等收到來自相鄰 {ip： xxx} 的 6/7 通知 （事件/連線碰撞解決方案）  |  向下  |  AWS 端收到來自 CGW 對等的通知，指出當兩個對等嘗試同時建立連線時，連線碰撞的解析度。 | 
|  AWS 端對等已將保留計時器過期通知傳送給相鄰 {ip： xxx}  |  向下  |  BGP 保留計時器已過期，且 AWS 端已傳送通知至 CGW。 | 
|  AWS 端對等偵測到鄰 {ip： xxx}- 遠端 AS 為 {asn： xxx}，預期為 {asn： xxx} 的 OPEN 訊息  |  向下  |  AWS 端偵測到從 CGW 對等收到錯誤的 OPEN 訊息，這表示組態不相符。 | 
|  AWS 端對等收到來自相鄰 {ip： xxx}- 第 4 版 AS {asn： xxx}、保留時間 {holdtime （秒）： xxx}、路由器 ID {id： xxx}} 的 OPEN 訊息  |  向下  |  AWS 端收到 BGP 開啟訊息，以使用 CGW 對等啟動 BGP 工作階段。 | 
|  AWS 端對等傳送 OPEN 訊息給相鄰 {ip： xxx}- 第 4 版，AS {asn： xxx}，保留時間 {holdtime （秒）： xxx}，路由器 ID {id： xxx}  |  向下  |  CGW 對等傳送 BGP 開啟訊息，以使用 AWS 端 BGP 對等啟動 BGP 工作階段。 | 
|  AWS 端對等正在啟動與相鄰 {ip： xxx} 的連線 （透過 Connect)  |  向下  |  AWS 端正在嘗試與 CGW BGP 相鄰連線。 | 
|  AWS 端對等傳送 End-of-RIB訊息給相鄰 {ip： xxx}  |  UP  |  在建立 BGP 工作階段後，AWS 端已完成將路由傳輸到 CGW。 | 
|  AWS 端對等收到更新，其中包含來自相鄰 {ip： xxx}- AS 路徑： {aspath （清單）： xxx xxx xxx} 的屬性  |  UP  |  AWS 端收到來自鄰近的 BGP 工作階段屬性更新。 | 

### 路由狀態訊息
<a name="sample-route-status-messages"></a>

 與 BGP 狀態訊息不同，路由狀態訊息包含指定字首的 BGP 屬性相關資料，例如 AS 路徑、本機偏好設定、多出口辨別器 (MED)、下一個躍點 IP 地址和權重。只有在路由錯誤為 ADVERTISED、UPPDATED 或 WITHDRAWN 時，路由狀態訊息才會包含詳細資訊欄位。範例如下 


| 訊息 | 說明 | 
| --- | --- | 
|  拒絕原因：as-path 包含我們自己的 AS  |  AWS 拒絕來自 CGW 新字首的 BGP 更新訊息，因為路由包含 AWS 端對等自有 AS。 | 
|  拒絕原因：未連線的下一躍點  |  由於未連線的下一躍點驗證失敗，AWS 拒絕來自 CGW 字首的 BGP 路由公告。確保可在 CGW 端連接路由。 | 

## 通道 BGP 日誌的範例日誌格式
<a name="example-bgp-logs"></a>

```
{
    "resource_id": "vpn-1234abcd_1.2.3.4",
    "event_timestamp": 1762580429641,
    "timestamp": "2025-11-08 05:40:29.641Z",
    "type": "BGPStatus",
    "status": "UP",
    "message": {
        "details": "AWS-side peer BGP session state has changed from OpenConfirm to Established with neighbor 169.254.50.85"
    }
}

{
    "resource_id": "vpn-1234abcd_1.2.3.4",
    "event_timestamp": 1762579573243,
    "timestamp": "2025-11-08 05:26:13.243Z",
    "type": "RouteStatus",
    "status": "UPDATED",
    "message": {
        "prefix": "172.31.0.0/16",
        "asPath": "64512",
        "localPref": 100,
        "med": 100,
        "nextHopIp": "169.254.50.85",
        "weight": 32768,
        "details": "DENIED due to: as-path contains our own AS"
    }
}
```

## 發佈到 CloudWatch 日誌的 IAM 要求
<a name="publish-cw-logs"></a>



若要讓記錄功能正常運作，用於設定功能、連接至 IAM 主體的 IAM 政策必須至少包含下列許可。如需更多詳細資訊，請參閱《*Amazon CloudWatch Logs 使用者指南*》中的[從特定 AWS 服務啟用記錄](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html)一節。

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "logs:CreateLogDelivery",
        "logs:GetLogDelivery",
        "logs:UpdateLogDelivery",
        "logs:DeleteLogDelivery",
        "logs:ListLogDeliveries"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow",
      "Sid": "S2SVPNLogging"
    },
    {
      "Sid": "S2SVPNLoggingCWL",
      "Action": [
        "logs:PutResourcePolicy",
        "logs:DescribeResourcePolicies",
        "logs:DescribeLogGroups"
      ],
      "Resource": [
        "*"
      ],
      "Effect": "Allow"
    }
  ]
}
```

------