
저는 Puppet Enterprise를 사용하여 Amazon Web Services에 서버/서비스 세트를 배포하려고 합니다. 내가 아는 한, 이를 수행하는 가장 좋은 방법은CloudFormation.
내가 읽은 내용을 바탕으로 CloudFormation은 서비스 설정/생성 방법을 정의합니다. 반면에 Puppet을 사용하여 설정합니다.그리고서버/서비스 구성을 유지합니다.
두 가지 질문이 있습니다.
- Puppet을 사용하여 Elastic Beanstalk를 생성할 수 있습니까?
- Elastic Beanstalk를 유지 관리하는 것이 가능하며 어떻게 작동합니까?
배경
우리 조직은 Elastic Beanstalk를 사용하여 기존 웹 앱/서비스를 게시하고 있으며, 시간이 허락하는 대로 이 워크플로를 유지하거나 Beanstalk에서 다른 것으로 전환하고 싶습니다.
답변1
Puppet을 사용하여 Elastic Beanstalk를 생성할 수 있습니까?
짧은 대답은 '아니요'입니다.
Elastic Beanstalk를 어떻게 사용합니까?
실제로 Elastic Beanstalk를 사용하여 인프라(또는 기본 애플리케이션 기술)를 관리하는 것이 아니라 애플리케이션을 업로드하고(예: Git을 사용하여 코드 푸시) Beanstalk에서 이를 배포하기만 하면 됩니다.
https://aws.amazon.com/elasticbeanstalk/details/
AWS Elastic Beanstalk는 Java, PHP, Python, Ruby 및 .NET과 같은 널리 사용되는 애플리케이션 컨테이너를 사용하여 웹 앱 및 웹 서비스를 구축하기 위한 사용하기 쉬운 애플리케이션 관리 서비스입니다.고객이 코드를 업로드하면 Elastic Beanstalk가 자동으로 나머지 작업을 수행합니다..
CloudFormation과 Beanstalk를 함께 사용할 수 있나요?
예. CF는 다양한 AWS 리소스 목록을 관리하는 데 도움이 될 수 있습니다.포함콩 줄기.
CF 문서는 시작하기에 좋은 곳입니다.http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html
CF가 관리할 수 있는 리소스는 다음과 같습니다.
- AWS::ElasticBeanstalk::애플리케이션
- AWS::ElasticBeanstalk::ApplicationVersion
- AWS::ElasticBeanstalk::ConfigurationTemplate
- AWS::ElasticBeanstalk::환경
다른 옵션
더 많은 제어를 원할 경우 OpsWorks를 살펴보는 것이 좋습니다.https://aws.amazon.com/opsworks/Chef(Puppet과 유사한 CM 도구)를 통해 운영 체제 구성을 제어할 수 있습니다.
더 많은 제어를 원할 경우 CloudFormation을 직접 사용할 수 있습니다. 이렇게 하면 인프라의 모든 측면을 관리할 수 있습니다. 그런 다음 EC2를 완전히 제어하여 Puppet, Chef와 같은 CM 도구를 사용하여 적절하게 관리할 수 있습니다. 또는 앤서블).
차이점
https://aws.amazon.com/opsworks/faqs/
OpsWorks & Beanstalk는 애플리케이션 관리 서비스입니다.
AWS OpsWorks와 AWS CloudFormation은 모두 애플리케이션 모델링, 배포, 구성, 관리 및 관련 활동을 지원하는 애플리케이션 관리 서비스입니다. 둘 다 간단한 웹 애플리케이션부터 매우 복잡한 애플리케이션까지 다양한 아키텍처 패턴을 지원합니다. AWS OpsWorks와 AWS CloudFormation은 추상화 수준과 초점 영역이 다릅니다.
CF를 사용하면 거의 모든 AWS 리소스를 관리할 수 있습니다.
AWS CloudFormation은 고객이 JSON 기반 도메인별 언어를 통해 거의 모든 AWS 리소스를 프로비저닝하고 관리할 수 있게 해주는 빌딩 블록 서비스입니다.
OpsWorks를 사용하면 Beanstalk 이상의 작업을 수행할 수 있습니다.
AWS OpsWorks는 Elastic Beanstalk보다 더 다양한 아키텍처 패턴을 지원합니다. AWS Elastic Beanstalk는 가장 일반적인 웹 애플리케이션과 웹 서비스 패턴 및 애플리케이션 미들웨어에 특별히 최적화된 반면, AWS OpsWorks는 간단한 웹 애플리케이션부터 매우 복잡한 애플리케이션까지 다양한 아키텍처 패턴을 지원합니다.
옵션 검토
나는 이러한 옵션을 척도(왼쪽에서 오른쪽으로)로 보고 싶습니다. 왼쪽은 사용하기 쉽고 오른쪽은 더 많은 제어 기능을 제공하지만 유지 관리에는 더 많은 노력이 필요합니다.
Beanstalk -> OpsWorks -> CloudFormation.