표준 .NET 웹 애플리케이션을 빠르게 배포하기 시작 하려면 Elastic Beanstalk 가 적합한 서비스입니다.
AWS CloudFormation은 개발자와 시스템 관리자가 관련 AWS 리소스 모음을 생성 및 관리하고이를 순서 있고 예측 가능한 방식으로 프로비저닝 및 업데이트 할 수있는 쉬운 방법을 제공합니다.
CloudFormation (CFn)은 기존 AWS API에 대한 경량의 저수준 추상화입니다. 정적 JSON / YAML 템플릿 문서 를 사용하여 AWS API의 CRUD 작업에 해당하는 리소스 세트 (예 : EC2 인스턴스 또는 S3 버킷 )를 선언합니다 .
CloudFormation 스택을 생성하면 CloudFormation은 해당 API를 호출하여 관련 리소스를 생성하고, 스택을 삭제하면 CloudFormation이 해당 API를 호출하여 삭제합니다. 대부분 (전부는 아님) AWS API 가 지원됩니다.
AWS Elastic Beanstalk는 Apache, Nginx, Passenger와 같은 친숙한 서버에서 Java , .NET , PHP , Node.js , Python , Ruby , Go 및 Docker로 개발 된 웹 애플리케이션 및 서비스를 배포하고 확장하기위한 사용하기 쉬운 서비스입니다. 및 IIS.
코드를 업로드하기 만하면 Elastic Beanstalk가 용량 프로비저닝,로드 밸런싱, 자동 확장에서 애플리케이션 상태 모니터링에 이르기까지 배포를 자동으로 처리합니다.
Elastic Beanstalk (EB)는 웹 애플리케이션 호스팅을위한 상위 수준의 관리 형 '서비스로서의 플랫폼'(PaaS)으로, 범위가 Heroku 와 유사 합니다. 낮은 수준의 AWS 리소스를 직접 처리하는 대신 EB는 웹 인터페이스를 사용하여 애플리케이션 환경 을 생성하고, 애플리케이션에서 사용 하는 플랫폼을 선택 하고, 소스 번들을 생성 및 업로드하고 , 나머지는 EB가 처리 하는 완전 관리 형 플랫폼 을 제공 합니다 .
EB를 사용하면 애플리케이션 환경 을 모니터링 하고 애플리케이션의 새 버전을 배포 하기 위한 모든 종류의 기본 제공 기능을 얻을 수 있습니다 .
내부적으로 EB는 CloudFormation을 사용하여 애플리케이션의 다양한 AWS 리소스를 생성하고 관리합니다. 애플리케이션과 함께 배포 된 EB 구성 파일에 CloudFormation 리소스 를 추가하여 기본 EB 환경을 사용자 지정하고 확장 할 수 있습니다 .
결론
애플리케이션이 Elastic Beanstalk의 지원되는 플랫폼 중 하나를 사용하는 표준 웹 계층 애플리케이션이고 애플리케이션에 대해 관리하기 쉽고 확장 성이 뛰어난 호스팅을 원하는 경우 Elastic Beanstalk를 사용 하십시오 .
만약 너라면:
- 애플리케이션의 모든 AWS 리소스를 직접 관리하고 싶습니다.
- 인스턴스 프로비저닝 또는 배포 프로세스를 관리하거나 크게 사용자 지정하려는 경우
- Elastic Beanstalk에서 지원하지 않는 애플리케이션 플랫폼을 사용해야합니다. 또는
- 더 높은 수준의 Elastic Beanstalk 기능을 원하거나 필요로하지 않습니다.
그런 다음 CloudFormation을 직접 사용 하고 Elastic Beanstalk의 추가 된 구성 계층을 피하십시오.