Bật nhật ký hoạt động của tunnel cho một VPN Site-to-Site là một thay đổi nhỏ nhưng có thể làm sập chính tunnel mà nó đang đo. AWS cảnh báo rằng việc bật ghi nhật ký trên một tunnel hiện có có thể làm gián đoạn tunnel vài phút, nên câu hỏi đáng quan tâm không phải là làm sao lật cờ mà là lật trên tunnel nào và khi nào. Ba điều kiện quyết định thứ tự: tunnel còn lại có thực sự mang các tuyến đường hay không, bạn cần sự kiện dịch vụ hay sự kiện BGP, và thay đổi đi qua bảng điều khiển hay qua API tùy chọn tunnel. Làm sai những điều này và bạn sẽ kết thúc với một lần gián đoạn hoặc một nhóm nhật ký đầy hư không.

Ba điều kiện quyết định thứ tự

Hãy bắt đầu từ danh tính của thứ bạn đang thay đổi. Bạn cần ID kết nối VPN, Region và địa chỉ IP bên ngoài của tunnel cụ thể, vì mọi thiết lập nhật ký trong tính năng này là theo tunnel chứ không theo kết nối. Một thay đổi áp lên địa chỉ bên ngoài sai là thay đổi trên một tunnel mà không ai đang gỡ lỗi.

Đích là một nhóm nhật ký CloudWatch trong cùng Region, với chính sách lưu giữ và truy cập mà bạn thực sự muốn. AWS khuyến nghị tiền tố /aws/vendedlogs/ cho các nhóm này vì nó tránh các giới hạn kích thước chính sách tài nguyên mà những cái tên đơn giản có thể gặp phải. Một cái tên như /aws/vendedlogs/vpn/branch-a-activity chỉ là ví dụ; điều quan trọng là nhóm tồn tại, vai trò phân phối có thể ghi vào đó, và cả hai đều do người sở hữu cấu hình VPN quản lý. Cái tên không cấp quyền, và một nhóm được tạo mà không có chính sách phân phối sẽ tạo ra sự im lặng thay vì lỗi.

Điều kiện một: một tunnel dự phòng thực sự mang lưu lượng

Đây là điều kiện mà các đội thường bỏ qua. Hai tunnel được cấu hình không phải là bằng chứng rằng ứng dụng có một đường thay thế dùng được.

Trước khi chạm vào một tunnel, hãy xác nhận tunnel còn lại mang các tuyến đường quan trọng: kiểm tra bảng định tuyến ở phía cổng khách hàng và xác nhận rằng ứng dụng thực sự có thể chuyển đổi dự phòng. Cửa sổ gián đoạn của AWS tính bằng phút, không phải giây, và một tunnel chỉ tồn tại trên giấy sẽ biến một thay đổi chẩn đoán thành sự cố. Nếu đường dự phòng chưa được chứng minh, hãy lên lịch thay đổi với sự cẩn trọng như bất kỳ thay đổi định tuyến nào khác thay vì coi việc ghi nhật ký là thụ động. Hãy đo chính tunnel mà bạn đang cố giải thích hành vi, không phải tunnel dễ tiếp cận hơn.

Điều kiện hai: nhật ký hoạt động hay nhật ký BGP

Điều này quyết định bạn thực sự đọc được gì. Bản ghi hoạt động bao gồm các sự kiện dịch vụ như chuyển trạng thái IKE và IPsec cùng các thông điệp DPD, đó là thứ bạn muốn khi tunnel không lên hoặc liên tục làm mới khóa. Bản ghi BGP là một luồng riêng với các điều khiển riêng, và chúng trả lời một câu hỏi khác: các tuyến đường có được trao đổi và rút lại đúng như mong đợi hay không.

Bật cờ hoạt động không phải là yêu cầu cho mọi luồng mà dịch vụ có thể phát ra. Nếu nghi ngờ là định tuyến, hãy bật cả hai; nếu nghi ngờ là đàm phán pha 1 hoặc pha 2, luồng hoạt động là thứ sẽ cho thấy điều đó.

Không luồng nào là bắt gói, và sự khác biệt đó giải quyết nhiều phiếu hơn mức cần thiết. Bản ghi hoạt động và BGP cho bạn biết dịch vụ đã làm gì với tunnel và phiên, không phải ứng dụng của bạn đã gửi gì qua đó. Với tay lấy nhật ký tunnel để gỡ lỗi một lần chờ của ứng dụng là lỗi phân loại, và nó thường tốn một cửa sổ gián đoạn trước khi ai đó nhận ra. Hãy chọn câu hỏi trước, rồi chọn luồng có thể trả lời nó.

Điều kiện ba: thay đổi qua bảng điều khiển hay API tùy chọn tunnel

Nếu một người thực hiện thay đổi một lần, đường qua bảng điều khiển là ổn: VPC console, Site-to-Site VPN connections, chọn kết nối, Actions, Modify VPN tunnel options, chọn IP bên ngoài, bật Tunnel activity log, chọn nhóm và định dạng đầu ra, lưu trong cửa sổ. Nếu VPN được quản lý như mã, cùng một cú nhấp đó là độ lệch mà bạn sẽ đối soát sau.

Đối với tự động hóa, phần nhật ký hoạt động của tùy chọn tunnel có hình dạng cố định: LogOptions chứa CloudWatchLogOptions cùng với LogEnabled, LogGroupArn và LogOutputFormat. Khối đó là một mảnh, không phải một yêu cầu; modify-vpn-tunnel-options vẫn cần ID kết nối và IP bên ngoài của tunnel, và các thiết lập tunnel còn lại phải do người sở hữu mẫu giữ gìn. Ghi nhật ký BGP dùng các khóa riêng BgpLogEnabled, BgpLogGroupArn và BgpLogOutputFormat trong cùng cấu trúc. Hãy đọc lại thay đổi bằng describe-vpn-connections thay vì tin rằng lệnh gọi đã được áp dụng.

Bản ghi có thể và không thể cho bạn biết điều gì

Khi tunnel đầu tiên xong và đường dự kiến sẵn sàng, hãy lặp lại đúng trình tự có kiểm soát đó cho tunnel thứ hai nếu bạn cũng cần nhật ký của nó. Mỗi lần một tunnel chính là toàn bộ ý nghĩa.

Bản ghi đến trong các luồng được nhận diện bằng kết nối và địa chỉ bên ngoài của tunnel, nên hãy tương quan với danh tính đó thay vì chờ lịch sử xuất hiện ngược thời gian. Không có gì trước thay đổi tồn tại, và không mức chờ nào lấp được khoảng trống đó. Nếu bạn cần một đường cơ sở, hãy ghi lại trạng thái tunnel và bảng định tuyến hiện tại trước thay đổi để có thứ mà so sánh.

Giữ nhóm nhật ký, thời hạn lưu giữ, quyền phân phối và khối tùy chọn tunnel trong cùng một bản kiểm kê với chính VPN, vì chúng là một cấu hình trải trên bốn nơi. Quy trình bật nhật ký của AWS ghi lại quy trình làm việc theo từng tunnel và cảnh báo gián đoạn của nó, và nên đọc trước thay đổi chứ không phải sau. Sau đó xác minh theo thứ tự: tunnel đã trở lại, bản ghi đang xuất hiện trong luồng mong đợi, và bản ghi trả lời câu hỏi mà bạn đã mở phiếu. Nếu điều thứ ba thất bại, vấn đề là việc chọn luồng chứ không phải ghi nhật ký.

Bài viết liên quan