Search
moon
sun

[Terraform]에서 AWS CLI Profile 사용하기

PublishDate
2021/05/25
Category
IaC
Terraform
Tag & Keyword
aws profile
provider
AWS CLI SSO
💡
준비물 - AWS SSO 계정 - Terraform , AWS CLI 환경

서론

•
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에 적용하는것은 정말 간단하다.
provider "aws" { profile = "[Profile Name]" region = "[Region Name]" }
Python
복사
AWS Configure로 생성한 profile에 Default Region을 지정해도 Terraform provider에서 다시 입력 해 줘야한다. (region 값을 작성하지 않았다면 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" } }
Python
복사
terraform apply 명령어로 적용 결과를 콘솔에서 확인했다.

결론

•
이 방식은 여러명이서 협업을 할 때에는 profile 공유가 안 돼서 힘들 수 있을 것 같다.
•
IAM User 생성 권한이 없는 계정 or Access Key가 없는 계정에서도 사용할 수 있다.
•
혼자 작업 할 때에는 IAM User를 생성하지 않아도 되는 편리함과 Key 값을 코드에 적지 않아도 돼서 보안 측면에서 더 만족스러웠다.