목차


01. 사전조건

환경준비를 참조하여, 환경을 준비 합니다.


02. Azure 로그인 및 구독설정

  • Azuer cli 명령어로 로그인하고, 유효한 구독을 설정합니다. (구독이 1개라면, 해당 작업은 건너뛰어도 됩니다.
  • az login
    az account list
    az account set --subscription "{subscription id}"


03. Terraform 자격 증명 생성

  • 자격증명 생성
    az ad sp create-for-rbac --name TerraformPrincipal --query "{ client_id: appId, client_secret: password, tenant_id: tenant }"
    자격증명 생성 결과
    {
      "client_id": "xxxxxx-9da0-46e7-9c61-xxxxxxxx",
      "client_secret": "xxxxxx-bea2-xxxxxx-ba7e-xxxxxxxx",
      "tenant_id": "xxxxxxx-b61a-xxxxxx-ac9a-xxxxxxxxx"
    }
    구독조회 명령어
    az account show --query "{ subscription_id: id }"
    구독 조회 결과
    {
    	"subscription_id": "xxxxx-xxxxx-xxxxx-xxxxxxx"
    }


04. Terraform Template

  1. Visual Studio Code를 실행하고, WSL Terminal을 실행합니다.
  2. Git Clone로 IaC Template을 복제 합니다.

    Git Clone
    git clone https://github.com/Sanses/IaC.git
    
    Git Clone
    cd IaC/terraform-logworkspace
    
    ls -al
    logworkspace.tf
    terraform.tfvars
    


  3. terraform.tfvars 환경변수 값을 설정 합니다.

    terraform.tfvars
    subscription_id = "{subscription_id}"
    tenant_id = "{tenant_id}"
    client_id = "{client_id}"
    client_secret = "{client_secret}"
  4. Terraform Template를 확인 합니다.

    logworkspace.tf
    resource "azurerm_resource_group" "logworkspace" {
      name     = "xLogWorkspaceRG"
      location = "koreacentral"
    }
    
    resource "azurerm_log_analytics_workspace" "logworkspace" {
      name                = "sanselogwork"
      location            = "${azurerm_resource_group.logworkspace.location}"
      resource_group_name = "${azurerm_resource_group.logworkspace.name}"
      sku                 = "PerGB2018"
      retention_in_days   = 30
    }
    
    output "workspaceId" {
        value = azurerm_log_analytics_workspace.logworkspace.workspace_id
    }
    output "primaryKey" {
        value = azurerm_log_analytics_workspace.logworkspace.primary_shared_key
    }

05. Terraform 실행

  • 초기화
    terraform init
    PLAN
    terraform plan
    적용
    terraform apply
    결과
    Outputs:
    primaryKey = +AL+z0hyJMWxxxxxxFzxxxxxxxxxxxxxxxg/xxxxxxxxxxxxxxqTOA/JsiCZg/HMTg==
    workspaceId = xxxxxx-95e6-4823-xxxxx-xxxxx


  • Outputs로 출력된 primaryKey와 workspaceId를 기록해 둡니다.




  • No labels
Write a comment…