AWS Client VPN hay VPN trên EC2: sổ tay vận hành
Năm bước để chọn giữa AWS Client VPN và VPN tự lưu trữ trên EC2, kèm kiểm tra bằng CLI, phân chia trách nhiệm, chuyển đổi và khôi phục.
Cả hai lựa chọn đều cho nhóm của bạn một VPN truy cập từ xa, nên câu hỏi đáng quan tâm không phải là cái nào tồn tại mà là cái nào bạn có thể vận hành. Khác biệt nằm ở chỗ ai sở hữu điểm cuối lúc 3 giờ sáng và bạn chạm được tới những điều khiển nào khi có sự cố. Hãy làm theo năm bước dưới đây theo thứ tự, vì mỗi bước đều có thể kết thúc việc so sánh sớm. Bỏ qua bước kiểm kê chính là cách các nhóm phải di chuyển hai lần.
Bước 1: viết yêu cầu trước hóa đơn
Bạn cần năm dữ kiện trên một trang: ai xác thực và dựa vào đâu, những nền tảng khách nào phải chạy được, những đích riêng nào truy cập được, bạn đã hứa mức sẵn sàng nào và lưu lượng thực tế trông ra sao. Không có những điều đó, mọi so sánh về sau biến thành tranh luận về danh sách tính năng.
Hãy cụ thể về đích đến. «Truy cập VPC» thường mang ba nghĩa khác nhau: CIDR của VPC, một mạng được peer và một dải nội bộ phía sau Transit Gateway. Một điểm cuối được quản lý chạm tới cả ba, nhưng mỗi cái cần một tuyến và một quy tắc ủy quyền, và mỗi cái là một dòng riêng trong yêu cầu của bạn.
Bước 2: liệt kê những gì đang chạy
Trước khi thiết kế bất cứ thứ gì, hãy liệt kê các điểm cuối hiện có và mọi máy chủ được lưu trữ trên EC2 cùng các nhóm bảo mật của nó. Những lệnh gọi này chỉ để đọc và an toàn khi chạy từ một tài khoản có quyền describe.
aws ec2 describe-client-vpn-endpoints
aws ec2 describe-client-vpn-authorization-rules --client-vpn-endpoint-id cvpn-endpoint-xxxx
aws ec2 describe-client-vpn-routes --client-vpn-endpoint-id cvpn-endpoint-xxxx
aws ec2 describe-client-vpn-connections --client-vpn-endpoint-id cvpn-endpoint-xxxx
aws ec2 describe-instances --filters Name=tag:role,Values=vpnĐọc kết quả như một bản đồ những gì khách đã chạm tới. Một quy tắc ủy quyền thiếu giải thích lỗi trông như vấn đề định tuyến, và một điểm cuối gắn với một subnet duy nhất giải thích vì sao lỗi vùng làm sập toàn bộ dịch vụ.
Cũng ghi lại các nhóm bảo mật gắn với bất kỳ phiên bản tự lưu trữ nào. Những quy tắc đó là một phần của mô hình truy cập, và chúng là thứ đầu tiên âm thầm hỏng khi ai đó dựng lại phiên bản từ mẫu.
Bước 3: phân chia trách nhiệm
Dịch vụ được quản lý sở hữu cụm điểm cuối, việc vá lỗi và mức sẵn sàng trong khu vực. Bạn sở hữu việc đăng ký danh tính, quy tắc ủy quyền, các đường mạng phía sau điểm cuối, cấu hình ghi log và quyết định gắn bao nhiêu subnet.
Tự lưu trữ đảo ngược điều đó. Bạn sở hữu hệ điều hành khách, daemon VPN và cấu hình của nó, chứng chỉ và khóa, bản sao lưu, giám sát và khôi phục. Mô hình bảo mật của EC2 đặt bảo mật khách và ứng dụng lên khách hàng, và máy chủ VPN cũng là khách như mọi khách khác.
Viết phần phân chia thành bảng với tên ở cột phải. Nếu không có tên ai bên cạnh việc gia hạn chứng chỉ, đó chính là phát hiện, và nó nặng hơn chênh lệch chi phí theo giờ.
Bước 4: so sánh với khối lượng công việc bạn mô tả được
Chi phí đi theo hình dạng, không theo kích thước. Với lựa chọn được quản lý, hãy đếm giờ gắn điểm cuối, giờ kết nối của khách, lưu lượng truyền và các dịch vụ danh tính cùng ghi log mà bạn bật. Với tự lưu trữ, hãy đếm tính toán, lưu trữ, mạng, giấy phép và thời gian kỹ sư để giữ máy chủ được vá. Đặt cả hai bộ số vào một bảng tính với cùng chân trời thời gian. Một so sánh ba năm bỏ qua giờ vá sẽ luôn nghiêng về máy chủ bạn đã có.
So sánh hiệu năng cũng cần kỷ luật như vậy. Một phiên máy tính tương tác, một lần truyền lớn và năm mươi yêu cầu nhỏ đồng thời gây áp lực lên những phần khác nhau của đường đi: CPU cho mã hóa, khả năng mạng của phiên bản, ngăn xếp của chính khách và đích đến. Hãy thử với khách đại diện và cùng một tác vụ trên cả hai thiết kế.
Một phiên bản lớn hơn không phải bằng chứng là truyền sẽ nhanh hơn, và một phiên thành công không phải kế hoạch dung lượng. Hãy coi mọi lời truyền miệng thừa hưởng về các họ phiên bản là giả thuyết cần kiểm chứng, không phải quy tắc mua.
Bước 5: chuyển đổi với một lần khôi phục bạn đã chạy thử
Chạy cả hai điểm cuối song song trong một khoảng thời gian xác định, phát hồ sơ khách mới cho một nhóm nhỏ trước, và không chạm vào quy tắc ủy quyền của điểm cuối cũ cho tới khi nhóm đó dùng bản mới trong công việc thật. Khôi phục là đổi hồ sơ, không phải dựng lại, nên hãy quyết định ngay hồ sơ cũ sống ở đâu.
Kiểm tra theo thứ tự này: xác thực thành công, khách nhận được các tuyến mong đợi, một đích được ủy quyền trả lời và một đích không được ủy quyền thất bại, và log hiển thị cả hai sự kiện. Nếu bất kỳ bước nào thất bại, hãy dừng lại và sửa bước đó thay vì chuyển sang nhóm khách tiếp theo. Ghi lại kết quả của từng lần kiểm tra, vì một lần chuyển đổi chỉ được nhớ là «nó chạy được» thì không thể gỡ lỗi sau một tháng.
Sau khi chuyển đổi, hãy lên lịch những kiểm tra nhàm chán: hết hạn chứng chỉ, số lượng gắn kết, các quy tắc ủy quyền không còn khớp với nhóm nào và số kết nối so với kỳ vọng của bạn. Hướng dẫn quản trị Client VPN là tài liệu tham chiếu cho các phần điểm cuối, xác thực và định tuyến mà bạn đã cấu hình.