다음을 사용하여 리소스 관리 Schematics
IBM Cloud Schematics 을 사용하여 Terraform 템플리트를 적용하는 IBM Cloud® 리소스를 배치, 수정 및 제거하십시오.
리소스 배치
Terraform configs 를 배포하여 Schematics 로 클라우드 자원을 프로비저닝하거나 수정하세요.
시작하기 전에
- UI에서 작업공간을 작성 하거나 CLI를 통해 작업공간을 작성 하십시오.
- 대상IBM Cloud 계정에 리소스를 배치하는 데 필요한 IAM 권한 이 있는지 확인하십시오.
리소스를 배포하려면
-
작업공간 대시보드에서 적용할 Terraform 템플리트의 작업공간을 선택하십시오.
샘플 템플릿 예제는 Cloud Schematics GitHub, 템플릿 중 하나를 테스트에 사용할 수 있습니다. 예를 들어, Easy 멀티존 VPC.
-
설정 탭을 선택하십시오.
-
세부 정보 섹션에서 최신 가져오기를 클릭하여 링크된 GitHub 소스 리포지토리에서 최신 버전의 테라폼 템플릿을 가져옵니다. 테이프 아카이브 파일(
.tar)을 업로드하여 Terraform 템플리트를 제공한 경우ibmcloud schematics workspace upload명령을 사용하여 템플리트의 새 버전을 제공해야 합니다. -
선택사항: 작업공간에 대해 설정한 변수를 검토하십시오. 변수 값은 테라폼 템플릿에서 변수를 참조하는 모든 곳에서 사용됩니다.
-
플랜 생성을 클릭하여 Terraform 실행 플랜을 작성하십시오. Schematics 이 버튼을 클릭하면 작업 영역 작업 페이지가 열리고
terraform plan을 실행하여 IBM Cloud 계정에서 이미 프로비저닝한 리소스의 상태와 Terraform 템플릿으로 프로비저닝하려는 리소스를 비교합니다. -
작업을 클릭하여 실행 계획의 로그를 검토합니다. 실행 계획에는 Terraform 템플릿에 설명된 상태를 달성하기 위해 생성, 수정 또는 삭제되는 클라우드 리소스의 요약이 포함됩니다. Terraform 구성 파일에 구문 오류가 있는 경우 로그 파일에서 오류 메시지를 검토할 수 있습니다.
-
Schematics 에서 만들거나 변경하려는 각 클라우드 리소스에 대해 사용 가능한 서비스 요금제 및 가격 정보를 검토하세요. 일부 서비스에는 IBM Cloud 계정당 한계가 있습니다. 계정의 서비스 한계에 도달하려고 하면 먼저 서비스 할당량을 늘리거나 기존 서비스를 제거할 때까지 리소스가 프로비저닝되지 않습니다.
-
준비가 되면 플랜 적용을 클릭하여 Terraform 템플리트를 적용하십시오. 이 조치는
terraform apply명령과 동일합니다. 버튼을 클릭하면 IBM Cloud Schematics 실행 계획에서 식별된 작업에 따라 클라우드 리소스의 프로비저닝, 수정 또는 삭제가 시작됩니다. 프로비저닝하거나 수정할 리소스의 수 및 유형에 따라 이 프로세스를 완료하는 데 몇 분 또는 최대 몇 시간이 걸릴 수 있습니다. 이 시간 동안에는 작업공간을 변경할 수 없습니다. 모든 업데이트가 적용된 후 클라우드 리소스의 상태는 IBM Cloud Schematics 에서 IBM Cloud 계정에 어떤 리소스가 있는지 확인하는 데 사용하는 Terraform 상태 파일에 저장됩니다.Terraform 템플리트 적용을 중지하려면 중지 단추를 사용하십시오. 이미 작성된 모든 리소스는 제거되지 않습니다. 현재 리소스를 프로비저닝하는 중이면 Schematics가 프로비저닝이 완료될 때까지 대기한 후 Terraform 템플리트에 있는 다른 리소스의 작성, 업데이트 또는 삭제를 중지합니다.
-
작업 로그를 검토하여 프로비저닝, 수정 또는 삭제 프로세스 중에 오류가 발생하지 않았는지 확인합니다.
-
탐색에서 리소스를 선택하여 IBM Cloud 계정에서 사용할 수 있는 클라우드 리소스의 요약을 찾습니다.
리소스 업데이트
클라우드 자원을 업데이트하려면, 자원에 수행해야 하는 필수 변경 사항으로 Terraform 템플릿을 업데이트하십시오.
구성 변경에 따라 Terraform에서 적절한 위치에 있는 리소스를 업데이트하지 못할 수 있습니다. 대신 Terraform은 먼저 리소스를 삭제하고 새 리소스를 작성해야 합니다. Terraform이 제거 및 다시 작성할 리소스를 식별하는 경우 작업 환경을 인터럽트하지 않거나 데이터를 삭제하지 않도록 하십시오.
리소스를 업데이트하려면 다음을 수행하십시오.
-
워크스페이스 대시보드에서 업데이트한 테라폼 템플릿을 가리키는 워크스페이스를 선택합니다.
-
설정 탭을 선택하십시오.
-
세부 정보 섹션에서 최신 가져오기를 클릭하여 링크된 GitHub 소스 리포지토리에서 최신 버전의 테라폼 템플릿을 가져옵니다. 테이프 아카이브 파일(
.tar)을 업로드하여 Terraform 템플리트를 제공한 경우ibmcloud schematics workspace upload명령을 사용하여 템플리트의 새 버전을 제공해야 합니다. -
작업공간을 작성할 때 설정한 변수값을 변경하려면 변수값을 변경하십시오.
-
플랜 생성을 클릭하여 Terraform 실행 플랜을 작성하십시오. 이 시간 동안에는 작업공간을 변경할 수 없다는 점에 유의하십시오.
-
작업 을 클릭하여 실행 로그를 검토하십시오. 작업 로그는 IBM Cloud Schematics 에서 수정하려는 모든 리소스에 대한 요약을 제공합니다. IBM Cloud Schematics 에서는 일부 리소스를 수정하지 못할 수 있으며 리소스를 제거하고 다시 만들 것을 제안할 수 있습니다.
-
플랜 적용을 클릭하여 새 Terraform 템플리트 버전을 적용하십시오. 변경한 내용에 따라 템플릿을 적용하는 데 몇 분에서 최대 몇 시간까지 걸릴 수 있습니다. 이 시간 동안에는 작업공간을 변경할 수 없다는 점에 유의하십시오.
Terraform 템플리트 적용을 중지하려면 중지 단추를 사용하십시오. 이미 수행된 리소스에 대한 업데이트는 되돌리지 않습니다. 현재 리소스를 업데이트하는 중이면 Schematics는 업데이트가 완료될 때까지 대기한 후 Terraform 템플리트에 있는 다른 리소스의 작성, 업데이트 또는 삭제를 중지합니다.
-
작업 로그를 검토하여 수정 프로세스 중에 오류가 발생하지 않았는지 확인합니다.
-
탐색에서 리소스를 선택하고 리소스가 업데이트된 구성을 표시하는지 확인하십시오.
클라우드 환경과 Terraform 구성 간의 드리프트 관리
클라우드 환경의 실제 상태와 인프라 코드 간의 편차(drift라고도 함) 관리는 코드로 인프라를 구현할 때의 주요 도전 과제입니다. 편차는 다음과 같은 여러 가지 이유로 발생할 수 있습니다.
- 인프라 코드를 실행하지 않고 Terraform 구성 파일의 리소스를 추가하거나 업데이트하거나 제거했습니다.
- Terraform 없이 IBM Cloud를 수동으로 추가하거나 업데이트하거나 제거했습니다.
- 스크립트와 같은 다른 자동화 도구를 사용하여 클라우드 리소스의 상태를 조작했습니다.
작업공간 드리프트 발견 기능 사용을 참조하십시오.
리소스 및 배치 세부사항 검토
IBM Cloud Schematics 배포 및 현재 관리하고 있는 클라우드 리소스에 대한 자세한 내용은 IBM Cloud Schematics 에서 확인하세요.
- 워크스페이스 대시보드에서 검사하려는 워크스페이스를 선택합니다.
- 탐색에서 설정을 선택하여 워크스페이스의 활동 요약을 찾습니다.
- 이전 Terraform 실행 플랜 및 적용한 플랜의 로그를 검토하십시오.
- 탐색에서 리소스를 선택하여 이 워크스페이스로 만든 클라우드 리소스의 상태를 검토합니다.
- Terraform 템플리트를 변경한 사용자를 검토하려면 작업공간에 링크된 GitHub의 소스 저장소로 이동하고 커미트 히스토리 및 가져오기 요청과 같은 기본 제공 기능을 사용하여 변경사항을 검토하십시오.
- Schematics가 IBM Cloud Activity Tracker Event Routing에 전송한 이벤트를 검토하려면 IBM Cloud Activity Tracker Event Routing 이벤트를 참조하십시오.
리소스 제거
IBM Cloud Schematics 으로 프로비저닝한 Cloud 리소스를 제거하려면 Schematics 으로 리소스를 제거하거나 워크스페이스를 삭제하거나 Terraform 템플릿에서 인프라 코드를 제거하면 됩니다.
클라우드 리소스를 제거한 후에는 되돌릴 수 없습니다. 리소스를 제거하기 전에 데이터를 백업했는지 확인하십시오. 인프라 코드를 제거하거나 Terraform 구성 파일에서 리소스를 주석 처리하도록 선택하는 경우 실행 플랜의 로그 파일을 철저히 검토하여 모든 리소스가 제거에 포함되었는지 확인해야 합니다.
Terraform 템플리트에서 리소스 구성을 제거하여 리소스를 제거하려면 다음을 수행하십시오.
-
로컬 시스템 또는 GitHub의 소스 저장소에서 Terraform 구성 파일을 여십시오.
-
파일에서 인프라 코드를 제거하거나 각 행의 시작 부분에
#을 추가하여 제거할 리소스를 주석 처리하십시오.자원 정의를 주석 처리하여 자원을 제거하는 예:
# resource ibm_is_instance "vsi1" { # name = "${local.BASENAME}-vsi2" # vpc = ibm_is_vpc.vpc.id # zone = "${local.ZONE}" # keys = [data.ibm_is_ssh_key.ssh_key_id.id] # image = data.ibm_is_image.ubuntu.id # profile = "cc1-2x4" # primary_network_interface { # subnet = ibm_is_subnet.subnet1.id # security_groups = [ibm_is_security_group.sg1.id] # } #} -
Terraform 구성 파일에 대한 변경사항을 커미트하십시오.
-
작업공간 대시보드에서 방금 변경한 Terraform 템플리트의 작업공간을 선택하십시오.
-
탐색에서 설정을 선택하십시오.
-
세부 정보 섹션에서 최신 가져오기를 클릭하여 링크된 GitHub 소스 리포지토리에서 최신 버전의 테라폼 템플릿을 가져옵니다. 테이프 아카이브 파일(
.tar)을 업로드하여 Terraform 템플리트를 제공한 경우ibmcloud schematics workspace upload명령을 사용하여 템플리트의 새 버전을 제공해야 합니다. -
플랜 생성을 클릭하여 Terraform 실행 플랜을 작성하십시오. 워크스페이스 작업 페이지가 열립니다. 이 시간 동안에는 작업공간을 변경할 수 없다는 점에 유의하십시오.
-
작업을 클릭하여 실행 계획의 로그를 검토합니다. 이 로그는 IBM Cloud Schematics 에서 제거하려는 모든 리소스에 대한 요약을 제공합니다.
-
요금제 적용을 클릭하여 계정에서 클라우드 리소스를 제거합니다.
Terraform 템플리트 적용을 중지하려면 중지 단추를 사용하십시오. 이미 제거된 모든 리소스는 다시 작성되지 않습니다. 현재 리소스를 삭제하는 중이면 Schematics는 삭제가 완료될 때까지 대기한 후 Terraform 템플리트에 있는 다른 리소스의 작성, 업데이트 또는 삭제를 중지합니다.
-
로그 파일을 검토하여 삭제 프로세스 중에 오류가 발생하지 않았는지 확인하십시오.
-
탐색에서 리소스를 선택하고 해당 리소스가 제거되었는지 확인하십시오.
-
선택사항: 모든 리소스를 제거한 후 작업공간을 제거하십시오.
-
워크스페이스 대시보드를 열고 제거하려는 워크스페이스를 찾습니다.
-
조치 탭을 클릭하고 작업공간 삭제 옵션을 선택하십시오.
-
workspace_name입력하여 확인 텍스트 상자에 워크스페이스 이름을 입력합니다. -
삭제 단추를 클릭하십시오.
Schematics 콘솔을 사용하여 자원을 제거하려면 다음을 수행하십시오.
- 워크스페이스 대시보드에서 삭제하려는 리소스가 포함된 워크스페이스를 찾습니다.
- 작업 탭을 클릭하고 리소스 삭제 옵션을 선택합니다.
workspace_name입력하여 확인 텍스트 상자에 워크스페이스 이름을 입력합니다. 리소스를 영구 삭제하면 작업공간 및 IBM Cloud에서 리소스가 제거됩니다. 이 조치는 실행 취소할 수 없습니다.- 삭제 단추를 클릭하십시오.
- 탐색에서 작업을 선택하여 리소스 삭제에 대한 로그를 검토합니다. 삭제 프로세스 중에 오류가 발생하지 않았는지 확인하십시오.
- 작업을 성공적으로 실행한 후 탐색에서 리소스를 선택하고 리소스가 제거되었는지 확인합니다.
리소스 제거가 완료되면 Schematics 작업공간을 삭제할 수 있습니다.
CLI를 통해 리소스 배치
Terraform configs 를 배포하여 Schematics 로 클라우드 자원을 프로비저닝하거나 수정하세요.
시작하기 전에:
- CLI에서 작업공간을 작성 하거나 CLI를 사용하여 작업공간을 작성 하십시오.
- IBM Cloud 에 리소스를 배포하는 데 필요한 IAM 권한이 있는지 확인합니다.
리소스를 배치하려면 다음을 수행하십시오.
-
로컬 명령행 인터페이스 에서 CLI및 Schematics 플러그인을 설정하십시오.
-
ibmcloud schematics workspace list명령을 사용하여 작업공간을 나열하십시오. -
ibmcloud schematics workspace get명령을 사용하여 작업공간을 가져오십시오. -
테이프 아카이브 파일 (
.tar) 을 업로드하여 Terraform 템플리트를 제공한 경우ibmcloud schematics workspace upload명령을 사용해야 합니다. -
ibmcloud schematics plan명령을 사용하여 Terraform 실행 플랜을 작성하십시오. -
ibmcloud schematics logs명령을 사용하여 로그를 검색하려면 작업공간 ID를 사용하십시오. -
준비가 되면
ibmcloud schematics apply명령을 실행하십시오.Terraform 템플리트 적용을 중지하려는 경우
ibmcloud schematics job delete명령을 사용할 수 있습니다. 이미 작성된 모든 리소스는 제거되지 않습니다. 현재 리소스를 프로비저닝하는 중이면 Schematics가 프로비저닝이 완료될 때까지 대기한 후 Terraform 템플리트에 있는 다른 리소스의 작성, 업데이트 또는 삭제를 중지합니다. -
작업 로그를 검토하여 프로비저닝, 수정 또는 삭제 프로세스 중에 오류가 발생하지 않았는지 확인합니다.
-
탐색 창에서 리소스를 선택하여 IBM Cloud 계정에서 사용할 수 있는 클라우드 리소스의 요약을 찾습니다.
CLI를 통해 리소스 업데이트
클라우드 자원을 업데이트하려면, 자원에 수행해야 하는 필수 변경 사항으로 Terraform 템플릿을 업데이트하십시오.
구성 변경에 따라 Terraform에서 적절한 위치에 있는 리소스를 업데이트하지 못할 수 있습니다. 대신 Terraform은 먼저 리소스를 삭제하고 새 리소스를 작성해야 합니다. Terraform이 제거 및 다시 작성할 리소스를 식별하는 경우 작업 환경을 인터럽트하지 않거나 데이터를 삭제하지 않도록 하십시오.
리소스를 업데이트하려면 다음을 수행하십시오.
-
명령행 인터페이스 에서 CLI및 Schematics 플러그인을 설정하십시오.
-
ibmcloud schematics workspace list명령을 사용하여 작업공간을 나열하십시오. -
ibmcloud schematics workspace get명령을 사용하여 작업공간을 가져오십시오. -
테이프 아카이브 파일 (
.tar) 을 업로드하여 Terraform 템플리트를 제공한 경우ibmcloud schematics workspace upload명령을 사용해야 합니다. -
ibmcloud schematics plan명령을 사용하여 Terraform 실행 플랜을 작성하십시오. -
ibmcloud schematics logs명령을 사용하여 로그를 검색하려면 작업공간 ID를 사용하십시오. -
준비가 되면
ibmcloud schematics apply명령을 실행하십시오.Terraform 템플리트 적용을 중지하려는 경우
ibmcloud schematics job delete명령을 사용할 수 있습니다. 이미 작성된 모든 리소스는 제거되지 않습니다. 현재 리소스를 프로비저닝하는 중이면 Schematics가 프로비저닝이 완료될 때까지 대기한 후 Terraform 템플리트에 있는 다른 리소스의 작성, 업데이트 또는 삭제를 중지합니다. -
작업 로그를 검토하여 프로비저닝, 수정 또는 삭제 프로세스 중에 오류가 발생하지 않았는지 확인합니다.
-
탐색 창에서 리소스를 선택하여 IBM Cloud 계정에서 사용할 수 있는 클라우드 리소스의 요약을 찾습니다.
CLI를 통해 클라우드 환경과 Terraform 구성 간의 드리프트 관리
클라우드 환경의 실제 상태와 인프라 코드 간의 편차(drift라고도 함) 관리는 코드로 인프라를 구현할 때의 주요 도전 과제입니다. 편차는 다음과 같은 여러 가지 이유로 발생할 수 있습니다.
- 인프라 코드를 실행하지 않고 Terraform 구성 파일의 리소스를 추가하거나 업데이트하거나 제거했습니다.
- Terraform 없이 IBM Cloud를 수동으로 추가하거나 업데이트하거나 제거했습니다.
- 스크립트와 같은 다른 자동화 도구를 사용하여 클라우드 리소스의 상태를 조작했습니다.
작업공간 드리프트 발견 기능 사용을 참조하십시오.
CLI를 통해 리소스 및 배치 세부사항 검토
IBM Cloud Schematics 배포 및 현재 관리하고 있는 클라우드 리소스에 대한 자세한 내용은 IBM Cloud Schematics 에서 확인하세요.
- 명령행 인터페이스 에서 CLI및 Schematics 플러그인을 설정하십시오.
- 탐색 창에서 리소스를 선택하여 IBM Cloud 계정에서 사용할 수 있는 클라우드 리소스의 요약을 찾습니다.
- Terraform 템플리트를 변경한 사용자를 검토하려면 작업공간에 링크된 GitHub의 소스 저장소로 이동하고 커미트 히스토리 및 가져오기 요청과 같은 기본 제공 기능을 사용하여 변경사항을 검토하십시오.
- Schematics가 IBM Cloud Activity Tracker Event Routing에 전송한 이벤트를 검토하려면 IBM Cloud Activity Tracker Event Routing 이벤트를 참조하십시오.
CLI를 통해 리소스 제거
IBM Cloud Schematics 으로 프로비저닝한 Cloud 리소스를 제거하려면 Schematics 으로 리소스를 제거하거나 워크스페이스를 삭제하거나 Terraform 템플릿에서 인프라 코드를 제거하면 됩니다.
클라우드 리소스를 제거한 후에는 되돌릴 수 없습니다. 리소스를 제거하기 전에 데이터를 백업했는지 확인하십시오. 인프라 코드를 제거하거나 Terraform 구성 파일에서 리소스를 주석 처리하도록 선택하는 경우 실행 플랜의 로그 파일을 철저히 검토하여 모든 리소스가 제거에 포함되었는지 확인해야 합니다.
Terraform 템플리트에서 인프라 코드를 삭제하여 리소스를 제거하려면 다음을 수행하십시오.
-
로컬 시스템 또는 GitHub의 소스 저장소에서 Terraform 구성 파일을 여십시오.
-
파일에서 인프라 코드를 제거하거나 각 행의 시작 부분에
#을 추가하여 제거할 리소스를 주석 처리하십시오.리소스 주석 처리 예:
#resource ibm_is_instance "vsi1" { # name = "${local.BASENAME}-vsi2" # vpc = ibm_is_vpc.vpc.id # zone = "${local.ZONE}" # keys = [data.ibm_is_ssh_key.ssh_key_id.id] # image = data.ibm_is_image.ubuntu.id # profile = "cc1-2x4" # primary_network_interface { # subnet = ibm_is_subnet.subnet1.id # security_groups = [ibm_is_security_group.sg1.id] # } #} -
Terraform 구성 파일에 대한 변경사항을 커미트하십시오.
-
명령행 인터페이스 에서 CLI및 Schematics 플러그인을 설정하십시오.
-
ibmcloud schematics workspace get명령을 사용하여 작업공간을 가져오십시오. -
테이프 아카이브 파일 (
.tar) 을 업로드하여 Terraform 템플리트를 제공한 경우ibmcloud schematics workspace upload명령을 사용해야 합니다. -
ibmcloud schematics plan명령을 사용하여 Terraform 실행 플랜을 작성하십시오. -
ibmcloud schematics logs명령을 사용하여 로그를 검색하려면 작업공간 ID를 사용하십시오. -
준비가 되면
ibmcloud schematics apply명령을 실행하십시오.Terraform 템플리트 적용을 중지하려는 경우
ibmcloud schematics job delete명령을 사용할 수 있습니다. 이미 작성된 모든 리소스는 제거되지 않습니다. 현재 리소스를 프로비저닝하는 중이면 Schematics가 프로비저닝이 완료될 때까지 대기한 후 Terraform 템플리트에 있는 다른 리소스의 작성, 업데이트 또는 삭제를 중지합니다. -
작업 로그를 검토하여 프로비저닝, 수정 또는 삭제 프로세스 중에 오류가 발생하지 않았는지 확인합니다.
-
탐색 창에서 리소스를 선택하여 IBM Cloud 계정에서 사용할 수 있는 클라우드 리소스의 요약을 찾습니다.
-
선택사항: 모든 자원을 제거한 후
ibmcloud schematics workspace delete명령을 사용하여 작업공간을 제거하십시오.