[AWS] AWS Secrets Manager를 이용하여 ECS Container에 안전하게 환경 변수 주입하기
✨ Secrets Manager를 이용하여 작업 정의 시 환경 변수 설정

- ECS Task Definition 설정을 하다보면 환경 변수를 추가하는 항목이 보이는데, 키에 대한 값을 바로 입력하지 않고 AWS Secrets Manager를 사용하여 환경변수를 안전하게 관리하고자 한다.

- AWS Secrets Manager에서
새 보안 암호 저장 버튼을 클릭하여 위와 같이 보안 암호를 생성해준다.
- 이후 생성된 보안 암호 이름을 클릭하면
보안 암호 세부 정보 목록에서 보안 암호 ARN 값을 확인할 수 있을 것이다. 이를 복사해준다.

- 다시 ECS 작업 정의하는 곳으로 돌아와서 환경 변수 값에 복사한 보안 암호 ARN 값을 붙여준다.
- 하지만 현재 태스크 실행 IAM 역할에 AWS Secrets Manager의 보안 암호에 액세스할 수 있는 권한이 존재하지 않기 때문에 추가해주는 작업이 필요하다.

- IAM에서 ecsTaskExecutionRole 역할에 대한
권한 정책 - 권한 추가 - 인라인 정책 추가 버튼을 차례대로 클릭해준다.

- Secrets Manager에 관련된 작업 정책을 설정한다. 모든 Secrets Manager 작업에 대한 액세스가 가능하도록 설정하고, 모든 리소스에 대해 허용하도록 설정한다.
- 이렇게 인라인 정책 생성을 마쳤으면 위와 같이 ecsTaskExecutionRole에 내가 생성한 Secrets Manager에 대한 정책이 잘 적용된 것을 확인할 수 있다.

- 태스크 실행 IAM 역할에 ecsTaskExecutionRole을 설정해주면 작업 실행 중 Secrets Manager의 보안 암호에 접근하여 환경 변수 값을 가져오는 데에 성공할 수 있다.