Django 웹 사이트에서 사용할 사용자 정의 Docker 컨테이너를 연결하는 동안 일반적인 Elastic Beanstalk 방식으로 Django 서버를 실행하고 싶습니다.연결하기 전에 EC2 인스턴스에서 Elastic Beanstalk 명령을 실행하는 방법 리소스
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:
- ...
문제는 ECS 서비스가 탄성 콩나무 제공하는 EC2 인스턴스를 클러스터에 등록되기 전에 시작하려고하는 것입니다 : 지금까지, 나는 기본적으로 다음과 같은 .ebextensions
구성 파일이 있습니다. 결과적으로 Elastic Beanstalk에 배치가 중단됩니다. 수동으로 SSH로 EC2 인스턴스에 넣고 ecs-init
을 수동으로 설치하고 ecs.config
을 만들고 명령을 실행하면 서비스가 계속 생성되고 EB 환경이 성공적으로 만들어집니다.
EB의 자동 확장 그룹으로 만든 EC2 인스턴스가 클러스터에 등록 될 때까지 대기하도록 서비스를 알리는 방법이 있습니까?
더 많은 상황 :
- 우리는 장고 서버가 로컬 호스트와 부두 노동자의 컨테이너에 액세스 할 수 있도록하려면,하지만 난이 특히 도커 컨테이너를 호스트하기 위해 자원의 EC2 인스턴스를 포함에 반대되지 않을 것이다 자동 스케일 된 EC2 인스턴스에서 참조하기 쉬운 경우
- 우리는 멀티 도커 컨테이너 접근 방식을 시도했지만이 방법은 EB 사용에 더 가깝게 보입니다 (웹 서버 파일을 도커를 만드는 대신 직접 환경에 두는 것 같습니다 실행할 환경에 대한 이미지)
불행히도 기다려야 할 조건은 EC2 인스턴스를 시작하기위한 것입니다. 'commands' 후크가 실행될 때까지 대기하는 대기 조건이 필요합니다. –
아마도 자신의 CreationPolicy 리소스를 의존성 (또는 WaitCondition)으로 추가하고 cfn-signal을 명령 03으로 호출해야 할 것입니다. http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide /aws-attribute-creationpolicy.html – NHol