Django web sitesi tarafından kullanılmak üzere özel bir Docker kabını takarken bir Django sunucusunu normal Elastik Beanstalk yöntemiyle çalıştırmak istediğimiz bir durum var.Kaynak bağlamadan önce EC2 örneğindeki Elastic Beanstalk komutları nasıl çalıştırılır
packages:
yum:
ecs-init: []
files:
/etc/ecs/ecs.config:
mode: "000644"
owner/group: root
content: ECS_CLUSTER=${Ref: MyCluster}
commands:
01_start_docker: sudo service docker start
02_start_ecs: sudo start ecs
Resources:
MyCluster:
Type: AWS::ECS::Cluster
MyService:
Type: AWS::ECS::Service
Properties:
Cluster: ${Ref: MyCluster}
DesiredCount: 1
TaskDefinition: ${Ref: MyTask}
MyTask:
Type: AWS::ECS::TaskDefinition
Properties:
ContainerDefinitions:
- ...
sorun ECS hizmet Elastik Beanstalk sağlanan EC2 örneği küme ile kayıtlı önce başlatmak için çalışıyor olmasıdır: Şimdiye kadar, temelde aşağıdaki .ebextensions
yapılandırma dosyası var. Sonuç olarak, Elastic Beanstalk için dağıtım askıda kalıyor. EC2 örneğine el ile SSH'ledim ve el ile ecs-init
'u yüklediysem, ecs.config
'u oluşturdu ve komutları çalıştırdı, hizmet oluşturmaya devam ediyor ve EB ortamı başarıyla oluşturuluyor.
Hizmetin, EB'nin otomatik ölçeklendirme grubu tarafından oluşturulan EC2 örneğinin kümeye kaydedilinceye kadar beklemesinin bir yolu var mı?
fazla bağlam:
- Biz Django sunucu localhost ile Docker kabı erişebilmesini istiyoruz, ama özellikle Docker konteyner ev sahipliği yapmaya Kaynakları bir EC2 örneğini dahil karşı olmaz Otomatik ölçeklendirilmiş EC2 örneklerinde belirtmek kolaysa
- Çoklu yerleştirme kapsayıcı kapsayıcı yaklaşımını denedik, ancak bu yöntem EB'nin kullanımına daha yakın görünüyor (web sunucu dosyalarını bir docker yapmak yerine doğrudan ortamın çalışması için görüntü)
Maalesef, bekleyiş koşulunun EC2 örneğinin başlatılması için olduğunu düşünüyorum. Komutların kancaları çalışana kadar bekleyebilecek bir bekleme şartına ihtiyacım var. –
Muhtemelen kendi CreationPolicy kaynağınızı bağımlılık (veya belki de bir WaitCondition) olarak eklemeniz ve cfn-sinyalini 03 komutu olarak çağırmanız gerekecektir. Http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide /aws-attribute-creationpolicy.html – NHol