Terraform으로 Azure 구축 및 운영 자동화 시작
이번에는 terraform을 사용하여 Azure의 환경 구축·운용 자동화에 입문해 보겠습니다.
이 기사에서는 다음을 게시합니다.
1, CentOS7에 terraform 실행 환경 설치
2,Terraform에서 Azure에 액세스하기위한 값 가져 오기
3, 실제로 Azure 자원 그룹을 terraform으로 작성
전제
Azure 계정이 만들어졌습니다.
1, CentOS7에 terraform 실행 환경 설치
※root 유저로의 작업으로 합니다.
# terraformダウンロード
wget https://releases.hashicorp.com/terraform/0.11.13/terraform_0.11.13_linux_amd64.zip
# terraform配置
unzip ./terraform_0.11.13_linux_amd64.zip -d /usr/local/bin/
# 確認
terraform -v
# terraform用ディレクトリ作成
mkdir terraform
cd terraform
2,Terraform에서 Azure에 액세스하기위한 값 가져 오기
Azure 콘솔 상단의 다음 표시를 클릭하여 Azure Cloud Shell에 연결합니다.
[bash] 또는 [PowerShell]을 선택하는 화면이 나타나면 [bash]를 선택합니다. 그러면 다음 화면이 표시됩니다.
여기서, 이하의 커맨드로 값을 취득한다.
# サブスクリプションID、テナントIDを表示
araki@Azure:~$ az account show --query "{subscriptionId:id, tenantId:tenantId}"
{
"subscriptionId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"tenantId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
# アカウントにSUBSCRIPTIONが複数ある場合以下でID設定をする。
一つしかない場合はやる必要がない。むしろやるとエラーになる。
araki@Azure:~$ SUBSCRIPTION_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
araki@Azure:~$ az account set --subscription="SUBSCRIPTION_ID"
# Terraformで使用するサービス プリンシパルを作成
araki@Azure:~$ az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/${SUBSCRIPTION_ID}"
Creating a role assignment under the scope of "/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Retrying role assignment creation: 1/36
{
"appId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"displayName": "azure-cli-YYYY-MM-DD-hh-mm-ss",
"name": "http://azure-cli-YYYY-MM-DD-hh-mm-ss",
"password": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"tenant": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
3, 실제로 Azure 자원 그룹을 terraform으로 작성
변수 설정
CentOS7로 되돌아 가서 취득한 값을 변수로 설정합니다.
export ARM_SUBSCRIPTION_ID=サブスクリプションID
export ARM_CLIENT_ID=アップId
export ARM_CLIENT_SECRET=パスワード
export ARM_TENANT_ID=テナントID
tf 파일 만들기
vi test.tf
※以下記載。
provider "azurerm" {
}
resource "azurerm_resource_group" "rg" {
name = "testResourceGroup"
location = "westus"
}
위는 testResourceGroup이라는 자원 그룹을 westus에 작성하는 정의를 가지고 있습니다.
Terraform 배포 초기화
terraform init
※Terraform has been successfully initialized! と表示されたら成功。
드라이런
terraform plan
※最下部に以下のように表示される。
Terraform will perform the following actions:
+ azurerm_resource_group.rg
id: <computed>
location: "westus"
name: "testResourceGroup"
tags.%: <computed>
Plan: 1 to add, 0 to change, 0 to destroy.
「+」마크가 자원 정의에 의해 작성되는 항목입니다. 마지막 행은 추가, 변경, 삭제 항목이 몇 개 있는지를 나타냅니다.
자원 정의 적용
terraform apply
※途中、本当に適用するか確認されるのでyesと入力する。
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
※最後に以下表示される。
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
실제로 콘솔에서 확인하면 리소스 그룹이 만들어집니다.
이상, 간단하게 Terafform으로 Azure 리소스를 작성해 보았습니다만, 리소스 정의에 대해서 이쪽도 참고가 됩니다.
· Terraform으로 Azure에 완벽한 Linux 가상 머신 인프라 만들기
참고
· VM과 같은 인프라를 Azure에 프로비저닝하기위한 Terraform 설치 및 구성
Reference
이 문제에 관하여(Terraform으로 Azure 구축 및 운영 자동화 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/y-araki-qiita/items/f68f3c614c56dc007a4b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# terraformダウンロード
wget https://releases.hashicorp.com/terraform/0.11.13/terraform_0.11.13_linux_amd64.zip
# terraform配置
unzip ./terraform_0.11.13_linux_amd64.zip -d /usr/local/bin/
# 確認
terraform -v
# terraform用ディレクトリ作成
mkdir terraform
cd terraform
Azure 콘솔 상단의 다음 표시를 클릭하여 Azure Cloud Shell에 연결합니다.
[bash] 또는 [PowerShell]을 선택하는 화면이 나타나면 [bash]를 선택합니다. 그러면 다음 화면이 표시됩니다.
여기서, 이하의 커맨드로 값을 취득한다.
# サブスクリプションID、テナントIDを表示
araki@Azure:~$ az account show --query "{subscriptionId:id, tenantId:tenantId}"
{
"subscriptionId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"tenantId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
# アカウントにSUBSCRIPTIONが複数ある場合以下でID設定をする。
一つしかない場合はやる必要がない。むしろやるとエラーになる。
araki@Azure:~$ SUBSCRIPTION_ID="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
araki@Azure:~$ az account set --subscription="SUBSCRIPTION_ID"
# Terraformで使用するサービス プリンシパルを作成
araki@Azure:~$ az ad sp create-for-rbac --role="Contributor" --scopes="/subscriptions/${SUBSCRIPTION_ID}"
Creating a role assignment under the scope of "/subscriptions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
Retrying role assignment creation: 1/36
{
"appId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"displayName": "azure-cli-YYYY-MM-DD-hh-mm-ss",
"name": "http://azure-cli-YYYY-MM-DD-hh-mm-ss",
"password": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"tenant": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
3, 실제로 Azure 자원 그룹을 terraform으로 작성
변수 설정
CentOS7로 되돌아 가서 취득한 값을 변수로 설정합니다.
export ARM_SUBSCRIPTION_ID=サブスクリプションID
export ARM_CLIENT_ID=アップId
export ARM_CLIENT_SECRET=パスワード
export ARM_TENANT_ID=テナントID
tf 파일 만들기
vi test.tf
※以下記載。
provider "azurerm" {
}
resource "azurerm_resource_group" "rg" {
name = "testResourceGroup"
location = "westus"
}
위는 testResourceGroup이라는 자원 그룹을 westus에 작성하는 정의를 가지고 있습니다.
Terraform 배포 초기화
terraform init
※Terraform has been successfully initialized! と表示されたら成功。
드라이런
terraform plan
※最下部に以下のように表示される。
Terraform will perform the following actions:
+ azurerm_resource_group.rg
id: <computed>
location: "westus"
name: "testResourceGroup"
tags.%: <computed>
Plan: 1 to add, 0 to change, 0 to destroy.
「+」마크가 자원 정의에 의해 작성되는 항목입니다. 마지막 행은 추가, 변경, 삭제 항목이 몇 개 있는지를 나타냅니다.
자원 정의 적용
terraform apply
※途中、本当に適用するか確認されるのでyesと入力する。
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
※最後に以下表示される。
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
실제로 콘솔에서 확인하면 리소스 그룹이 만들어집니다.
이상, 간단하게 Terafform으로 Azure 리소스를 작성해 보았습니다만, 리소스 정의에 대해서 이쪽도 참고가 됩니다.
· Terraform으로 Azure에 완벽한 Linux 가상 머신 인프라 만들기
참고
· VM과 같은 인프라를 Azure에 프로비저닝하기위한 Terraform 설치 및 구성
Reference
이 문제에 관하여(Terraform으로 Azure 구축 및 운영 자동화 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/y-araki-qiita/items/f68f3c614c56dc007a4b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
export ARM_SUBSCRIPTION_ID=サブスクリプションID
export ARM_CLIENT_ID=アップId
export ARM_CLIENT_SECRET=パスワード
export ARM_TENANT_ID=テナントID
vi test.tf
※以下記載。
provider "azurerm" {
}
resource "azurerm_resource_group" "rg" {
name = "testResourceGroup"
location = "westus"
}
terraform init
※Terraform has been successfully initialized! と表示されたら成功。
terraform plan
※最下部に以下のように表示される。
Terraform will perform the following actions:
+ azurerm_resource_group.rg
id: <computed>
location: "westus"
name: "testResourceGroup"
tags.%: <computed>
Plan: 1 to add, 0 to change, 0 to destroy.
terraform apply
※途中、本当に適用するか確認されるのでyesと入力する。
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
※最後に以下表示される。
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Reference
이 문제에 관하여(Terraform으로 Azure 구축 및 운영 자동화 시작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/y-araki-qiita/items/f68f3c614c56dc007a4b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)