Elastik IP yapılandırılmamış Elastik Beanstalk aracılığıyla örnekleri başlatın


10

Docker görüntülerini ElastikBeanstalk aracılığıyla EC2'ye dağıtmak için bir araç oluşturuyorum, böylece geliştirici ekibi işlerini birleştirmeye gerek kalmadan hızlı bir şekilde demo yapabilir. Elastik IP'lerin kısa ömürlü oldukları için bu uygulamalar için etkinleştirilmesini istemiyorum.

Bunu sormamın nedeni, aracım 5'ten fazla uygulama (ve oldukça hızlı bir şekilde) oluşturuyorsa, yeni uygulamaya hiçbir Elastik IP atanamayacağı için herhangi bir yeni uygulama başarısız olacaktır. Bunun nedeni, bir AWS hesabında en fazla 5 Elastik IP'nin bulunmasıdır . Aws web konsoluna gidebilir ve bir örnekte 'Elastik IP Adresini Devre Dışı Bırak' ı seçebilirim (aşağıya bakın), daha sonra ec2 örneği yeni bir ip alacaktır (birkaç dakika sonra). İstediğim bu, ama programlı olarak yapmak istiyorum ve örnek oluşturulduktan sonra bunu yapmak yerine uygulamayı önyüklemeyi tercih ederim.

ilişkisiz menü seçeneği

Yeni örnek için Elastik IP'yi devre dışı bırakmak için kullanabileceğim bir yapılandırma seçeneği var mı?

Aws-sdk düğümünü kullanıyorum , ancak herhangi bir dilde herhangi bir ipucu yapacak.

m1.smallTek örnek oluşturuyorum .

Başlatma sırasında bu mümkün değilse, Elastik IP'yi EC2.disassociateAddress işlevini kullanarak örnekten ayırmak zorunda kalacağım .


Özel bir alt ağda
başlıyorsanız

Yanıtlar:


10

"Tek örnek" ortam türünü kullanırken, her zaman bir EIP alırsınız.

Gönderen Beanstalk geliştirici kılavuzunun Çevre Türleri :

Tek örnekli ortam, Elastik IP adresli bir Amazon EC2 örneği içerir.

"Ortak IP Adresini İlişkilendir" seçeneğini devre dışı bırakmanın bir etkisi yoktur.

EIP olmadan geçmek için "Yük dengeleme, Otomatik ölçeklendirme" Ortamına geçin.


Buradaki diğer cevapların aksine, bu gerçekten sorunumu çözdü, çok teşekkürler :) Gelecek gezginler için, yeni Ortam Oluşturma iletişim kutusunda, ortam oluşturmanın sonundaki "Daha Fazla Seçenek Yapılandır" düğmesinin altındaki "Yük Dengeleme" seçeneğini seçin form.
Jacob Davis-Hansson

1

Elastik IP'lerin kısa ömürlü oldukları için bu uygulamalar için etkinleştirilmesini istemiyorum.

Bir VPC'nin genel alt ağındaysanız (büyük olasılıkla), bu örneğin İnternet ile iletişim kurabilmesi için bir tane gereklidir. Http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Internet_Gateway.html uyarınca :

Genel alt ağınızdaki bir örneğin İnternet ile iletişim kurabilmesi için, genel bir IP adresi veya örneğinizdeki özel bir IP adresiyle ilişkilendirilmiş bir Elastik IP adresi olmalıdır . Örneğin, yalnızca VPC ve alt ağda tanımlanan özel (dahili) IP adresi alanının farkındadır. İnternet ağ geçidi mantıksal olarak örneğiniz adına bire bir NAT sağlar, böylece trafik VPC alt ağınızdan çıktığında ve İnternet'e gittiğinde, yanıt adresi alanı örneğinizin genel IP adresine veya Elastik IP adresine ayarlanır ve özel IP adresini değil. Tersine, örneğinizin genel IP adresi veya Elastik IP adresi için hedeflenen trafik, trafik VPC'ye teslim edilmeden önce hedef adresi örneğin özel IP adresine çevrilir.

Yeni bir örnekle gelen otomatik olarak atanan EIP'lerin hiçbir maliyeti yoktur ve örnek hizmet dışı bırakıldığında otomatik olarak kaybolur.


Cevabınız için teşekkürler, gördüğüm soruyu ve web konsolu üzerinden nasıl başa çıkabileceğimi açıklayan soruya daha fazla bilgi ekledim. AWS'nin nasıl çalıştığını yanlış anlayabilirim - ancak daha çok minnettar olacağımı daha fazla tavsiye edebilirsiniz.
ed.

@ed. EB'ye çok aşina değilim, ancak aws:ec2:vpc:AssociatePublicIpAddressEB yapılandırmanızda ayarlamak istediğiniz dokümanlardan (ve bu tek örnekli EB'lere özgü) benziyor . Alternatif olarak, AWS'den EIP sınırınızda bir artış isteyin - tecrübelerime göre bu tür bir durumda mutlu bir şekilde verecekler.
ceejayoz

Şerefe deneyeceğim.
ed.

Yukarıdaki bayrağı boşuna denedim. Sanırım sadece sdk üzerinden disassociateAddress diyeceğim.
ed.

1
Kayıt için: aws:ec2:vpc:AssociatePublicIpAddressyalnızca ec2 örneği için, false olarak ayarlarsanız disassociateAddress, örneğin genel bir IP'si olmaz.
ed.

0

Sonrasında olabileceğiniz elastik bir fasulye sapı çevre seçeneği var.

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

Ad alanı: aws: ec2: vpc AssociatePublicIpAdresi: yanlış

Bunu ayarlarsanız, bu ortam tarafından oluşturulan tüm düğümlerin genel bir IP'si olmaz. Gelen trafik bir yük dengeleyici kullanmak zorunda kalacaktır. Giden internet erişimi için VPC ve alt ağların bir NAT ağ geçidi veya bir internet ağ geçidi ile hesaplanması gerekir. Giden internet erişiminiz yoksa, Elastik Beanstalk yapısı başarısız olur (AWS hizmetlerine erişemez).


Bunu EBS config'e ekledim: { "OptionName": "AssociatePublicIpAddress", "ResourceName": "AWSEBAutoScalingLaunchConfiguration", "Namespace": "aws:ec2:vpc", "Value": "false" },Buna rağmen, Elastik IP bu örnekle ilişkilendiriliyor. Bir ipucu?
Kostanos

1
bu doğru değil, eip üzerinde hiçbir etkisi yoktur
A-Geliştirici-Has-No-Adı

0

Elastik IP Adresini Devre Dışı Bıraktıktan sonra, onu serbest bırakmak için yaklaşık 10 saniyeniz vardır. Eğer serbest bırakırsanız, geri gelmeyecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.