Địa chỉ IP tĩnh cho lưu lượng đi từ nhóm tự động AWS


27

Tôi sẽ có một số phiên bản EC2 trong nhóm tự động cân bằng đàn hồi trong mạng con mặc định trong VPC. Ứng dụng trên các phiên bản EC2 này cần kết nối với dịch vụ bên thứ ba sử dụng danh sách trắng địa chỉ IP để cho phép truy cập. Vì vậy, tôi cần một hoặc nhiều địa chỉ IP tĩnh mà tôi có thể cung cấp cho nhà cung cấp dịch vụ này để có thể thêm chúng vào danh sách trắng. Tôi hiểu rằng cách duy nhất để có được IP tĩnh là lấy địa chỉ IP đàn hồi. Và tôi chỉ có thể liên kết IP đàn hồi với một phiên bản EC2 tại một thời điểm - tôi không thể liên kết nó với toàn bộ mạng con hoặc cổng internet của mình (điều này có đúng không?). Vì vậy, tôi có cần một IP đàn hồi cho mỗi phiên bản EC2 không, vì vậy mỗi trường hợp có thể được liệt kê riêng trong danh sách trắng? Làm thế nào nó sẽ hoạt động nếu autoscaling thêm một trường hợp khác? Tôi có nên có một phiên bản EC2 với IP đàn hồi không và định tuyến tất cả lưu lượng đi qua ví dụ đó? Nếu vậy, trường hợp đó có phải chỉ dành cho mục đích này hay nó có thể là một trong những trường hợp chạy ứng dụng của tôi không?

Câu trả lời:


19

Bạn cần một NAT. Cấu hình này thường được sử dụng để hỗ trợ các mạng con riêng trong VPC, có một hướng dẫn khá chi tiết ở đây . Khi VPC của bạn được cấu hình để sử dụng phiên bản NAT, tất cả lưu lượng truy cập đi sẽ được quy cho EIP của phiên bản NAT.

Nếu vậy, trường hợp đó có phải chỉ dành cho mục đích này hay nó có thể là một trong những trường hợp chạy ứng dụng của tôi không?

Về mặt kỹ thuật bạn có thể có thể, nhưng đó không phải là một ý tưởng tốt:

  • Đó là bảo mật tốt để có vai trò bị cô lập.
  • Bạn muốn các máy chủ ứng dụng của bạn có cấu hình tải tương tự hoặc giống hệt nhau. Nếu một phiên bản có tải thêm 10% vì NAT thì bạn sẽ phải mở rộng sớm khi bạn đạt đến giới hạn của trường hợp đó. Điều này sẽ trở nên tồi tệ hơn khi NAT trở nên bận rộn hơn khi nhiều trường hợp được thêm vào cụm của bạn.
  • Bạn muốn các máy chủ ứng dụng của mình giống hệt nhau và phù du để bạn có thể xé chúng và / hoặc thay thế chúng bất cứ khi nào có vấn đề hoặc bạn cần mở rộng quy mô. Có một máy chủ ứng dụng khác với phần còn lại sẽ là một vấn đề đau đầu.

Bạn thể có thể thoát khỏi nó nếu các thể hiện của bạn được chứa nhưng nó vẫn không phải là một ý tưởng tuyệt vời.

Ngoài ra, hãy nhớ rằng trường hợp NAT của bạn có thể là một điểm thất bại duy nhất, vì vậy bạn có thể muốn nghĩ về sự dư thừa.


Việc sử dụng NAT sẽ tăng thời gian phản hồi của yêu cầu tại đó có thêm giao diện b / w máy khách và máy chủ không?
r.bhardwaj

1
Tôi đã sử dụng cổng NAT để đạt được mục đích ( docs.aws.amazon.com/elasticbeanstalk/latest/dg/vpc-rds.html ) nhưng khi tôi thực hiện nslookup cho máy chủ của mình thì nó sẽ trả về địa chỉ IP công khai khác nhau của NAT cổng
r.bhardwaj

12

Tôi hiểu đây là một chủ đề cũ - đối với một người có trường hợp sử dụng tương tự bây giờ, AWS nat-gateway sẽ là một giải pháp tốt hơn.


4

Tôi không có đủ danh tiếng để bình luận về các câu trả lời trên, nhưng tôi muốn thêm một số thông tin bạn sẽ cần biết nếu sử dụng cổng NAT để đạt được điều này. Khi bạn tạo một cổng NAT, bạn chọn một mạng con và địa chỉ IP đàn hồi.

Lúc đầu, tôi chỉ thêm cổng NAT vào cùng mạng con mà bộ cân bằng tải đàn hồi và các phiên bản EC2 của tôi được bật. Sau đó, bạn phải thêm cổng NAT vào bảng tuyến đường của mình. Tôi đã thêm cổng NAT làm mục tiêu cho IP của máy chủ cơ sở dữ liệu bên ngoài mà tôi đang cố gắng liên hệ. Điều này dẫn đến các ứng dụng được lưu trữ trong thời gian đậu cây đàn hồi của tôi hết thời gian. Điều này là do họ đã cố gắng kết nối với cơ sở dữ liệu bên ngoài đó thông qua NAT. Họ đã tiếp cận NAT, và sau đó NAT cố gắng liên lạc với máy chủ của tôi qua internet và tìm kiếm nó trong bảng lộ trình cho mạng con mà nó đang bật, nó đang quay lại chính nó, tạo ra một vòng lặp.

Giải pháp là, trước khi bạn tạo cổng NAT, hãy tạo một mạng con mới chỉ dành cho NAT để NAT có mạng con và bảng tuyến riêng. Trong bảng lộ trình của NAT, trỏ tất cả lưu lượng truy cập vào cổng internet. Trong bảng lộ trình chính của bạn, trỏ IP bên ngoài của bạn đến NAT. Sau đó, khi các phiên bản EC2 của bạn cố gắng kết nối với IP bên ngoài của bạn, họ sẽ tìm kiếm chúng trong bảng tuyến đường chính (hoặc bất kỳ bảng tuyến đường nào bạn đã xác định cho các mạng con mà các phiên bản của bạn đang ở) và tìm NAT. Sau đó, NAT của bạn sẽ tra cứu IP đó trong bảng lộ trình của riêng nó và tìm internet.


Tôi rất thích xem một số ảnh chụp màn hình có thể. Tôi nghĩ đây là vấn đề của tôi nhưng chỉ có thể
mò mẫm

Tôi nghĩ rằng tôi đã thiết lập nó như thế này nhưng khi tôi cố gắng ssh vào IP công khai của cá thể tôi thì nó hết thời gian. Ví dụ có cần hai thiết bị mạng để có thể đi qua NAT và cũng nhận được các kết nối đến từ một IP công cộng không?
justin.m.chase

Bạn phải thêm một giao diện mạng thứ hai vào một thể hiện và nó vào mạng con bên ngoài, sau đó gán một ip đàn hồi cho giao diện mạng đó. Sau đó, bạn có thể kết nối với nó thông qua IP đó nhưng tất cả lưu lượng truy cập khác sẽ đi qua nat theo mặc định.
justin.m.chase
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.