Terraform을 사용하여 Schematics 구성
IBM Cloud® 의 Terraform은 예측 가능하고 일관된 IBM Cloud 서비스 프로비저닝을 통해 코드형 인프라( IaC ) 원칙에 따라 복잡한 다계층 클라우드 환경을 신속하게 구축할 수 있습니다. 마찬가지로 Terraform을 사용하여 IBM Cloud Schematics 작업 공간 및 작업 인스턴스의 프로비저닝, 업데이트 및 삭제를 자동화할 수 있습니다.
IBM Cloud 솔루션에서 관리되는 Terraform을 찾으십니까? IBM Cloud Schematics을(를) 시도하십시오. Schematics 에서는 익숙한 Terraform 언어를 사용할 수 있지만, Terraform 명령줄과 IBM Cloud 공급자 플러그인을 설정하고 유지 관리하는 것에 대해 걱정할 필요가 없습니다. Schematics 에서는 IBM Cloud 카탈로그에서 설치할 수 있는 미리 정의된 Terraform 템플릿도 제공합니다.
시작하기 전에 IBM Cloud Schematics 작업공간을 작성하고 관련 작업을 수행하기 위해 필요한 액세스 권한이 있는지 확인하십시오.
예 - Terraform을 사용하여 Schematics 워크스페이스 만들기
Terraform을 사용하여 Schematics 작업공간을 작성하려면 다음 단계를 완료하십시오.
-
IBM Cloud의 Terraform 시작하기 튜토리얼에 따라 Terraform CLI를 설치하고 IBM Cloud Provider Plug-in for Terraform을(를) 구성하십시오. 플러그인은 프로비저닝, 업데이트 또는 삭제에 사용되는 IBM Cloud
APIs리소스를 추상화합니다( Schematics ). -
main.tf,terraform.tfvars및versions.tf(이)라는 Terraform 구성 파일을 작성하십시오.Terraform 예제 Git URL
https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples/ibm-api-gateway을(를) 사용할 수 있습니다. 이 예에서는 서비스 인스턴스를 사용하여 원하는 IBM Cloud 서비스의 API를 설정합니다. 서비스에 액세스하는 데 사용할 API 엔드포인트를 지정하고, API를 안전하게 이용하도록 등록 키를 정의할 수 있습니다.us이외의 지역에 작업공간이 작성되어 있는 경우 API 엔드포인트를 해당 지역으로 설정해야 합니다. 예를 들어, 지정된 지역이eu인 경우 API 엔드포인트는 환경 변수에서IBMCLOUD_SCHEMATICS_API_ENDPOINT=https://eu.schematics.cloud.ibm.com으로 지정되어야 합니다. Schematics 워크스페이스 위치 및 사용할 엔드포인트에 대한 자세한 내용은 내 정보가 저장되는 위치를 참조하세요.그런 다음 해당 지역의
default리소스 그룹에 Schematics 워크스페이스tf-testwks-apigwy를 만듭니다. 이 작업공간은 Terraform 버전terraform_v1.5이(가) 필요한 사용자가 선택한 Terraform 템플리트를 가리킵니다.versions.tf작업공간을 작성하는 데 필요한 제공자 버전을 지정하기 위한 샘플
versions.tf파일입니다.terraform { required_version = ">=1.0.0, <2.0" required_providers { ibm = { source = "IBM-Cloud/ibm" } } }terraform.tfvars민감한 정보(예: 인증 정보)를 저장하기 위한 샘플
terraform.tfvars파일입니다. 자세한 정보는terraform.tfvars파일에서 인증 정보 참조를 참조하십시오. API 키를 작성하려면 작성 및 API 키를 참조하십시오.schematics_workspace_name="tf-testwks-apigwy" schematics_workspace_description="Sample workspace created with terraform with URL" schematics_workspace_type="terraform_v1.5" schematics_workspace_location="us-south" schematics_workspace_resource_group="default" ibmcloud_api_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"main.tf다음 샘플
main.tf파일을 검토하십시오. 이 파일은 Git URL을 사용하여terraform.tfvars파일에서 변수를 호출한 후 IBM Cloud API 키를 사용하여 Schematics 작업공간을 작성합니다.variable "schematics_workspace_name" {} variable "schematics_workspace_description" {} variable "schematics_workspace_type" {} variable "schematics_workspace_location" {} variable "schematics_workspace_resource_group" {} variable "ibmcloud_api_key" {} resource "ibm_schematics_workspace" "schematics_workspace_instance" { name = var.schematics_workspace_name description = var.schematics_workspace_description location = var.schematics_workspace_location resource_group = var.schematics_workspace_resource_group tags = ["sample"] template_env_settings = [ { env1 = "val1" }, { env2 = "val2" } ] template_type= var.schematics_workspace_type template_git_url = "https://github.com/IBM-Cloud/terraform-provider-ibm/tree/master/examples/ibm-api-gateway" } provider "ibm" { region = "us-south" ibmcloud_api_key = var.ibmcloud_api_key }다음 표에는 Terraform을 사용하여 서비스 인스턴스를 작성하고 초기화할 때 지원되는 매개변수가 나열되어 있습니다. 워크스페이스 생성을 위한 세부 매개변수에 대한 자세한 내용은 다음을 참조하세요
ibm_schematics_workspaceresource를 참조하세요.Terraform을 사용하여 Schematics 작업공간을 작성하기 위해 지원되는 매개변수입니다. 매개변수 설명 description작업공간에 대한 설명입니다. locationSchematics작업공간을 작성하고 Schematics 조치를 실행할 위치입니다. resource_group작업공간을 프로비저닝할 리소스 그룹의 ID입니다. name작업공간의 이름입니다. 이름은 길이가 최대 128자일 수 있으며 알파벳 문자, 공백, 대시 및 밑줄을 포함할 수 있습니다. 고유한 Terraform 템플리트에 대한 작업공간을 작성할 때 Terraform 템플리트를 사용하여 설정한 마이크로서비스 컴포넌트 및 리소스를 배치할 IBM Cloud 환경을 이름에 포함하는 것을 고려하십시오. tags작업공간과 연관된 태그 목록입니다. template_env_settingsTerraform 조치 실행 중에 적용할 환경 변수의 목록입니다. template_git_url리소스를 프로비저닝하기 위한 구성 세부사항이 있는 Git 저장소 URL입니다. template_typeSchematics 작업공간에 적용할 Terraform 버전을 지정하십시오. -
Terraform CLI를 초기화하십시오.
terraform initTerraform의 환경 변수 경로가 설정되지 않은 경우
command not found: terraform오류가 표시됩니다. Terraform 설치 디렉토리에 대한 경로를 설정하여 오류를 수정하십시오. -
Terraform 실행 플랜을 작성하십시오. Terraform 실행 플랜은 해당 계정에 Schematics 작업공간을 작성하기 위해 실행해야 하는 모든 조치를 요약합니다.
terraform plan -
Schematics에서 IBM Cloud 작업공간 인스턴스 및 IAM 액세스 정책을 작성하십시오.
terraform applyterraform apply명령 오류 문제 해결에 대한 자세한 내용은 Schematics 적용이 실패하는 근본 원인 찾기를 참조하세요. -
Schematics 대시보드에서
tf-testwks-apigwy작업공간이 작성되었는지 확인하십시오. 리소스는 IBM Cloud Schematics 리소스 목록에서 프로비저닝됩니다. -
액세스 정책이 정상적으로 지정되었는지 확인하십시오. 자세한 정보는 콘솔에서 지정된 액세스 권한 검토를 참조하십시오.
다음에 수행할 작업
Schematics에서 Terraform을 사용하여 첫 번째 IBM Cloud 작업공간을 정상적으로 작성한 경우 다음 태스크 중에서 선택할 수 있습니다.
- IBM Cloud 에서 테라폼 템플릿을 실행하기 위한 IBM Cloud Schematics 작업 리소스를 만드는 방법을 알아보세요.
- IBM Cloud 에서
Ansible playbooks를 실행하려면 IBM Cloud Schematics 조치 리소스를 확인하십시오. - 지원되는 다른 테라폼 리소스 및 데이터 소스를 살펴보거나 IBM Cloud Schematics 에 사용할 수 있는 다른 인수와 속성을 확인하거나 예제에서 사용된 Terraform 리소스에 사용할 수 있는 다른 인수를 확인하세요.
- 기본적으로 안전한 오픈 소스 및 엔터프라이즈급 Terraform IBM 모듈(TIM)을 사용하여 프로비저닝을 간소화하세요.