AWS 에서 웹 어플리케이션 배포하는 방법.
- EC2
- Elastic Beanstalk
- ECS
- EKS
이 중 그나마 간편하고, 빠르게 배포하는 방법은 1번 아니면 2번 일 것이다. 빠르게 웹 공유가 필요하여 간만에 Elastic Beanstalk 를 썼는데 완전 삽질스.
일단 2024년 10월 1일 이후로는, EC2 Auto Scaling 서비스의 시작 구성이 사라지고, 시작 템플릿으로 대체되기 때문에, EB 환경을 새로 생성한다면 시작 템플릿(launch template) 옵션을 선택해야 한다. 환경 설정 중 선택만 해주면 된다.
- RootVolumeType : gp3 (범용3 SSD)
- IMDSv1 : disable
와~ gp3 선택하지 않은 죄로 삽질 무지하게 했다.
Creating Auto Scaling launch configuration failed Reason: Resource handler returned message: "The Launch Configuration creation operation is not available in your account. Use launch templates to create configuration templates for your Auto Scaling groups. (Service: AutoScaling, Status Code: 400, Request ID: 67f0a370-3fa3-42f9-bfc1-4ebdc96b3378)" (RequestToken: e7362a93-5127-6af3-e9a5-90b793868367, HandlerErrorCode: GeneralServiceException)
CloudFormation 스택 템플릿에 보면 Launchconfiguration 이 구동되는지 Launchtemplate 이 구동되는지 확인할 수 있다. 어차피 에러나면 딱히 확인할 필요는 없지만...
간만에 EB 구동 정리나...
- 미리준비 : VPC / 서비스 역할 / EC 키페어 / EC2 인스턴스 프로파일
- 수동설정 : 루트볼륨유형 gp3 / 인스턴스 유형
EC2 인스턴스 프로파일 이란걸 썼었는지 기억도 안난다.
서비스 역할에 필요한 정책 (EC2, ELB, EC2 Auto Scaling API 호출에 필요)
- AWSElasticBeanstalkEnhancedHealth
- AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy
EC2 인스턴스 프로파일 정책
- AWSElasticBeanstalkWebTier
- AWSElasticBeanstalkWorkerTier
- AWSElasticBeanstalkMulticontainerDocker
나머지 환경 속성이나 기타 등등은 구동 확인 후 수정 가능하다.
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,