Tại sao chúng ta cần mạng con riêng tư trong VPC?


127

4 kịch bản trong cấu hình AWS VPC. Nhưng hãy nhìn vào hai điều này:

  • Kịch bản 1: 1 mạng con công cộng.
  • Kịch bản 2: 1 mạng con công cộng và 1 mạng con riêng tư.

Vì bất kỳ trường hợp nào được khởi chạy trong mạng con công cộng không có EIP (trừ khi được chỉ định), nó đã không thể truy cập được từ Internet. Sau đó:

  • Tại sao cần có mạng con riêng?
  • Chính xác thì sự khác biệt giữa các mạng con riêng và công cộng là gì?

4
Mạng con riêng tư, ngay cả sau khi gán IP công cộng cho các máy bên trong, vẫn không thể truy cập được từ internet công cộng. Tôi tạo các thiết lập VPC ví dụ với một máy chủ web trong mạng con công cộng và phụ trợ cơ sở dữ liệu của tôi trong mạng con riêng tư. Tôi có thể kết nối với cổng khách hàng để truy cập các máy trên cả mạng con riêng tư và công cộng.
dùng602525

Câu trả lời:


239

Cập nhật: vào cuối tháng 12 năm 2015, AWS đã công bố một tính năng mới, Cổng NAT được quản lý cho VPC . Dịch vụ tùy chọn này cung cấp một cơ chế thay thế cho các phiên bản VPC trong mạng con riêng để truy cập Internet, trong đó trước đây, giải pháp phổ biến là một phiên bản EC2 trên mạng con công cộng trong VPC, hoạt động như một "phiên bản NAT", cung cấp dịch địa chỉ mạng ( về mặt kỹ thuật, dịch địa chỉ cổng ) cho các trường hợp trong các mạng con riêng khác, cho phép các máy đó sử dụng địa chỉ IP công cộng của cá thể NAT để truy cập Internet bên ngoài của chúng.

Dịch vụ NAT được quản lý mới về cơ bản không thay đổi khả năng áp dụng các thông tin sau, nhưng tùy chọn này không được đề cập trong nội dung tiếp theo. Một phiên bản NAT vẫn có thể được sử dụng như mô tả hoặc thay vào đó, dịch vụ Cổng NAT được quản lý có thể được cung cấp. Một phiên bản mở rộng của câu trả lời này tích hợp thêm thông tin về NAT Gateway và cách so sánh với phiên bản NAT sẽ được đưa ra, vì cả hai đều có liên quan đến mô hình mạng con riêng tư / công khai trong VPC.

Lưu ý rằng Internet GatewayNAT Gateway là hai tính năng khác nhau. Tất cả các cấu hình VPC có truy cập Internet sẽ có một đối tượng ảo Cổng Internet.


Để hiểu sự khác biệt giữa các mạng con "riêng tư" và "công khai" trong Amazon VPC, đòi hỏi phải hiểu cách thức hoạt động của định tuyến IP và dịch địa chỉ mạng (NAT) nói chung và cách chúng được triển khai cụ thể trong VPC.

Sự khác biệt cốt lõi giữa mạng con công cộng và riêng tư trong VPC được xác định bởi tuyến đường mặc định của mạng con đó là gì, trong các bảng định tuyến VPC.

Đến lượt mình, cấu hình này chỉ ra tính hợp lệ của việc sử dụng hoặc không sử dụng các địa chỉ IP công cộng trên các trường hợp trên mạng con cụ thể đó.

Mỗi mạng con có chính xác một tuyến mặc định, có thể chỉ là một trong hai điều sau:

  • đối tượng "Cổng Internet" của VPC, trong trường hợp mạng con "công khai" hoặc
  • một thiết bị NAT - nghĩa là NAT Gateway hoặc EC2, thực hiện vai trò "thể hiện NAT", trong trường hợp mạng con "riêng tư".

Internet Gateway không làm bất kỳ dịch địa chỉ mạng cho các trường hợp không có địa chỉ IP công cộng để một thể hiện mà không có một địa chỉ IP công cộng không thể kết nối ra bên ngoài Internet - để làm những việc như tải bản cập nhật phần mềm, hoặc truy cập vào các nguồn lực AWS khác như S3 1 và SQS - nếu tuyến mặc định trên mạng con VPC của nó là đối tượng Cổng Internet. Vì vậy, nếu bạn là một ví dụ trên mạng con "công khai", thì bạn cần một địa chỉ IP công cộng để thực hiện một số lượng đáng kể những việc mà máy chủ thường cần phải làm.

Đối với các trường hợp chỉ có một địa chỉ IP riêng, có một cách khác để truy cập Internet. Đây là nơi Dịch địa chỉ mạng² và một phiên bản NAT xuất hiện.

Các máy trên mạng con riêng tư có thể truy cập Internet vì tuyến mặc định trên mạng con riêng không phải là đối tượng "Cổng Internet" VPC - đó là phiên bản EC2 được định cấu hình như một thể hiện NAT.

Một thể hiện NAT là một thể hiện trên mạng con công cộng có IP công khai và cấu hình cụ thể. Có những AMI được xây dựng sẵn để làm điều này hoặc bạn có thể tự xây dựng.

Khi các máy có địa chỉ riêng gửi lưu lượng ra bên ngoài, lưu lượng được gửi, bởi VPC, đến phiên bản NAT, thay thế địa chỉ IP nguồn trên gói (địa chỉ IP riêng của máy riêng) bằng địa chỉ IP công cộng của chính nó, sẽ gửi lưu lượng ra Internet, chấp nhận các gói phản hồi và chuyển chúng trở lại địa chỉ riêng của máy gốc. (Nó cũng có thể viết lại cổng nguồn và trong mọi trường hợp, nó sẽ nhớ các ánh xạ để nó biết máy bên trong nào sẽ nhận được các gói phản hồi). Một cá thể NAT không cho phép bất kỳ lưu lượng truy cập "không mong muốn" nào đến được các cá thể riêng tư, trừ khi nó được cấu hình cụ thể để làm như vậy.

Do đó, khi truy cập tài nguyên Internet bên ngoài từ một mạng con riêng tư, lưu lượng truy cập qua thể hiện NAT và xuất hiện đích đến có nguồn gốc từ địa chỉ IP công cộng của cá thể NAT ... vì vậy lưu lượng phản hồi trở lại đối tượng NAT. Cả nhóm bảo mật được gán cho thể hiện NAT cũng như nhóm bảo mật được gán cho thể hiện riêng tư cần phải được cấu hình để "cho phép" lưu lượng phản hồi này, bởi vì các nhóm bảo mật có trạng thái. Họ nhận ra lưu lượng phản hồi tương quan với các phiên có nguồn gốc nội bộ, do đó, nó được tự động cho phép. Lưu lượng truy cập bất ngờ, tất nhiên, bị từ chối trừ khi nhóm bảo mật được cấu hình để cho phép nó.

Không giống như định tuyến IP thông thường, nơi cổng mặc định của bạn nằm trên cùng một mạng con, cách thức hoạt động trong VPC là khác nhau: phiên bản NAT cho bất kỳ mạng con riêng tư nào luôn nằm trên một mạng con khác và mạng con khác luôn là mạng con công cộng, bởi vì cá thể NAT cần phải có IP bên ngoài công cộng và cổng mặc định của nó phải là đối tượng "Cổng Internet" VPC.

Tương tự ... bạn không thể triển khai một thể hiện với IP công khai trên mạng con riêng tư. Nó không hoạt động, bởi vì tuyến mặc định trên mạng con riêng là (theo định nghĩa) là một thể hiện NAT (thực hiện NAT trên lưu lượng) chứ không phải đối tượng Cổng Internet (không có). Lưu lượng truy cập từ Internet sẽ đánh vào IP công cộng của cá thể, nhưng các phản hồi sẽ cố gắng chuyển hướng ra ngoài thông qua NAT, điều này sẽ làm giảm lưu lượng truy cập (vì nó sẽ bao gồm các phản hồi cho các kết nối mà nó không biết, vì vậy chúng 'được coi là không hợp lệ) hoặc sẽ viết lại lưu lượng trả lời để sử dụng địa chỉ IP công cộng của chính nó, điều này sẽ không hoạt động vì nguồn gốc bên ngoài sẽ không chấp nhận trả lời đến từ một địa chỉ IP khác với địa chỉ mà họ đang cố gắng bắt đầu liên lạc với .

Về bản chất, sau đó, các chỉ định "riêng tư" và "công khai" không thực sự về khả năng truy cập hoặc không thể truy cập từ Internet. Chúng là về các loại địa chỉ sẽ được gán cho các thể hiện trên mạng con đó, có liên quan vì cần phải dịch - hoặc tránh dịch - những địa chỉ IP đó cho các tương tác Internet.

Do VPC có các tuyến ngầm định từ tất cả các mạng con VPC đến tất cả các mạng con VPC khác, nên tuyến mặc định không đóng vai trò trong lưu lượng VPC nội bộ. Các thực thể có địa chỉ IP riêng sẽ kết nối với các địa chỉ IP riêng khác trong VPC "từ" địa chỉ IP riêng của họ, chứ không phải "từ" địa chỉ IP công cộng của họ (nếu họ có) ... miễn là địa chỉ đích là một địa chỉ riêng khác trong VPC.

Nếu các trường hợp của bạn có địa chỉ IP riêng không bao giờ, trong mọi trường hợp, cần phải tạo ra lưu lượng truy cập Internet bên ngoài, thì về mặt kỹ thuật, chúng có thể được triển khai trên mạng con "công khai" và vẫn không thể truy cập được từ Internet ... nhưng trong cấu hình như vậy, họ không thể bắt nguồn lưu lượng truy cập ra bên ngoài vào Internet, bao gồm các kết nối với các dịch vụ cơ sở hạ tầng AWS khác, như S3 1 hoặc SQS.


1. Về S3, cụ thể, để nói rằng truy cập Internet luôn được yêu cầu là sự đơn giản hóa có thể sẽ phát triển theo phạm vi theo thời gian và lan sang các dịch vụ AWS khác, vì khả năng của VPC tiếp tục phát triển và phát triển. Có một khái niệm tương đối mới gọi là Điểm cuối VPCcho phép các phiên bản của bạn, bao gồm cả các phiên bản chỉ có địa chỉ IP riêng, truy cập trực tiếp S3 từ các mạng con được chọn trong VPC mà không cần chạm vào "Internet" và không sử dụng phiên bản NAT hoặc cổng NAT, nhưng điều này yêu cầu cấu hình bổ sung và chỉ có thể sử dụng để truy cập các nhóm trong cùng khu vực AWS với VPC của bạn. Theo mặc định, S3 - là dịch vụ duy nhất thể hiện khả năng tạo điểm cuối VPC - chỉ có thể truy cập từ bên trong VPC thông qua Internet. Khi bạn tạo điểm cuối VPC, điều này sẽ tạo danh sách tiền tố (pl-xxxxxxxx) mà bạn có thể sử dụng trong các bảng lộ trình VPC của mình để gửi lưu lượng truy cập bị ràng buộc cho dịch vụ AWS cụ thể đó trực tiếp đến dịch vụ thông qua đối tượng "Điểm cuối VPC" ảo. Nó cũng giải quyết vấn đề hạn chế quyền truy cập ra nước ngoài đối với S3, vì danh sách tiền tố có thể được sử dụng trong các nhóm bảo mật bên ngoài, thay cho địa chỉ IP hoặc khối đích - và điểm cuối VPC S3 có thể phải chịu các tuyên bố chính sách bổ sung , hạn chế truy cập xô từ bên trong, như mong muốn.

2. Như đã lưu ý trong tài liệu, những gì thực sự được thảo luận ở đây là cổng cũng như dịch địa chỉ mạng. Mặc dù về mặt kỹ thuật, một chút không chính xác, để gọi hoạt động kết hợp là "NAT". Điều này hơi giống với cách mà nhiều người trong chúng ta có xu hướng nói "SSL" khi chúng ta thực sự có nghĩa là "TLS". Chúng tôi biết những gì chúng ta đang nói về, nhưng chúng tôi không sử dụng từ đúng nhất để mô tả nó. "Lưu ý Chúng tôi sử dụng thuật ngữ NAT trong tài liệu này để tuân theo thông lệ CNTT phổ biến, mặc dù vai trò thực tế của thiết bị NAT là cả dịch địa chỉ và dịch địa chỉ cổng (PAT)."


16
Trả lời chi tiết, nhưng tôi vẫn thắc mắc. Lợi thế của một máy chủ trên mạng con riêng với một thể hiện NAT và mạng con công khai của máy chủ với chính sách bảo mật nghiêm ngặt là gì?
abhillman

13
@abhillman nó không thực sự là một lợi thế. Đó là về cách thức hoạt động của mạng, trong VPC. Tất cả các phiên bản trên một mạng con nhất định phải sử dụng cùng một cổng mặc định, đó sẽ là đối tượng ảo "Cổng Internet", sẽ không làm NAT hoặc sẽ là một thể hiện NAT, sẽ không "không làm" NAT . Trừ khi tất cả các máy của bạn có IP công cộng hoặc không ai trong số chúng làm được, bạn sẽ muốn cả hai loại mạng con. Nếu tất cả mọi thứ là một máy chủ web đối mặt với Internet, chắc chắn, bạn có thể chỉ cần một mạng con công cộng và với cấu hình bảo mật chính xác, không có bất lợi nào.
Michael - sqlbot

1
Trên thực tế giờ đây có thể truy cập một số tài nguyên AWS, chẳng hạn như S3, từ bên trong VPC aws.amazon.com/bloss/aws/new-vpc-endpoint-for-amazon-s3 .
avloss

2
@avloss cảm ơn vì đã đưa sự chú ý của tôi trở lại điểm này và sự liên quan của nó với câu trả lời này. Đã gần hai năm không có nhiều chỉnh sửa và bạn đã đúng - mọi thứ vẫn đang phát triển. Tôi sẽ cập nhật điều này để đề cập đến các điểm cuối VPC.
Michael - sqlbot

4
@VirtualJasper bạn không nên muốn sử dụng tất cả công lập địa chỉ. Sử dụng địa chỉ IPv4 riêng nếu có thể là cách tốt nhất. Nó làm giảm bề mặt tấn công của bạn. Nó cho phép kiểm soát đầu ra tốt hơn. Không gian địa chỉ IPv4 đang khan hiếm và ngày càng trở nên như vậy, có một khía cạnh đạo đức để tiêu thụ nhiều tài nguyên này hơn bạn cần. Điều hợp lý hơn nữa là nếu bạn tiếp tục yêu cầu hỗ trợ AWS để tăng số lượng địa chỉ được phép của bạn, đôi khi họ sẽ bắt đầu đặt câu hỏi. VPC được thiết kế để hoạt động theo cách này. Bạn có thể buck hệ thống và sử dụng tất cả các IP công cộng? Đúng. Nó là một ý tưởng tốt? Số
Michael - sqlbot

27

Tôi muốn đề xuất một mạng con "riêng" khác và các trường hợp / cổng NAT. Họ không cần thiết. Nếu bạn không muốn máy có thể truy cập từ internet, đừng đặt máy vào nhóm bảo mật cho phép truy cập như vậy.

Bằng cách bỏ qua thể hiện / cổng NAT, bạn sẽ loại bỏ chi phí hoạt động của cá thể / cổng và bạn loại bỏ giới hạn tốc độ (có thể là 250mbit hoặc 10gbit).

Nếu bạn có một máy cũng không cần truy cập trực tiếp vào internet, (và tôi sẽ hỏi bạn đang vá nó như thế nào *), thì bằng mọi cách, đừng gán địa chỉ IP công cộng.

* Nếu câu trả lời ở đây là một loại proxy, thì, bạn đang phải chịu một chi phí, nhưng mỗi loại là của riêng mình.


5
Tôi không thể đồng ý nhiều hơn. Tôi càng làm việc với các câu hỏi, tôi càng ít sử dụng cho các mạng con riêng tư. Nó cảm thấy giống như một di tích từ cách các mạng tại chỗ được sử dụng để nhìn và sự tồn tại của chúng chủ yếu nằm ở sự quen thuộc. Tôi chắc chắn có những trường hợp cạnh mà chúng vẫn có thể hợp lệ nhưng nói chung, tôi nói không sử dụng chúng. Thực tế là câu trả lời hàng đầu (và rất dài) cho câu hỏi này không nhấn vào câu hỏi thực tế là một dấu hiệu cho thấy sự dư thừa của chúng.
Carl

1
Tôi hoàn toàn đồng ý với lý thuyết ở đây, nhưng trong thực tế, tôi thấy rằng AWS giới hạn bạn ở mức 20 EIP cho mỗi vùng theo mặc định và tôi nghi ngờ rằng họ sẽ sẵn sàng tăng giới hạn đó để cho phép hàng trăm địa chỉ IPv4 công khai. Họ là nguồn tài nguyên khan hiếm trên internet.
Nic

1
@Nic Bạn không cần EIP, hãy nhớ rằng, đây là về việc bỏ NAT - chúng tôi không quan tâm IP công cộng của bất kỳ máy vô danh nào là gì và chúng tôi không quan tâm nếu nó thay đổi.
Phil

1
Hôm nay, AWS đã phát hành IPv6 trên toàn cầu. Hãy để IPv4 chết. :-)
Phil

3
Việc bỏ các mạng con riêng vốn đã cho rằng sai lầm không bao giờ xảy ra. Với hàng tá trường hợp và hàng trăm quy tắc bảo mật lan tỏa giữa chúng và nhiều nhân viên tham gia bảo trì, khả năng ai đó vô tình mở một cổng ra thế giới, không thể bỏ qua. Một tư thế phòng thủ giới hạn truy cập công cộng theo thiết kế cho một số trường hợp cần nó, là một cách tiếp cận tốt hơn để bảo mật. Đối với những người không thể sai lầm, hãy đá. Đối với phần còn lại của chúng ta chỉ là phàm nhân, sai lầm ở khía cạnh thận trọng không phải là một ý tưởng khủng khiếp.
Jim Walker

23

Tôi không có tiếng tăm để thêm nhận xét vào câu trả lời của Michael ở trên, do đó thêm nhận xét của tôi làm câu trả lời.

Điều đáng chú ý là cổng được quản lý AWS đắt hơn ~ 3 lần so với ngày chạy so với việc chạy cá thể của riêng bạn. Tất nhiên, điều này là giả sử rằng bạn chỉ yêu cầu một phiên bản NAT (nghĩa là bạn không có nhiều phiên bản NAT được cấu hình để chuyển đổi dự phòng, v.v.) thường đúng với hầu hết các trường hợp sử dụng từ nhỏ đến trung bình. Giả sử truyền dữ liệu hàng tháng 100GB qua cổng NAT,

Chi phí hàng tháng được quản lý NAT = 33,48 đô la / tháng (0,045 đô la / giờ * 744 giờ trong một tháng) + 4,50 đô la (0,045 đô la cho mỗi GB dữ liệu được xử lý * 100GB) + 10 đô la (phí 0,10 đô la / GB phí truyền dữ liệu AWS tiêu chuẩn cho tất cả dữ liệu được truyền qua Cổng NAT) = $ 47,98

Ví dụ t2.nano được định cấu hình dưới dạng NAT = $ 4,84 / tháng ($ 0,0065 * 744 giờ trong một tháng) + $ 10 ($ 0,10 / GB phí chuyển dữ liệu AWS tiêu chuẩn cho tất cả dữ liệu được truyền qua phiên bản NAT) = $ 14,84

Điều này tất nhiên thay đổi khi bạn sử dụng các phiên bản NAT dự phòng do cổng NAT do AWS quản lý có tính dự phòng tích hợp cho tính sẵn sàng cao. Nếu bạn không quan tâm đến thêm $ 33 / tháng, thì cá thể NAT được quản lý chắc chắn đáng để giảm đau đầu vì không phải duy trì một thể hiện khác. Nếu bạn đang chạy một phiên bản VPN (ví dụ OpenVPN) để truy cập vào các phiên bản của bạn trong VPC, bạn có thể chỉ cần định cấu hình phiên bản đó để hoạt động như cổng NAT của mình, và sau đó bạn không phải duy trì một phiên bản bổ sung chỉ dành cho NAT ( mặc dù một số người có thể nhăn mặt vì ý tưởng kết hợp VPN và NAT).


4
Đồng ý - tuy nhiên, với ví dụ t2.nano, bạn sẽ thấy thông lượng tối đa có thể là 250Mbit / giây, so với mức cao nhất 10 Gbit / giây từ Cổng NAT. Đừng hiểu sai ý tôi, tôi cũng thấy giá cả hơi dốc, và có những hạn chế khác - tôi vẫn đang sử dụng các trường hợp NAT hầu như ở mọi nơi ... nhưng, công bằng mà nói, bạn đang trả tiền, một phần, cho một số nguồn chuyển mạch gói khá nghiêm trọng và kết nối mạng với cổng.
Michael - sqlbot

1
Nhưng tại sao NAT Gateway lại đắt như vậy? Nó có đòi hỏi nhiều tài nguyên máy tính để dịch địa chỉ không? Tôi có thể hiểu rằng đối với ứng dụng thực sự khổng lồ, NAT có thể ủy quyền rất nhiều yêu cầu ngoài VPC, nhưng nếu chúng ta nói về các dự án nhỏ và các dự án nhỏ thông thường $ 0,045 mỗi giờ và mỗi GB thì được đánh giá quá cao.
Serge Cherepanov

15

Câu trả lời của Michael - sqlbot đưa ra giả định ngầm định rằng các địa chỉ IP riêng là bắt buộc. Tôi nghĩ rằng đáng để đặt câu hỏi về giả định đó - chúng ta thậm chí có cần sử dụng địa chỉ IP riêng tư ngay từ đầu không? Ít nhất một người bình luận hỏi cùng một câu hỏi.

Lợi thế của một máy chủ trên mạng con riêng với một thể hiện NAT [so với] một máy chủ [trong một] mạng con công cộng với chính sách bảo mật nghiêm ngặt là gì? - abhillman ngày 24 tháng 6 năm 14 lúc 23:45

Hãy tưởng tượng một kịch bản trong đó bạn đang sử dụng VPC và bạn gán địa chỉ IP công cộng cho tất cả các phiên bản EC2 của bạn. Đừng lo lắng, điều đó không có nghĩa là chúng nhất thiết có thể truy cập qua internet, bởi vì bạn sử dụng các nhóm bảo mật để hạn chế quyền truy cập theo cách chính xác giống như mọi thứ hoạt động với EC2 classic. Bằng cách sử dụng các địa chỉ IP công cộng, bạn có lợi ích có thể dễ dàng đưa ra một số dịch vụ nhất định cho đối tượng hạn chế mà không cần phải sử dụng một cái gì đó như ELB. Điều này giải phóng bạn khỏi nhu cầu thiết lập một thể hiện NAT hoặc cổng NAT. Và vì bạn cần một nửa số mạng con, bạn có thể chọn sử dụng phân bổ CIDR nhỏ hơn cho VPC của mình hoặc bạn có thể tạo các mạng con lớn hơn với cùng kích thước VPC. Và ít mạng con hơn có nghĩa là bạn cũng sẽ trả ít hơn cho lưu lượng truy cập giữa các AZ.

Vậy tại sao chúng ta không làm điều này? Tại sao AWS nói rằng cách tốt nhất là sử dụng IP riêng?

Amazon Web Services có nguồn cung cấp hạn chế các địa chỉ IPv4 công cộng vì toàn bộ internet có nguồn cung cấp hạn chế các địa chỉ IPv4 công cộng. Bạn nên sử dụng các địa chỉ IP riêng tư không giới hạn, thay vì tiêu thụ quá mức các địa chỉ IPv4 công khai khan hiếm. Bạn có thể thấy một số bằng chứng về điều này trong cách AWS định giá IP đàn hồi; một EIP được đính kèm với một thể hiện là miễn phí, nhưng một EIP không được sử dụng sẽ tốn tiền.

Nhưng để tranh luận, hãy giả sử rằng chúng ta không quan tâm đến việc thiếu địa chỉ IPv4 công khai trên internet. Rốt cuộc, ứng dụng của tôi là đặc biệt. Chuyện gì xảy ra tiếp theo?

Chỉ có hai cách để đính kèm địa chỉ IP công cộng vào một thể hiện EC2 trong VPC.

1. Liên kết địa chỉ IP công cộng

Bạn có thể yêu cầu một địa chỉ IP công cộng khi khởi chạy một thể hiện EC2 mới. Tùy chọn này xuất hiện dưới dạng hộp kiểm trong bảng điều khiển, dưới dạng cờ --associate-public-ip-address khi sử dụng aws-cli và là cờ AssociatePublicIpAddress trên đối tượng giao diện mạng được nhúng khi sử dụng CloudFormation. Trong mọi trường hợp, địa chỉ IP công cộng được gán cho eth0(Device Index = 0). Bạn chỉ có thể sử dụng phương pháp này khi khởi chạy một thể hiện mới. Tuy nhiên, điều này đi kèm với một số nhược điểm.

Một bất lợi là việc thay đổi nhóm bảo mật của một cá thể đang sử dụng một đối tượng giao diện mạng được nhúng sẽ buộc phải thay thế ngay lập tức, ít nhất là nếu bạn đang sử dụng CloudFormation.

Một nhược điểm khác là một địa chỉ IP công cộng được gán theo cách này sẽ bị mất khi dừng thể hiện.

2. IP đàn hồi

Nói chung, đàn hồi IP là phương pháp ưa thích vì chúng an toàn hơn. Bạn được đảm bảo tiếp tục sử dụng cùng một địa chỉ IP, bạn không có nguy cơ vô tình xóa bất kỳ trường hợp EC2 nào, bạn có thể tự do đính kèm / tách IP đàn hồi bất cứ lúc nào và bạn có quyền tự do thay đổi các nhóm bảo mật được áp dụng cho các phiên bản EC2 của bạn.

... Nhưng AWS giới hạn bạn ở mức 5 EIP cho mỗi vùng. Bạn có thể yêu cầu thêm, và yêu cầu của bạn có thể được cấp. Nhưng AWS có thể từ chối yêu cầu đó dựa trên lý do tôi đã đề cập ở trên. Vì vậy, bạn có thể không muốn dựa vào EIP nếu bạn có kế hoạch mở rộng cơ sở hạ tầng của mình vượt quá 5 trường hợp EC2 cho mỗi khu vực.

Tóm lại, sử dụng địa chỉ IP công cộng sẽ mang lại một số lợi ích tốt, nhưng bạn sẽ gặp phải các vấn đề về quản trị hoặc nhân rộng nếu bạn cố gắng sử dụng riêng các địa chỉ IP công cộng. Hy vọng rằng điều này sẽ giúp minh họa và giải thích lý do tại sao các thực tiễn tốt nhất là cách họ đang có.


3
Các giới hạn mặc định cho EIPs thực sự là 5 mỗi khu vực , chứ không phải 20. "Sau tất cả, ứng dụng của tôi là đặc biệt." Câu này xứng đáng là một upvote của riêng mình.
Michael - sqlbot

4
Ý tưởng về việc bạn không thể thay đổi các nhóm bảo mật một cách nhanh chóng cho một máy có IP công cộng không phải là EIP đến từ đâu? Nó đơn giản là không đúng sự thật!
Phil

1
@Phil Đúng. Câu nói đó là sai. Nói rằng bạn không thể thay đổi nhóm bảo mật của một cá thể có địa chỉ IP công cộng được đính kèm với loại đó sẽ vô hiệu hóa toàn bộ câu trả lời của anh ấy. Tôi biết nó có thể là một loại khắc nghiệt, nhưng làm thế nào bạn có thể đánh lừa độc giả bằng những tuyên bố sai lầm là cốt lõi của bài viết của bạn. Dù sao, tôi đồng ý với Nic rằng bạn có thể bỏ các mạng con riêng tư và chỉ sử dụng các mạng công cộng với thiết lập tường lửa thích hợp,
Geo C.

1
Bây giờ tôi đã xóa các tuyên bố sai về việc không thể thay đổi nhóm bảo mật.
JP

Một số trong những tuyên bố đó vẫn còn đó;)
Tim Malone
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.