서론
- 이전 게시글에서 AWS CLI SSO를 사용하는 방법과 AWS CLI SSO를 Boto3에 활용하는 방법을 다뤘었다.
- Terraform에서도 Provider를 profile로 사용하면 좋겠다고 생각했다. 그리고 역시 Terraform에서도 profile을 통한 자격증명을 지원한다.
- 사용자가 생성한 IAM User의 AccessKey, SecretKey가 입력된 profile이든, AWS CLI SSO로 생성된 임시 profile이든 상관없다. provider에 입력한 profile 이름이 내가 실제로 가진 profile인지 내부적으로 AWS의 API를 통해 검증하는 것 같다.
AWS profile을 provider로 사용하기
- AWS profile을 provider에 적용하는것은 정말 간단하다.
AWS Configure로 생성한 profile에 Default Region을 지정해도 Terraform provider에서 다시 입력 해 줘야한다. (region 값을 작성하지 않았다면provider "aws" { profile = "[Profile Name]" region = "[Region Name]" }
terraform plan / apply
명령어를 실행할 때 region 값을 입력받는다.)
- AWS Provider와 가장 간단하게 vpc 생성 코드를 통해 정상적으로 작동하는지 확인해본다.
provider "aws" { profile = "[Profile Name]" region = "ap-northeast-2" } #Create the VPC resource "aws_vpc" "test" { cidr_block = "10.11.0.0/20" tags ={ Name = "Test-Profile-Provider" } }
terraform apply
명령어로 적용 결과를 콘솔에서 확인했다.
결론
- 이 방식은 여러명이서 협업을 할 때에는 profile 공유가 안 돼서 힘들 수 있을 것 같다.
- IAM User 생성 권한이 없는 계정 or Access Key가 없는 계정에서도 사용할 수 있다.
- 혼자 작업 할 때에는 IAM User를 생성하지 않아도 되는 편리함과 Key 값을 코드에 적지 않아도 돼서 보안 측면에서 더 만족스러웠다.
Uploaded by Notion2Tistory v1.1.0