Terraform Provider

변재한·2023년 3월 12일
0
post-thumbnail

Terraform Provider란?

provider는 Terraform이 리소스를 생성하고 관리하는 데 사용하는 plugin이다.
쉽게 말해 작성한 코드를 어떤 인프라에 반영할지를 설정하는 것이다.

아래 코드는 Terraform Registry - AWS에서 AWS를 provider로 설정하기 위한 예시이다.
access_key, secret_key를 참고하여 terraform이 aws에 인프라 설정을 하기 위한 권한을 얻게 된다.

provider "aws" {
  region     = "us-west-2"
  access_key = "my-access-key"
  secret_key = "my-secret-key"
}

주의사항

위처럼 코드에 직접적으로 민감한 정보를 명시하는 것은 지양된다.
코드가 노출되어 불순한 의도를 가진 누군가가 무단으로 자신의 AWS에 접근하여 과다한 비용이 청구될 수도 있고, 구축해 놓은 서비스가 무너질 수도 있기 때문이다.
따라서, 아래와 같은 두 가지 방법을 사용한다.

환경변수

환경변수를 설정한다.

provider "aws" {}
$ export AWS_ACCESS_KEY_ID="anaccesskey"
$ export AWS_SECRET_ACCESS_KEY="asecretkey"
$ export AWS_REGION="us-west-2"

설정파일

aws provider는 aws과 관련된 권한 파일을 읽어올 수 있다.

provider "aws" {
  shared_config_files      = ["$HOME/.aws/config"]
  shared_credentials_files = ["$HOME/.aws/credentials"]
}
profile
Infra and Devops 엔지니어가 되고 싶어용

0개의 댓글