한 AWS EC2 인스턴스 (Elastic Beanstalk)에서 여러 환경 실행
-
13-12-2019 - |
문제
Amazon AWS Services는 매우 새로운 것입니다.EC2 (Amazon Linux AMI)의 인스턴스를 실행할 수있는 방법이 있는지 궁금해하고 있었고 두 환경을이 인스턴스에 연결하십시오.
특히, 단일 EC2 인스턴스에서 PHP와 Tomcat 환경을 실행하고 싶습니다.
문제는 신축성있는 beanstalk에서 새로운 환경을 만들 때마다 새로운 EC2 인스턴스도 생성하는 것 같습니다.여기에 뭔가를 놓치고 있니?
이에 대한 힌트를 주셔서 감사합니다.
해결책
AWS Elastic Beanstalk는 실행중인 앱을 그레인지에서 확장 성을 위해 설계된 방식으로 배포 할 수 있도록 설계되었습니다. 이 때문에 Elastic Beanstalk는 하나 이상의 EC2 인스턴스를 시작하고 탄력있는로드 밸런서 인스턴스에 연결하고 CloudWatch 모니터링 및 자동 스케일링 트리거를 구성합니다.
또한 확장 성을위한 기본적인 설계로 인해 Elastic Beanstalk는 하나의 App-Per-Environment 모델 (여기서 "환경"을 의미합니다.이 EC2 + ELB + CloudWatch + Autoscaling 클러스터 중 하나를 의미합니다.
두 개의 개별 웹 서버를 실행 한 두 개의 개별 웹 서버 (PHP & Java)는 기본적으로 확장 가능한 디자인이 아니므로 Elastic Beanstalk가 최적화 된 사용 사례가 아닙니다.
독립 실행 형 EC2 인스턴스를 스핀 업하고 원하는대로 설치할 수 있지만 Ornex - git aws.push
지원이 독립형 EC2 인스턴스에서 사용할 수 없었습니다. Git 지원이 중요한 경우 각 접근법의 장단점 및 단점의 무게를 잰다.
다른 팁
또한 기본적으로 데모를위한 비용 관점에서 기본적으로이를 수행 할 수 있습니다
예를 들어 하나의 PHP 앱과 하나의 Java 앱이있는 단일 인스턴스입니다.또는 두 개의 Java 앱이있는 단일 인스턴스입니다.
그러나 Elastic Beanstalk Developer Guide에서 지금까지 지금까지 읽은 것에서, 환경 당 여러 응용 프로그램이 지원되는 경우 (또는 심지어 EC2 인스턴스 당 여러 환경이있는 경우)를 명시 적으로 찾지 못했습니다.
이는 종종 미래를 위해 요청되고 계획된 기능이거나 단일 응용 프로그램 당 환경 모델이 어떤 이유로 '디자인에 의해'이유가 있는지 궁금합니다.