Elastic Beanstalk에서 애플리케이션을 생성하고 환경 생성을 하려고 하니 다음과 같은 오류가 발생하였다.
The instance profile aws-elasticbeanstalk-ec2-role associated with the environment does not exist.
정상적으로 수행했을 경우 상태가 OK로 되어야 하지만 unknown 상태가 되어 환경을 생성하지 못하였다.
해결방법
1. AWS의 IAM - 역할에 들어가 역할 만들기를 누른다.
2. AWS 서비스와 EC2를 체크하고 다음으로 넘어간다.
3. 3가지 정책을 선택한 뒤 다음을 누른다.
- AWSElasticBeanstalkWebTier
- AWSElasticBeanstalkWorkerTier
- AWSElasticBeanstalkMulticontainerDocker
4. 역할 이름을 aws-elasticbeanstalk-ec2-role로 입력하고 신뢰할 수 있는 엔티티 선택에 코드를 입력한다.
{
"Version": "2008-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}
위의 과정을 수행하면 기존의 오류는 해결할 수 있지만 다음과 같은 오류가 새로 나타날 수 있다.
Select a service role that has the 'AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy' managed policy.
기존 오류의 해결과정과 비슷하게 진행하면 해결할 수 있다.
1. IAM - 역할 - 역할 만들기로 들어간다.
2. AWS 서비스와 EC2를 체크하고 다음으로 넘어간다.
3. 2가지 정책을 선택한 후 다음을 누른다.
- AWSElasticBeanstalkManagedUpdatesCustomerRolePolicy
- AWSElasticBeanstalkEnhancedHealth
4. 역할 이름을 aws-elasticbeanstalk-service-role로 입력하고 신뢰할 수 있는 엔티티 선택에 코드를 입력한다.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "elasticbeanstalk.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "elasticbeanstalk"
}
}
}
]
}
'AWS' 카테고리의 다른 글
[AWS] Locust를 이용한 ec2 부하테스트 (1) | 2023.12.08 |
---|