Terraform for CIS 설정

IBM Cloud® 의 Terraform을 사용하면 IBM Cloud 서비스를 예측 가능하고 일관성 있게 생성할 수 있으므로, ‘인프라스트럭처 애즈 코드(Infrastructure as Code, IaC )’ 원칙에 따라 복잡한 다계층 클라우드 환경을 신속하게 구축할 수 있습니다. IBM Cloud CLI나 API 및 SDK를 사용하는 것과 마찬가지로, HashiCorp 구성 언어(HCL)를 사용하여 IBM Cloud Internet Services 인스턴스의 생성, 업데이트 및 삭제를 자동화할 수 있습니다.

관리되는 Terraform on IBM Cloud® 솔루션을 찾고 있습니까? IBM Cloud® Schematics을 사용해 보십시오. Schematics 를 사용하면 익숙한 Terraform 스크립팅 언어를 활용할 수 있을 뿐만 아니라, Terraform 명령줄과 IBM Cloud® Provider 플러그인의 설정 및 유지 관리에 대해 걱정할 필요가 없습니다. 또한 Schematics 에서는 IBM Cloud® 카탈로그에서 설치할 수 있는 미리 정의된 Terraform 템플릿을 제공합니다.

Terraform 설치 및 IBM Cloud Internet Services에 대한 리소스 구성

Terraform을 사용하여 인증을 만들기 전에 다음 사전 요구 사항을 완료하세요:

  • IBM Cloud Internet Services 을 만들고 작업하는 데 필요한 액세스 권한이 있는지 확인합니다.
  • Terraform CLI를 설치하고 Terraform용 IBM Cloud 프로바이더 플러그인을 구성하십시오. 자세한 내용은 IBM Cloud 에서 Terraform 시작하기를 참조하세요. 이 플러그인은 해당 작업을 수행하는 데 사용되는 IBM Cloud API를 추상화합니다.
  • main.tf 라는 이름의 Terraform 구성 파일을 생성합니다. 이 파일을 사용하여 HashiCorp 구성 언어(HCL)로 Terraform 코드를 작성하여 서비스 간의 권한을 정의하세요. 자세한 내용은 Terraform 문서를 참조하십시오.
  1. Terraform 구성 파일에서 CIS 인스턴스를 생성하는 데 사용한 Terraform 코드를 찾아보세요.

  2. main.tf 파일에 ibm_resource_instance 리소스 인수를 사용하여 CIS 인스턴스를 생성합니다. 다음 예제에 나오는 ‘ CIS ’ 인스턴스의 이름은 ‘ test ’이며, ‘Standard’ 요금제로 생성되었습니다. resource_group_iddata.ibm_resource_group.group.id이고 위치 특성은 global로 설정됩니다.

    data "ibm_resource_group" "group" {
      name = "test"
    }
    resource "ibm_cis" "cis_instance" {
      name              = "test"
      plan              = "standard-next"
      resource_group_id = data.ibm_resource_group.group.id
      tags              = ["tag1", "tag2"]
      location          = "global"
      //User can increase timeouts
      timeouts {
        create = "15m"
        update = "15m"
        delete = "15m"
      }
    }
    

    resource_group_id 를 지정하지 않으면 기본 리소스 그룹에 CIS 인스턴스가 생성됩니다. API_KEY 에 이 그룹에 대한 권한이 있어야 합니다.

    한 요금제에서 다른 요금제로 마이그레이션하는 경우 변경 사항은 기존 리소스의 수정으로 간주됩니다. 리소스 생성 또는 삭제로 간주되지 않습니다.

  3. 구성 파일 빌드를 완료한 후 Terraform CLI를 초기화하십시오. 자세한 내용은 작업 디렉터리 초기화를 참조하세요.

    terraform init
    
  4. main.tf 파일에서 자원을 프로비저닝하십시오. 자세한 내용은 인프라 프로비저닝을 위한 Terraform 워크플로우를 참조하세요.

    1. terraform plan 를 실행하여 제안된 조치를 미리보기 위한 Terraform 실행 플랜을 생성하십시오.
       terraform plan
    
    1. terraform apply 를 실행하여 계획에 정의된 자원을 작성하십시오.
       terraform apply
    
  5. IBM Cloud 리소스 목록에서 생성한 ‘ CIS ’ 인스턴스를 선택하고 인스턴스 ID를 기록해 둡니다.

  6. 액세스 정책이 정상적으로 지정되었는지 확인하십시오. 자세한 정보는 콘솔에서 지정된 액세스 권한 검토를 참조하십시오.

다음에 수행할 작업

IBM Cloud 에서 Terraform을 사용하여 첫 번째 CIS 서비스 인스턴스를 성공적으로 생성했으므로, 이제 CIS Cloud Internet Services (CIS) Terraform 레지스트리를 방문하여 Terraform을 활용해 추가 작업을 수행할 수 있습니다.