Terraform Cloud의 Workspace 만들기
5477 단어 Terraformterraformcloudtech
Terraform Cloud의 Workspace 만들기
저번에 테라폼클라우드에 계정을 냈는데 워크스페이스를 만들자.
어쨌든 지금부터 화면에서 푸치푸치를 만들어도 되는데 오랜만에 왔는데 이것도 테라form으로 만들어보자.
Terraform Cloud Provider 사용
Terraform Enterprise Provider에 소개
tfe
가 있다.Terraform Cloud를 관리하는 Terraform Provider입니다.
한 마디로 하면, provier의 정의는 다음과 같다.
provider tfe {}
옵션도 지정할 수 있지만 환경 변수로 전달할 수 있기 때문에 이번에는 이런 식으로token
환경 변수
TFE_TOKEN
를 통해 지정할 수 있음hostname
app.terraform.io
이므로 일반적으로 사용하는 경우에는 특별히 지정할 필요가 없음환경 변수
TFE_HOSTNAME
를 통해 지정할 수 있음Terraform Cloud 토큰 가져오기
Terraform Cloud의
Settings
를 열고 Teams
설정에서 팀 토큰을 생성합니다.생성된 토큰은 Warning에서도 한 번뿐입니다.
잃어버리면 다시 만들어주세요.
Terraform으로 Workspace 만들기
우선 간단한 샘플로 다음과 같이 준비하겠습니다.
terraform cloud에서testworkspace를 만드는 코드입니다.
provider tfe {}
resource tfe_workspace test {
name = "test"
organization = "mominosin"
}
최초 초기화 후 TFE위에서 받은 영패를 토키오 플랜에게 건네보게.❯ terraform init
❯ TFE_TOKEN=<TOKEN> terraform plan
플랜의 결과는 다음과 같다.❯ TFE_TOKEN=
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
------------------------------------------------------------------------
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# tfe_workspace.test will be created
+ resource "tfe_workspace" "test" {
+ auto_apply = false
+ external_id = (known after apply)
+ file_triggers_enabled = true
+ id = (known after apply)
+ name = "test"
+ operations = true
+ organization = "mominosin"
+ queue_all_runs = true
+ terraform_version = (known after apply)
}
Plan: 1 to add, 0 to change, 0 to destroy.
------------------------------------------------------------------------
Note: You didn't specify an "-out" parameter to save this plan, so Terraform
can't guarantee that exactly these actions will be performed if
"terraform apply" is subsequently run.
플랜에 문제가 없으면 apply.❯ TFE_TOKEN=
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# tfe_workspace.test will be created
+ resource "tfe_workspace" "test" {
+ auto_apply = false
+ external_id = (known after apply)
+ file_triggers_enabled = true
+ id = (known after apply)
+ name = "test"
+ operations = true
+ organization = "mominosin"
+ queue_all_runs = true
+ terraform_version = (known after apply)
}
Plan: 1 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
tfe_workspace.test: Creating...
tfe_workspace.test: Creation complete after 0s [id=ws-KcNddjr6WWs4rEmP]
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Resources: 1 added
라서 워크스페이스를 하나 만든 것 같아요.Terraform Cloud에서 확인하면 test workspace가 생성됩니다.
테스트 워크스페이스를 열고 워크스페이스에state 파일로 지정한 방법을 저장합니다.
토큰을 전달하지 않을 때
토큰을 교부하지 않으면 오류가 발생할 수 있습니다.
❯ terraform plan
Refreshing Terraform state in-memory prior to plan...
The refreshed state will be used to calculate this plan, but will not be
persisted to local or remote state storage.
------------------------------------------------------------------------
Error: required token could not be found
on workspace.tf line 1, in provider "tfe":
1: provider tfe {}
최후
이번에는 짧았지만 테라form Cloud에 테라form으로 워크스페이스를 만드는 방법을 써봤어요.
다음에는 워크스페이스에서 테라form으로 git와 환경 변수 등의 설정을 계속 제작할 계획이다.
이번에 사용한 코드는 terraform-cloud-workspaces / pre_workspace입니다. 관심 있으면 보세요.
Reference
이 문제에 관하여(Terraform Cloud의 Workspace 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/momin/articles/27d33122020c50d407c7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)