Khởi chạy các phiên bản thông qua Elastic Beanstalk mà không cần cấu hình IP đàn hồi


10

Tôi đang tạo một công cụ để triển khai hình ảnh Docker lên EC2 thông qua ElasticBeanstalk, vì vậy nhóm nhà phát triển có thể nhanh chóng giới thiệu công việc của họ mà không phải hợp nhất. Tôi không muốn IP đàn hồi được kích hoạt cho các ứng dụng này vì chúng tồn tại trong thời gian ngắn.

Lý do tôi hỏi điều này là bởi vì nếu công cụ của tôi xây dựng hơn 5 ứng dụng (và nó khá nhanh) thì bất kỳ ứng dụng mới nào cũng sẽ thất bại vì không thể gán IP đàn hồi cho ứng dụng mới. Điều này là do tài khoản AWS thường có sẵn tối đa 5 IP đàn hồi . Tôi có thể truy cập bảng điều khiển web aws và chọn 'Phân tách địa chỉ IP đàn hồi' (xem bên dưới) trên một ví dụ, sau đó phiên bản ec2 sẽ nhận được một ip mới (sau vài phút). Đây là những gì tôi muốn, nhưng tôi muốn thực hiện nó bằng lập trình và muốn khởi động ứng dụng mà không cần thay vì thực hiện một khi thể hiện được tạo.

tùy chọn menu tách rời

Có tùy chọn cấu hình nào tôi có thể sử dụng để vô hiệu hóa IP đàn hồi cho phiên bản mới không?

Tôi đang sử dụng nút aws-sdk , nhưng bất kỳ mẹo nào trong bất kỳ ngôn ngữ nào cũng được.

Tôi đang tạo m1.smallmột trường hợp duy nhất.

Nếu điều này là không thể khi khởi chạy, tôi sẽ phải tách liên kết IP đàn hồi khỏi thể hiện bằng cách sử dụng chức năng EC2.disassociateAddress .


Nếu bạn đang khởi chạy trong một mạng con riêng tư: stackoverflow.com/questions/39086022/ trên
lonewar Warrior556

Câu trả lời:


10

Khi sử dụng loại môi trường "Đơn lẻ", bạn luôn nhận được EIP.

Từ hướng dẫn dành cho nhà phát triển Beanstalk, Các loại môi trường :

Một môi trường một cá thể chứa một cá thể Amazon EC2 có địa chỉ IP đàn hồi.

Vô hiệu hóa tùy chọn "Liên kết địa chỉ IP công cộng" không có hiệu lực.

Chuyển sang môi trường "Cân bằng tải, Tự động cân bằng" để có được mà không cần EIP.


Không giống như các câu trả lời khác ở đây, điều này thực sự đã giải quyết vấn đề của tôi, cảm ơn :) Đối với khách du lịch trong tương lai, trong hộp thoại Tạo môi trường mới, bạn chọn tùy chọn "Cân bằng tải" trong nút "Định cấu hình tùy chọn khác" ở cuối quá trình tạo môi trường hình thức.
Jacob Davis-Hansson

1

Tôi không muốn IP đàn hồi được kích hoạt cho các ứng dụng này vì chúng tồn tại trong thời gian ngắn.

Nếu bạn đang ở trong mạng con công cộng của VPC (có khả năng), thì trường hợp đó được yêu cầu để có thể giao tiếp với Internet. Mỗi http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_INET_Gateway.html :

Để cho phép một cá thể trong mạng con công cộng của bạn giao tiếp với Internet, nó phải có địa chỉ IP công cộng hoặc địa chỉ IP đàn hồi được liên kết với một địa chỉ IP riêng trên cá thể của bạn . Ví dụ của bạn chỉ nhận biết không gian địa chỉ IP riêng (bên trong) được xác định trong VPC và mạng con. Cổng Internet cung cấp một cách hợp lý NAT một-một thay mặt cho cá thể của bạn, để khi lưu lượng truy cập rời mạng con VPC của bạn và truy cập Internet, trường địa chỉ trả lời được đặt thành địa chỉ IP công cộng hoặc địa chỉ IP đàn hồi của cá thể bạn , và không phải địa chỉ IP riêng của nó. Ngược lại, lưu lượng truy cập dành cho địa chỉ IP công cộng hoặc địa chỉ IP đàn hồi của phiên bản của bạn có địa chỉ đích được dịch sang địa chỉ IP riêng của cá thể trước khi lưu lượng được gửi đến VPC.

Các EIP được gán tự động đi kèm với một cá thể mới sẽ không mất bất kỳ chi phí nào và chúng sẽ tự động biến mất khi cá thể đó ngừng hoạt động.


Cảm ơn câu trả lời của bạn, tôi đã thêm thông tin vào câu hỏi giải thích vấn đề tôi đang gặp phải và làm thế nào tôi có thể giải quyết vấn đề này thông qua bảng điều khiển web. Tôi có thể hiểu sai về cách AWS hoạt động - nhưng bạn có thể khuyên thêm tôi rất biết ơn.
biên.

@ed. Tôi không quen thuộc lắm với EB nhưng có vẻ như từ các tài liệu bạn muốn đặt aws:ec2:vpc:AssociatePublicIpAddresstrong cấu hình EB của bạn (và điều này đặc biệt với các EB đơn lẻ). Ngoài ra, hãy yêu cầu AWS tăng giới hạn EIP của bạn - theo kinh nghiệm của tôi, họ sẽ vui vẻ cấp nó trong tình huống này.
ceejayoz

chúc mừng tôi sẽ thử nó
biên.

Tôi đã thử cờ ở trên nhưng không có kết quả. Tôi nghĩ rằng tôi sẽ gọi disassociateAddress qua sdk.
biên.

1
Đối với bản ghi: aws:ec2:vpc:AssociatePublicIpAddresschỉ dành cho phiên bản ec2, nếu bạn đặt thành sai thì disassociateAddressphiên bản đó sẽ không có IP công khai.
biên.

0

Có một tùy chọn môi trường beanstalk đàn hồi có thể là những gì bạn đang theo đuổi.

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options-general.html#command-options-general-elbloadbalancer

Không gian tên: aws: ec2: vpc AssociatePublicIpAddress: false

Nếu bạn đặt nó thì tất cả các nút được tạo bởi môi trường này sẽ không có IP công khai. Lưu lượng truy cập trong nước sẽ phải sử dụng một bộ cân bằng tải. VPC và mạng con sẽ cần được kết hợp với cổng NAT hoặc cổng internet để truy cập internet ra bên ngoài. Nếu bạn không có quyền truy cập internet bên ngoài thì bản dựng Elastic Beanstalk sẽ thất bại (Nó sẽ không thể truy cập các dịch vụ AWS).


Tôi đã thêm cái này vào cấu hình EBS: { "OptionName": "AssociatePublicIpAddress", "ResourceName": "AWSEBAutoScalingLaunchConfiguration", "Namespace": "aws:ec2:vpc", "Value": "false" },Mặc dù vậy, Elastic IP đang liên kết với thể hiện đó. Có manh mối nào không?
Kostanos

1
Điều này không đúng, nó không ảnh hưởng đến eip
A-Developer-Has-No-Name

0

Sau khi bạn hủy liên kết Địa chỉ IP đàn hồi, bạn có khoảng 10 giây để 'giải phóng' nó. Nếu bạn phát hành nó, nó sẽ không quay trở lại.

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.