일반 FAQ
IBM Cloud Schematics 에 관한 자주 묻는 질문에 대한 답변은 다음 섹션으로 분류되어 있습니다.
IBM Cloud Schematics는 무엇이며 어떻게 작동합니까?
IBM Cloud Schematics 클라우드 인프라 프로비저닝 및 관리 프로세스를 자동화할 수 있는 강력한 도구를 제공합니다. 그리고 클라우드 리소스의 구성, 운영, 앱 워크로드의 배치.
이를 위해 Schematics 은 Terraform( Ansible ), Red Hat OpenShift, Operators( Helm )와 같은 오픈소스 프로젝트를 활용하여, 이러한 기능을 관리형 서비스 형태로 고객님께 제공합니다. 시스템에 각 오픈 소스 프로젝트를 설치하는 대신 API 또는 CLI를 학습하십시오. IBM Cloud 에서 실행할 태스크를 선언하고 Schematics 에서 이러한 태스크를 실행하도록 감시할 수 있습니다.
Schematics 작동 방식에 대한 자세한 정보는 IBM Cloud Schematics 정보를 참조하십시오.
IaC(Infrastructure as Code)란 무엇입니까?
인프라스트럭처 애즈 코드( IaC )를 활용하면 클라우드 환경을 코드로 정의하여 클라우드 리소스의 프로비저닝 및 관리를 자동화할 수 있습니다. 인프라 리소스를 수동으로 프로비저닝하고 구성하거나 스크립트를 사용하여 클라우드 환경을 조정하는 대신, 고수준 스크립팅 언어를 사용하여 리소스와 해당 구성을 정의합니다. Terraform과 같은 도구는 API를 통해 클라우드에서 이러한 리소스를 프로비저닝합니다. 인프라 코드가 애플리케이션 코드와 동일하게 취급되므로, 버전 관리, 테스트, 지속적인 모니터링과 같은 DevOps 관행을 적용할 수 있습니다.
필요한 인프라를 프로비저닝하기 위해 Terraform IBM 모듈을 Schematics 과 함께 사용할 수 있나요?
예, 인프라 프로비저닝을 위해 Schematics 과 함께 Terraform IBM 모듈(TIM)을 사용할 수 있습니다. Terraform IBM 모듈은 IBM Cloud 모범 사례를 따르는 사전 구축되고 검증된 엔터프라이즈 지원 모듈입니다. 이러한 모듈은 Terraform 구성에서 직접 참조할 수 있으며 Schematics 워크스페이스와 함께 사용하여 IBM Cloud 리소스를 효율적으로 프로비저닝할 수 있습니다. 자세한 정보와 사용 가능한 모듈은 테라폼 레지스트리에서 확인하세요.
Schematics 를 사용하려면 비용이 얼마나 드나요?
IBM Cloud Schematics 작업공간은 무료로 제공됩니다. 그러나 워크스페이스 상세 정보 페이지에서 ‘ Apply plan ’을 클릭하거나 ‘ ibmcloud schematics apply ’ 명령어를 실행하여 IBM Cloud 에서 Terraform 템플릿을 적용하기로 결정하면, Terraform 템플릿에 정의된 클라우드 리소스에 대한 요금이 청구됩니다. 작성하려는 각 리소스에
대해 사용 가능한 서비스 플랜 및 가격 정보를 검토하십시오. 일부 서비스에는 IBM Cloud 계정당 한계가 있습니다. 계정의 서비스 한계에 도달하려고 하면 먼저 서비스 할당량을 늘리거나 기존 서비스를 제거할 때까지 리소스가 프로비저닝되지 않습니다.
Schematics ibmcloud terraform 명령 사용 시 경고 및 사용 중단 메시지가 Alias Terraform are deprecated. Use schematics or sch 로 표시됩니다.
조작 간에 파일을 저장하는 방법은 무엇입니까?
Schematics 는 조치 및 작업공간 오퍼레이션 중에 /tmp/.schematics 경로에 기록되는 파일을 지속합니다. 파일은 작업공간에서 다음 조작을 실행할 때 동일한 경로로 복원됩니다. 파일 제한은 10MB입니다.
작업공간에서 제거되거나 누락된 파일 또는 조치 (Ansible) 템플리트 저장소로 인한 작업 실패
Git Schematics 에 저장소를 가져오거나 복제한 후 템플릿 저장소에서 파일을 제거하거나 놓치면 작업이 실패합니다.
여러 가지 이유로 실행 시 파일이 누락될 수 있습니다: - 파일은 파일 시스템 symlinks 을 사용하여 리포지토리의 다른 파일이나 폴더 또는 외부 파일 시스템으로 참조됩니다. - 리포지토리 콘텐츠는 TGZ 로 업로드되었고, Git 서브 모듈 또는 symlinks 에서 참조하는 파일은 TGZ 에 포함되지 않았습니다. - Schematics
에 의해 해당 파일이 취약하거나 악성이라고 간주되었습니다.
Terraform 또는 Ansible 템플릿 저장소에서 제거된 파일
Schematics 는 악의적인 행위자로부터 사용자를 보호하기 위해 서비스의 보안이나 무결성에 영향을 미칠 수 있는 Git 저장소를 복제한 사용자의 파일들을 제거합니다. 그 목적은 서비스에 영향을 미칠 수 있는 무단 모듈의 실행이나 실행으로부터 사용자를 보호하는 것입니다. zip, tar 파일과 같이 압축 파일로 패키징된 파일은 사용자 저장소에서 자동으로 제외됩니다. tar 의 파일 내용은 검사되지 않습니다. 마찬가지로, 템플릿 저장소에서는 500KB 보다 큰 파일 사용이 지원되지 않습니다(허용됨). 일반적인 IaC 구성 파일은 KB입니다.
파일을 사용하려면, 실행 시 Schematics 로 가져오거나 /tmp 에 저장하거나 /tmp/.schematics 에 영구 저장할 수 있습니다. 작업 실행 사이에 10MB 미만의 파일만 유지됩니다.
Schematics 작업 공간이나 액션을 생성할 때, IBM Cloud Schematics 는 Git 저장소에서 Terraform 또는 Ansible 템플릿의 복사본을 복제하여 보안이 확보된 위치에 저장합니다. 템플리트 파일을 저장하기 전에 Schematics 는 컨텐츠를 분석하고 악성 또는 취약한 것으로 간주되는 파일은 제거됩니다. 허용 목록은 승인된 파일만 허용하는 데 사용됩니다. 파일 제거는 다음 기준을 기반으로 합니다.
- 허용되는 파일 확장자는
.cer, .cfg, .conf, .crt, .der, .gitignore, .html, .j2, .jacl, .js, .json, .key, .md, .netrc, .pem, .properties, .ps1, .pub, .py, .service, .sh, .tf, .tf.json, .tfvars, .tmpl, .tpl, .txt, .yaml, .yml, .zip, _rsa, license입니다. - 허용되는 이미지 확장자는
.bmp, .gif, .jpeg, .jpg, .png, .so .tif, .tiff입니다. - 명시적으로 제거되는 파일은
.asa, .asax, .exe, .php5, .pht, .phtml, .shtml, .swf, .tfstate, .tfstate.backup, .xap, .zip, .tar입니다. - 500KB보다 큰 모든 파일이 제거됩니다. 이 파일 한계는 허용되는 이미지 파일 유형에 적용되지 않습니다.
- 폴더 이름이 (마침표)
.로 시작하는 경우, 악성 파일로 간주되어 제거됩니다.
허용되는 확장자 목록은 모든 릴리스에서 지속적으로 모니터링되고 업데이트됩니다. 파일 확장자를 목록에 추가해 달라는 사유를 기재하여 지원 티켓을 등록할 수 있습니다.
symlinks 사용이 Git 저장소에서 지원됩니까?
실행 시 Git 저장소의 파일 시스템 symlinks 을 사용하는 것은 지원되지 않습니다. 작업 실행 시 Schematics 는 복제된 Git 저장소에서 symlinks 를 순회하지 않습니다.
작업 공간 또는 작업을 생성하는 동안, 허용된 복제된 저장소에서 가변 파일 또는 Ansible 플레이북을 참조하기 위해 symlinks 를 사용합니다.
Git 저장소 또는 TGZ 파일에서 하위 모듈( Git )의 사용이 지원됩니까?
Git 서브모듈의 사용은 복제된 Git 저장소에 대해서만 지원됩니다. Schematics 가 Git 저장소를 복제하면 Git 하위 모듈을 가져옵니다. TGZ 파일로 저장된 리포지토리를 업로드할 때, Schematics 는 복제 작업을 사용하지 않으며, Git 서브 모듈에서 참조하는 파일이나 폴더는 포함되지 않습니다. TGZ 파일을 사용할 때는 Git 서브모듈 또는 symlinks 의 모든 필수 파일을 TGZ에
포함해야 합니다.
비율 한계가 있습니까?
IBM Cloud Schematics 리전당, 사용자당 분당 50건의 API 요청을 지원합니다. 리젼은 us-east, us-south, eu-gb 또는 eu-de 입니다. 명령을 다시 시작할 때까지 기다립니다.
작업이 실행 대기열에 있는 이유는 무엇인가요?
IBM Cloud Schematics은(는) 모든 사용자 작업을 단일 큐에 넣습니다. 사용자의 작업량과 작업 실행 시간에 따라 사용자에게 지연 현상이 발생할 수 있습니다. 자세한 정보는 작업 큐 상태 를 참조하십시오.
클라이언트 ID bx가 사용되는 경우 IAM 액세스 토큰을 어떻게 생성합니까?
IAM 액세스 토큰을 작성하려면 export IBMCLOUD_API_KEY=<ibmcloud_api_key> 를 사용하고 명령을 실행하십시오.
curl -X POST "https://iam.cloud.ibm.com/identity/token" -H "Content-Type: application/x-www-form-urlencoded" -d "grant_type=urn:ibm:params:oauth:grant-type:apikey&apikey=$IBMCLOUD_API_KEY" -u bx:bx.
자세한 정보는 IAM 액세스 토큰 및 API키 작성 을 참조하십시오. export ACCESS_TOKEN=<access_token>, export REFRESH_TOKEN=<refresh_token> 등의 환경 변수 값을 설정할 수 있습니다.
Git 리포지토리 복제 실패를 수정하는 방법, 원격 참조를 찾지 못하거나 헤드 또는 마스터가 잘못된 브랜치 이름이 전달되었을 가능성이 가장 높습니까?
2020년 10월 1일 이후 https://github.com/guruprasad0110/tf_cloudless_sleepy_13/ 저장소의 브랜치를 사용할 경우, 이 오류 메시지가 표시될 수 있습니다.
저장소가 2020년 10월 1일 이후에 생성된 경우, 메인 브랜치의 구문은 https://github.com/username/reponame/tree/main 와 같아야 합니다. 예: https://github.com/guruprasad0110/tf_cloudless_sleepy_13/tree/main
null-exec 및 remote-exec 리소스의 타임아웃 시간을 늘릴 수 있나요?
아니요, null-exec(null_resources) 및 remote-exec 리소스의 최대 타임아웃은 60 minutes 입니다. 더 긴 작업은 더 짧은 블록으로 나누어 인프라를 더 빠르게 프로비저닝해야 합니다. 그렇지 않으면, 60 minutes 이후 실행이 자동으로 시간 초과됩니다.
테라폼 모듈별로 사용자 정의 파일을 저장하고 여러 테라폼 명령어에서 사용하려면 어떻게 해야 하나요?
IBM Cloud Schematics Schematics 작업 공간에 Terraform 엔진에서 생성된 상태 파일을 이미 저장하고 안전하게 관리하고 있습니다. 는 주기적으로 상태 파일을 보안이 적용된 위치에 저장합니다. Schematics 또한 상태 파일은 Schematics 작업을 실행하거나 plan, apply, destroy, refresh 또는 import 과 같은 Terraform 명령을 실행하기 전에 자동으로 복원됩니다.
마찬가지로 IBM Cloud Schematics 는 Terraform 템플릿이나 모듈에 의해 생성된 사용자 정의 파일을 저장하는 기능을 지원합니다. Schematics 는 사용자 정의 Terraform 템플릿이나 모듈이 파일을 생성하여 미리 정의된 위치에 저장할 것을 기대합니다. Schematics 는 Schematics 작업이나 Terraform 명령을 실행하기 전과 후에 해당 파일을 자동으로 저장하고 복원합니다.
파일은 반드시 /tmp/.schematics 폴더에 저장해야 하며, 파일 크기는 10 MB``로 제한됩니다. Schematics는 /tmp/.schematics 폴더에 있는 모든 파일을 백업하고 복원합니다.
삭제된 리소스를 Terraform 상태와 동기화하는 가장 좋은 방법을 식별하려면 어떻게 해야 합니까?
현재 IBM Cloud Schematics 서비스는 클라우드 리소스 상태를 Schematics 작업 공간으로 가져오거나 동기화하는 기능을 지원하지 않습니다. 향후 로드맵에 반영될 예정입니다.
어떤 리전에서든 계정의 클러스터 리소스 할당량인 '100'을 초과하는 요청이 발생할 때 이를 어떻게 해결할 수 있나요?
Error: Request failed with status code: 403, ServerErrorResponse: {"incidentID":"706efb2c-3461-4b9d-a52c-038fda3929ea,706efb2c-3461-4b9d-a52c-038fda3929ea","code":"E60b6","description":"This request exceeds the 'Cluster' resource quota of '100' for the account in this region. Your account already has '100' of the resource in the region, and the request would add '1'. Revise your request, remove any unnecessary resources, or contact IBM support to increase your quota.","type":"General"}
이 지역의 계정에 대한 Cluster 리소스 할당량 100이(가) 초과되면 이 할당량 유효성 검증 오류가 표시됩니다. 기존 리소스를 삭제한 후 작업을 다시 실행해 보시기 바랍니다.
Red Hat OpenShift 또는 Kubernetes 리소스를 생성할 때, 90분인 타임아웃 시간을 더 길게 조정할 수 있나요?
예, Red Hat OpenShift 또는 Kubernetes 리소스의 제한시간을 늘릴 수 있습니다. 자세한 내용은 ibm_container_vpc_cluster가 다음 t 구성 옵션을 제공한다는 것을 참조하십시오.
글로벌 카탈로그 계정에서 위치를 확인하는 과정에서 발생하는 403 오류를 어떻게 해결할 수 있나요?
계정의 카탈로그 설정에서 리소스를 생성하거나 조회할 수 있는 위치 또는 권한을 확인할 수 있습니다. 더 자세한 정보를 원하시면, 글로벌 카탈로그의 위치 설정 관리하기를 참고하세요.
기존 워커 노드 풀 내에 새로운 워커 노드를 생성할 수 있을까요?
예, Kubernetes 클러스터에서 Schematics 을 통해 IBM 컨테이너 워커 풀 리소스를 사용하여 기존 워커 노드 풀에 워커 노드를 생성하거나 추가할 수 있습니다. 또는 IBM 컨테이너 작업자 풀 구역 첨부 리소스를 사용하여 Terraform을 작성하십시오. 자세한 정보는 ibm_container_worker_pool_zone_attachment의 내용을 참조하십시오.
us-south, us-east, eu-gb 및 eu-de 지역의 공용 및 사설 허용 IP 주소 목록을 어디에서 볼 수 있습니까?
Schematics 허용 IP 주소에서 us-south, us-east, eu-gb 및 eu-de 지역의 공용 및 사설 허용 IP 주소 목록을 볼 수 있습니다.
서비스 대시보드에서 수동으로 리소스를 추가하거나 제거할 수 있습니까?
IBM Cloud Schematics로 리소스를 프로비저닝하면 리소스의 상태가 로컬 IBM Cloud Schematics 상태 파일에 저장됩니다. 이 상태 파일은 IBM Cloud Schematics가 IBM Cloud 계정에서 프로비저닝되는 리소스를 판별하는 데 사용하는 단일 정보 소스입니다. IBM Cloud Schematics 없이 수동으로 리소스를 추가하면 이 리소스가 IBM Cloud Schematics 상태 파일에 저장되지 않으며, 결과적으로 해당 리소스를 IBM Cloud Schematics로 관리할 수 없습니다.
IBM Cloud Schematics로 프로비저닝한 리소스를 수동으로 제거하면 상태 파일이 자동으로 업데이트되지 않고 동기화되지 않습니다. 다음 Terraform 실행 계획을 생성하거나 새로운 템플릿 버전을 적용할 때, Schematics 은 상태 파일에 포함된 클라우드 리소스가 IBM Cloud 계정에 존재하며, 해당 리소스의 상태가 상태 파일에 기록된 상태와 일치하는지 확인합니다. 리소스를 찾을 수 없는 경우, 상태 파일이 업데이트되고 Terraform 실행 계획이 변경됩니다.
IBM Cloud Schematics 의 상태 파일과 계정의 클라우드 리소스를 동기화하려면 IBM Cloud Schematics 을 사용하여 리소스를 프로비저닝하거나 제거하십시오.
내 리소스에 할 수 있는 변경은 무엇입니까?
GitHub, 를 통해 Terraform 템플릿의 인프라 코드를 추가, 수정 또는 제거하거나, Schematics 워크스페이스 대시보드에서 변수 값을 업데이트할 수 있습니다.
내 클라우드 리소스의 필수 상태를 리소스의 실제 상태와 비교하려면 어떻게 해야 합니까?
편차 보고서를 작성하고 Terraform 구성 파일에서 지정한 인프라와 플랫폼 서비스 간의 변경사항을 보려면 다음을 수행하십시오. Terraform 실행 플랜을 사용할 수 있습니다. Terraform 실행 플랜은 Terraform 구성 파일에 설명된 클라우드 환경을 프로비저닝하기 위해 Schematics가 수행해야 할 조치를 요약합니다. 이러한 작업에는 클라우드 리소스의 추가, 수정 또는 제거가 포함될 수 있습니다.
감지할 수 없는 편차는 무엇입니까?
- Terraform 실행 플랜은 첫 번째 Schematics 적용 조치를 실행할 때 작성되는 Terraform 상태 파일을 기반으로 합니다.
Ansible또는Chef와 같은 자동화 도구를 사용하여 다른 Schematics 작업 공간에 프로비저닝한 리소스 중 Schematics 가 포함되지 않은 리소스는 Terraform 실행 계획에 포함되지 않습니다.
IBM Cloud Schematics 를 사용하여 리소스를 어떻게 제거해야 하나요?
IBM Cloud Schematics 콘솔이나 CLI를 사용하여 Schematics 를 통해 프로비저닝한 모든 리소스를 제거할 수 있습니다. Terraform 템플리트와 동기화 상태를 유지하려면 Terraform 템플리트에서 연관된 인프라 코드를 제거해야 합니다. 새로운 버전의 Terraform 템플릿을 적용할 때 리소스가 다시 추가되지 않도록 하십시오.
리소스 대시보드에서 직접 내 리소스를 삭제하도록 선택하면 어떤 일이 발생합니까?
IBM Cloud Schematics로 프로비저닝한 리소스를 수동으로 제거하면 상태 파일이 자동으로 업데이트되지 않고 동기화되지 않습니다. 다음 Terraform 실행 플랜을 작성하거나 새 템플리트 버전을 적용하는 경우입니다. Schematics 는 상태 파일에 있는 클라우드 자원이 IBM Cloud 계정에 존재하는지 확인합니다. 리소스를 찾을 수 없는 경우, 상태 파일이 업데이트되고 Terraform 실행 계획이 변경됩니다.
클라우드 리소스에 대한 새로운 변경 사항이 적용되기 전에 상태 파일이 업데이트되지만, 예기치 않은 결과가 발생하지 않도록 리소스 대시보드에서 리소스를 수동으로 삭제하지 마십시오. 대신, IBM Cloud Schematics 콘솔 또는 CLI를 사용하여 리소스를 제거하거나 연관된 인프라 코드를 Terraform 템플리트에서 제거하십시오.
Schematics 는 ibmcloud terraform 명령을 지원합니까?
CLI 릴리스 v1.8.0 에서 ibmcloud terraform 명령을 사용하면 Alias Terraform are deprecated. Use schematics or sch in your commands 로 경고 메시지가 표시됩니다. 자세한 정보는 CLI 버전 히스토리 를 참조하십시오.
Schematics 를 통해 사설 네트워크에 접속할 수 있나요?
예, CLI 릴리스 v1.8.0부터 Schematics은(는) 사설 네트워크에 액세스하기 위한 개인용 Schematics 엔드포인트를 지원합니다. 자세한 내용은 비공개 Schematics 엔드포인트를 참조하십시오.
IBM Cloud Schematics 를 통해 Bastion 호스트 IP 주소에 연결할 때 나타나는 오류 메시지는 어떻게 해결할 수 있나요?
오류
timeout - last error: Error connecting to bastion: dial tcp
2022/03/02 03:59:37 Terraform apply | 52.118.101.204:22: connect: connection timed out
2022/03/02 03:59:37 Terraform apply |
2022/03/02 03:59:37 Terraform apply | Error: file provisioner error
개인 또는 공용 엔드포인트 주소를 사용하여 Schematics 워크스페이스에 액세스하고 지역별 또는 영역별로 Bastion host IPs 에 연결할 수 있습니다. 자세한 내용은 방화벽에서 IBM Cloud Schematics 에 대한 IP 주소 열기를 참조하세요.
IBM Cloud 환경에서 Terraform을 사용하여 클러스터를 작성하려면 어떻게 해야 합니까?
단일 및 다중 영역 Red Hat OpenShift on IBM Cloud, Kubernetes Service 클러스터 튜토리얼을 참조하세요.
Terraform을 항상 현재 버전이나 기본 버전을 사용하도록 설정할 수 있나요?
네, 페이로드나 JSON 파일에서 type 및 template_type 매개변수의 값이 실행 시점에 선언되지 않은 경우, 기본 Terraform 버전이 적용됩니다. 자세한 정보는 Terraform에 대한 버전 제한조건 지정 을 참조하십시오.
type 또는 template_type 매개변수를 사용하여 페이로드에서 Terraform 버전을 지정할 수 있습니다. 그러나 type 및 template_type의 버전 값이 동일한 버전을 포함하는지 여부를 확인하십시오.
코드 블록에 표시된 것처럼 JSON 파일에 type: = terraform_v1.4 을 설정하면 Terraform version 2.0 이상이 릴리스되더라도 Terraform version 1.4 을 계속 사용하나요?
//Sample JSON file
{
"name": "<workspace_name>",
"type": "terraform_v1.4",
"resource_group": "<resource_group>",
"location": "",
"description": "<workspace_description>",
"template_repo": {
"url": "http://xxxxx.git",
"branch": "main"
},
"template_data": [{
"folder": "",
"type": "terraform_v1.4"
}]
}
아니요, 페이로드나 템플릿에 Terraform 버전이 명시되어 있더라도, 프로비저닝 시에는 versions.tf 에 명시된 버전만 고려됩니다. 현재 Terraform 버전을 고려하기 위해 required_version 매개변수를 required_version = ">=1.4 <2.0" 로 구성할 수 있습니다. 자세한 정보는 Terraform에 대한 버전 제한조건 을 참조하십시오.
버전 매개변수에 제공자 버전만 지정할 수 있나요? 아니면 versions.tf 파일에 required_version 매개변수를 반드시 지정해야 하나요?
예, IBM Cloud 제공자 버전을 나타내므로 version = "x.x.x"을(를) 지정해야 합니다. 반면 required_version = ">1.4, <2.0" 는 프로비저닝할 Terraform 버전을 의미합니다. 자세한 정보는 Terraform에 대한 버전 제한조건 을 참조하십시오.
versions.tf 파일에 version 매개변수가 선언되어 있지 않은 경우, Schematics 에서는 제공자 플러그인의 현재 버전이 자동으로 사용됩니다. 자세한 정보는 Terraform 제공자에 대한 버전 제한조건 을 참조하십시오.
Schematics 에서 삭제와 삭제의 차이점은 무엇인가요?
영구 삭제-작업공간에서 연관된 클라우드 자원을 삭제합니다. 작업공간 삭제는 작업공간을 삭제하는 데 사용됩니다. 먼저 작업 공간에서 해당 자료를 삭제하고, 그 후에 작업 공간을 삭제하는 것이 좋습니다. 자세한 정보는 작업공간 삭제 를 참조하십시오.
오퍼레이션을 한 단계로 삭제하고 영구 삭제할 수 있습니까?
아니오, 한 단계에서 삭제 및 영구 삭제 조작을 수행할 수 없습니다. 먼저 프로세스 에 따라 영구 삭제한 후 삭제해야 합니다.
리소스 그룹이란 무엇이며, 팀을 체계적으로 관리하는 데 어떻게 도움이 되나요?
특정 IBM Cloud 서비스에 대한 액세스 권한을 지정하는 것은 사용자가 계정의 특정 서비스에 대해 작업할 수 있도록 하는 좋은 방법입니다. 그러나 클라우드에서 프로덕션 워크로드를 빌드하는 경우 여러 팀에서 사용되는 다중 IBM Cloud 서비스 및 리소스가 있을 가능성이 높습니다. 리소스 그룹을 사용하면 계정에 다중 서비스를 구성하여 하나의 공통 보기 및 청구 프로세스에 따라 번들로 제공할 수 있습니다. 팀이 이러한 리소스에 대해 작업할 수 있도록 하려면 리소스 그룹 내의 리소스를 보고 관리할 수 있는 리소스 그룹에 IAM 액세스 정책을 지정하십시오.
예를 들어, IBM Cloud Kubernetes Service 클러스터를 관리할 책임이 있는 팀 A와 IBM Cloud® Functions로 서버리스 앱을 개발하는 다른 팀 B가 있습니다. 두 팀 모두 IBM Cloud Schematics 워크스페이스를 사용하여 클라우드 리소스를 관리합니다. 작업 공간과 리소스의 격리를 보장하기 위해, 각 팀마다 리소스 그룹을 생성합니다. 그런 다음 각 리소스 그룹에 필요한 권한을 지정합니다. 예를 들어, 리소스 그룹 A에 속한 모든 작업 공간에 대해서는 ‘관리자’ 서비스 액세스 권한을 부여하지만, 리소스 그룹 B에 속한 작업 공간에 대해서는 ‘읽기’ 액세스 권한만 부여합니다.
IAM 액세스 그룹을 사용하면 어떤 이점이 있나요?
개별 사용자에게 할당되는 IAM 액세스 정책의 수를 줄이려면 각 팀에 대해 IAM 액세스 그룹을 만들고 리소스 그룹의 리소스로 작업하는 데 필요한 모든 권한을 그룹에 부여할 수 있습니다.
다음 이미지는 IAM 액세스 그룹과 리소스 그룹을 사용하여 IBM Cloud 계정에서 권한을 구성하는 방법을 보여줍니다.
<img src="../images/schematics-user-flow-rg.png" alt="Using resource groups and IAM access groups to organize access to IBM Cloud Schematics" width="900" style="width: 900px; border-style: none"/>
- 계정 소유자 또는 권한 부여된 관리자가 팀을 정의하고 각 팀에 대한 IAM 액세스 그룹을 작성합니다.
- IAM 액세스 그룹에 특정 리소스 그룹 내의 리소스에 대한 액세스가 지정됩니다. 예를 들어, 액세스 그룹 A는 리소스 그룹 A의 모든 리소스에 대한 편집자 권한을 수신하지만 리소스 그룹 B의 리소스에 대한 뷰어 권한만 수신합니다.
- 계정 소유자 또는 권한 부여된 관리자가 IAM 액세스 그룹에 사용자를 추가합니다. 모든 사용자가 자동으로 IAM 액세스 그룹의 권한을 상속합니다.
세분화된 클래식 개인 액세스 토큰(PAT)을 생성하고 제한하는 단계는 무엇인가요?
GitHub API를 시작하고 HTTP를 통해 Git 연결을 설정하고 빠른 스크립트를 만들고 통합을 테스트하기 위해 PAT가 사용됩니다. 자세한 정보는 PAT 정보를 참조하십시오.
GitHub 현재 두 가지 유형의 개인 액세스 토큰을 지원하고 있으며, 조직 소유자는 조직에 대한 개인 액세스 토큰의 액세스를 제한하는 정책을 설정할 수 있습니다
- 세분화된 개인 액세스 토큰
- 개인 액세스 토큰 (클래식). GitHub 는 가능할 때마다 개인 액세스 토큰 (클래식) 대신 세분화된 개인 액세스 토큰을 사용하도록 권장합니다.
다음은 PAT 토큰을 작성하고 제한하는 단계입니다.
CLI를 통해 terraform init -backend-config="KEY=VALUE" 옵션을 실행할 수 있습니까?
Schematics terraform 백엔드 구성을 편집하는 기능을 지원하지 않습니다. Schematics 는 자체 IBM Cloud Object Storage 버킷에 있는 state-file을 내부적으로 관리하며, 이 파일은 봉투 암호화를 사용하여 암호화됩니다.
GitHub 마스터 또는 서브디렉토리 분기를 지정하는 시기는 언제입니까?
작업공간 작성
작업공간 작성 페이지에서 Repository URL 에 대해. 이 링크는 master 분기, 기타 분기 또는 서브디렉토리를 가리킬 수 있습니다. 워크스페이스 ‘설정’ 페이지에서 편집 아이콘을 클릭하여 ‘ Repository URL ’를 수정하세요. 작업공간 작성에 대한 자세한 정보는 작업공간 작성 을 참조하십시오. 이 링크는 master 분기, 기타 분기 또는 서브디렉토리를 가리킬 수 있습니다. - master 브랜치의 예시: https://github.com/myorg/myrepo - 다른 지점의 예시: https://github.com/myorg/myrepo/tree/mybranch - 하위 디렉터리의
예시: https://github.com/mnorg/myrepo/tree/mybranch/mysubdirectory
브랜치 이름에 / (백슬래시)가 포함된 브랜치는 지원되지 않습니다.
액션 작성
작업 생성 페이지에서 URL 마스터 브랜치, 다른 브랜치 또는 하위 디렉터리를 가리킬 수 있습니다. 리포지토리에 여러 개의 플레이북이 저장되어 있는 경우, 실행하려는 플레이북을 선택하십시오. Schematics 조치는 한 번에 하나의 플레이북만 가리킬 수 있습니다. 액션 작업에 대한 자세한 내용은 여러 플레이북을 실행하기 위한 액션 만들기를 참조하세요. 각 플레이북에 대해 별도의 액션을 만들어야 합니다. - master 브랜치의 예시 - https://github.com/myorg/myrepo - 다른 지점을 위한 예시 - https://github.com/myorg/myrepo/tree/mybranch - 하위 디렉터리의 예시 - https://github.com/mnorg/myrepo/tree/mybranch/mysubdirectory
사용할 수 있는 플레이북이 없습니까? 샘플 플레이북중 하나를 사용해 보십시오.
워크스페이스 ‘설정’ 페이지에서 편집 아이콘을 클릭하여 ‘ Repository URL ’를 편집하세요. 이 링크는 master 분기, 기타 분기 또는 서브디렉토리를 가리킬 수 있습니다. - master 브랜치의 예시: https://github.com/myorg/myrepo - 다른
지점의 예시: https://github.com/myorg/myrepo/tree/mybranch - 하위 디렉터리의 예시: https://github.com/mnorg/myrepo/tree/mybranch/mysubdirectory
Schematics API 호출의 활성을 구성할 수 있습니까?
Schematics 플러그인을 사용하면 Schematics API 호출에 대한 시간 초과를 30 seconds 로 설정할 수 있습니다 ibmcloud config --http-timeout 플래그. 예를 들어, ibmcloud config --http-timeout=30입니다. HTTP 의 기본값은 60 seconds 입니다.
Schematics 는 지역 기반 액세스를 지원합니까?
예, Schematics 지역 기반 액세스를 지원합니다. 자세한 내용은 지역 기반 액세스 및 사용자 초대를 위해 지역 기반 액세스를 설정하는 단계를 참조하세요.
작업 공간과 작업은 Secrets Manager 를 지원합니까?
네, 작업 공간을 생성 하고 입력 변수 작업 공간을 업데이트할 때 작업 공간 및 작업이 Secrets Manager 를 지원합니다. 또한 플레이북을 생성 하고 작업 설정을 편집하는 동안 Secrets Manager 를 설정할 수 있습니다.
개인 액세스 토큰을 입력하거나 Open reference picker 을 사용하여 Secrets Manager 키 참조를 선택하여 Secrets Manager 을 사용할 수 있습니다. 자세한 내용은 Secrets Manager 인스턴스 만들기를 참고하세요. Secrets Manager
의 키 값은 런타임 중에 Git 저장소에서 템플릿을 복제하는 데 사용됩니다.
eval 및 uname 명령이 제한되는 이유는 무엇인가요?
eval 명령은 코드 인젝션 위험과 같은 보안 취약점을 유발할 수 있으며 uname 명령은 공격자가 악용하는 시스템 정보를 노출시킬 수 있습니다.
제한은 Schematics 내에서 안전한 실행 환경을 유지하는 데 도움이 됩니다.
eval 및 uname 명령 제한이 기존 스크립트 및 자동화에 어떤 영향을 미치나요?
스크립트 또는 자동화 워크플로우가 uname 명령에 의존하는 경우 2025년 4월 16일 이후에는 실패합니다. eval 명령의 경우 Schematics 을 사용하면 안전한 평가 작업을 실행할 수 있습니다. 스크립트 또는 자동화 흐름에서 eval 명령을 통해 OS 수준 명령을 실행하는 것은 제한됩니다. 이러한 명령을 제거하거나 다른 방법으로 대체하려면 스크립트를
수정해야 합니다.
eval 및 uname 명령을 대체할 수 있는 대체 솔루션은 무엇인가요?
eval 명령 대신 조건문, 매개변수 대체 또는 기본 제공 명령 실행 방법과 같은 더 안전한 대안을 사용하는 것이 좋습니다. 대신 uname 대신 IBM Cloud 에서 제공하는 미리 정의된 환경 변수 또는 시스템 메타데이터 서비스를 사용하여 필요한 시스템 정보를 검색하세요. 질문, 의견 또는 우려 사항이 있는 경우 언제든지 IBM Cloud® 지원을 통해 팀에 문의할 수 있습니다.
eval 명령을 사용한 예
command="ls -l /home/user"
eval $command
eval 명령어가 없는 예제
command="ls -l /home/user"
$command
eval 및 uname 명령의 변경이 Schematics 내에서 Terraform 실행에 영향을 주나요?
스크립트나 모듈이 eval 또는 uname 과 같은 명령을 명시적으로 사용하지 않는 한 Terraform 실행은 직접적인 영향을 미치지 않습니다. 명시적으로 사용하는 경우 수정이 필요합니다.
Schematics 에서 지원하는 엔드포인트는 무엇인가요?
현재 Schematics 에서는 public 및 private 유형으로 제공되는 클래식 서비스 엔드포인트(CSE)만 지원합니다. update, modify, 또는 manage IBM Cloud Kubernetes Service 또는 Red Hat OpenShift 클러스터를 시도하는 경우 public 또는 private CSE를 사용해야 합니다.
설정에서 cluster_config_endpoint_type 값을 private 으로 설정할 수 있습니다. 자세한 내용은 엔드포인트 인수를 참조하세요.
data "ibm_container_cluster_config" "cluster_foo" {
cluster_name_id = "FOO"
config_dir = "/home/foo_config"
admint = "true"
endpoint_type = "private"
}
현재 Schematics 는 가상 사설 엔드포인트(VPE)를 지원하지 않습니다. endpoint_type 변수를 vpe 으로 선택하면 Schematics 작업이 실패합니다. 또는 IBM Cloud Kubernetes Service 또는 Red Hat OpenShift 클러스터에 Schematics 에이전트를 배포하고 Schematics 작업 또는 VPE를 사용하여 작업을 실행해야 합니다.
자세한 내용은 Schematics 상담원을 참조하세요.