Soru Elastic IP yapılandırması olmayan Elastic Beanstalk aracılığıyla örnekleri başlatın


Docker görüntülerini ElasticBeanstalk aracılığıyla EC2'ye dağıtmak için bir araç oluşturuyorum, bu yüzden dev ekibi çabucak işlerini birleştirmek zorunda kalmadan demonte edebilir. Bu uygulamalar için kısa ömürlü oldukları için Elastic IP'nin etkinleştirilmesini istemiyorum.

Bunu sormamın nedeni, aracımın 5'ten fazla uygulama oluşturması durumunda (ve oldukça hızlı bir şekilde), yeni uygulamaya hiçbir Elastic IP atanamaması nedeniyle herhangi bir yeni uygulama başarısız olacaktır. Bunun nedeni, bir AWS hesabının genellikle bir maksimum 5 Elastik IP mevcut. Aws web konsoluna gidebilir ve bir örnekte 'Elastic IP Adresini Disassociate' (aşağıdaki bölüme bakınız) seçeneğini seçebilirim, bu durumda ec2 örneği yeni bir ip alır (birkaç dakika sonra). İstediğim budur, ancak programlı olarak yapmak istiyorum ve örneği oluşturulduktan sonra uygulamayı yapmaksızın uygulamayı önyüklemeyi tercih ederim.

disassociate menu option

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

Düğümü kullanıyorum aws-sdk, ancak herhangi bir dilde herhangi bir ipucu yapacak.

Ben yaratıyorum m1.small tek örnek.

Bu, lansman sırasında mümkün değilse, Elastic IP'yi kullanarak örneklemden ayırmak zorunda kalacağım. EC2.disassociateAddress işlevi.


8
2018-06-10 16:02


Menşei


Özel bir alt ağda başlatıyorsanız: stackoverflow.com/questions/39086022/... - lonewarrior556


Cevaplar:


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

itibaren Beanstalk geliştirici rehberi, Ortam Türleri:

Tek örnekli bir ortam, bir Elastic IP adresine sahip bir Amazon EC2 örneğini içerir.

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

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


6
2017-08-18 10:51



Buradaki diğer cevaplardan farklı olarak, bu aslında benim problemimi çözdü, teşekkürler :) Gelecek yolcular için, yeni Çevre Oluşturma iletişiminde, ortam oluşturma işleminin sonunda "Daha Fazla Seçenek Yapılandır" düğmesi altındaki "Yük Dengeleme" seçeneğini seçersiniz. form. - Jacob Davis-Hansson


Bu uygulamalar için kısa ömürlü oldukları için Elastic IP'nin etkinleştirilmesini istemiyorum.

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

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

Yeni bir örnekle birlikte gelen otomatik olarak atanan EIP'ler hiçbir şeye mal olmaz ve örnek kullanım dışı bırakıldığında otomatik olarak ortadan kalkar.


1
2018-06-10 16:24



Cevabınız için teşekkür ederim, gördüğüm konuyu açıklayan soruya ve web konsolu üzerinden nasıl dolaşabileceğime daha fazla bilgi ekledim. AWS'nin nasıl çalıştığını yanlış anlayabilirim - ama daha fazla öneride bulunabilirsiniz. - ed.
@ed. EB'ye çok aşina değilim ama ayarlamak istediğiniz dokümanlar gibi görünüyor aws:ec2:vpc:AssociatePublicIpAddress EB yapılandırmanızda (ve bunun tek örnekli EB'lere özgü olduğu). Alternatif olarak, EIP limitinizde bir artış için AWS'ye danışınız. Benim deneyimlerimde bu tür bir durum için mutlu bir şekilde bağışlayacaklardır. - ceejayoz
Şerefe bunu deneyeceğim. - ed.
Yukarıdaki bayrağı hiç boşuna denedim. Sanırım sdk üzerinden disassociateAddress'i arayacağım. - ed.
Kayıt için: aws:ec2:vpc:AssociatePublicIpAddress sadece ec2 örneğidir, eğer false olarak ayarlarsanız disassociateAddress örneğin bir genel IP adresi olmayacaktır. - ed.


Ardından ne olduğunuzu gösteren elastik bir fasülye ortamı 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 AssociatePublicIpAddress: yanlış

Bunu ayarlarsanız, bu ortam tarafından oluşturulan tüm düğümlerin bir genel IP'si olmaz. Gelen trafiğin bir yük dengeleyici kullanması gerekecektir. VPC ve alt ağların, giden internet erişimini elde etmek için bir NAT geçidi veya bir internet ağ geçidi ile birlikte denetlenmesi gerekecektir. Giden internet erişiminiz yoksa, Elastic Beanstalk kuruluşu başarısız olacaktır (AWS hizmetlerine erişemeyecektir).


1
2018-06-30 10:37



Bunu EBS yapılandırmasına ekledim: { "OptionName": "AssociatePublicIpAddress", "ResourceName": "AWSEBAutoScalingLaunchConfiguration", "Namespace": "aws:ec2:vpc", "Value": "false" }, Öyle olsa bile, Elastic IP bu duruma ilişkilendiriyor. Bir ipucu? - Kostanos
Bu doğru değil, eip üzerinde hiçbir etkisi yoktur - A-Developer-Has-No-Name


Elastic IP Adresini Disassociate ettikten sonra, 'serbest bırakmak' için 10 saniye var. Eğer serbest bırakırsan, geri gelmeyecek.


0
2018-04-21 21:20