Schematics 조치용 리소스 인벤토리 작성
리소스 인벤토리는 IBM Cloud 조치를 사용하여 Ansible 플레이북, 모듈 또는 역할을 실행할 단일 Schematics 리소스 또는 리소스 그룹을 정의합니다.
정적 인벤토리 파일 을 사용하여 리소스 인벤토리를 지정하거나 Schematics 작업공간에서 대상 IBM Cloud 리소스를 동적으로 검색할 수 있습니다.
정적 인벤토리 파일 작성
Schematics 는 단일 대상 호스트 또는 대상 호스트의 IP 주소를 사용하여 대상 호스트 그룹을 지정하는 hosts.ini 파일 정의를 지원합니다. [webserver]와 같이 대상 호스트 그룹에 이름을 지정하고, Ansible 플레이북에서 이 이름을 사용하여 플레이북 태스크를 실행할 위치를 Schematics에 지시할 수 있습니다.
정적 호스트 정의
SSH를 통해 대상 호스트에 연결하려면 Ansible 에 DNS 분석 가능 호스트 이름 또는 IP 주소가 필요합니다.
Schematics 조치를 사용하여 IBM Cloud 에서 VSI를 구성하는 일반적인 방법은 배스천 호스트를 사용하는 것입니다. 조치 문서 를 참조하십시오. VSI의 사설 네트워크 인터페이스에 대한 액세스는 배스천 호스트를 통해 이루어집니다. 이는 호스트 사설 IP 주소를 사용하여 대상 호스트에 연결하는 것을 의미합니다. 개인용 호스트 이름은 DNS에 의해 Schematics에 알려지지 않기 때문입니다. 개인용 호스트의 경우 배스천 호스트의 IP 주소 및 IP 주소를 사용하여 자원 명세를 구성해야 합니다.
공용 IP 주소 및 공용으로 등록된 DNS 호스트 이름을 갖는 VSI는 완전한 DNS 호스트 이름으로 참조될 수 있습니다.
(짧은 양식) 호스트 이름의 사용은 지원되지 않습니다.
호스트 파일 작성
- IBM Cloud 콘솔에 로그인합니다.
- 메뉴 아이콘
클릭 > 플랫폼 자동화 > Schematics > Ansible.
- 플레이북 이름을 클릭합니다.
- 인벤토리 > 인벤토리 생성을 클릭합니다.
- 인벤토리의 이름을 입력하고, 위치를 확인한 다음 인벤토리를 작성할
Resource group을(를) 선택하십시오. - 수동으로 정의 탭을 선택하십시오.
- 파일 필드에 Ansible 플레이북을 실행할 대상 호스트를 입력하십시오. 호스트를
INI구문으로 지정해야 합니다. 샘플 구문은 파일 형식을 참조하십시오. 제한사항을 검토하여 인벤토리 정의가 Schematics에서 지원되는지 확인하십시오. - 인벤토리 작성을 클릭하십시오.
- Schematics 작업을 생성하고 생성한 리소스 인벤토리를 사용하는 단계를 따르세요.
파일 형식
다음 샘플 hosts.ini 파일을 검토하여 정적 호스트 인벤토리 목록의 구조를 확인하십시오. hosts.ini 파일 구조에 대한 자세한 정보는 Ansible 문서를 참조하십시오.
이 예제는 호스트 이름을 통해 공개적으로 액세스 가능한 호스트를 참조하고 IP 주소를 통해 개인용 호스트를 모두 참조합니다.
mail.example.com
[webservers]
web1.mydomain.com
web2.mydomain.com
[dbservers]
172.16.5.9
172.16.5.10
172.16.5.11
[datacenters]
172.15.4.0
제한사항
Schematics의 정적 인벤토리 파일에 대한 다음 제한사항을 검토하십시오.
- Schematics은(는)
INI파일 구문만 지원합니다. hosts.ini파일에서는 변수가 지원되지 않습니다.hosts.ini파일에서 키-값 쌍을 사용하여 호스트 그룹을 지정하는 것은 지원되지 않습니다.- 대상 호스트의 호스트 이름 또는 IP 주소가 변경된 경우
hosts.ini파일을 수동으로 업데이트해야 합니다. - 호스트가 배스천 호스트에 의해 보안되고 사설 IP 주소를 통해서만 액세스할 수 있는 경우 호스트의 IP 주소를 지정해야 합니다.
- 공용으로 액세스 가능한 IP 주소를 통해 호스트에 액세스할 수 있고 등록된 DNS 이름이 있는 경우 완전한 호스트 이름으로 호스트를 참조할 수 있습니다.
- 모든 대상 호스트는 동일한 공용 SSH 키를 사용하여 구성해야 합니다. 정적 인벤토리 파일을 Schematics 조치에 사용할 때 하나의 SSH 키를 지정하여 리소스 인벤토리에 포함된 모든 대상 호스트를 인증할 수 있습니다. 명령행 또는 API 호출의 경우 SSH 키의 키 세부사항의 끝에
\n이(가) 포함되어야 합니다. SSH 키에 대한 자세한 내용은 SSH 키 추가를 참조하세요.
Schematics 작업공간에서 동적으로 리소스 인벤토리 빌드
Schematics 작업 공간으로 프로비저닝한 클라우드 리소스에서 리소스 인벤토리를 동적으로 구축할 수 있습니다.
동적 리소스 인벤토리는 Schematics 작업 공간으로 프로비저닝한 클라우드 리소스를 참조합니다. 워크스페이스에서 클라우드 리소스를 검색하려면 미리 정의된 리소스 쿼리를 사용하세요. Schematics 조치에서 이 인벤토리를 사용할 때 Schematics이(가) 자동으로 대상 호스트를 결정되므로 대상 리소스에 지정된 IP 주소를 추적할 필요가 없습니다.
- IBM Cloud 콘솔에 로그인합니다.
- 메뉴 아이콘
> 플랫폼 자동화 > Schematics > Ansible 클릭합니다.
- 플레이북 이름을 클릭합니다.
- 인벤토리 > 인벤토리 생성을 클릭합니다.
- 인벤토리의 이름을 입력하고, 위치를 확인한 다음 인벤토리를 작성할
Resource group을(를) 선택하십시오. - 호스트 그룹 탭을 선택하십시오.
- 호스트 그룹 작성을 클릭하십시오.
- 호스트 그룹의 이름을 입력하고 호스트 그룹에 추가할 대상 호스트를 프로비저닝한 Schematics 작업공간을 선택하십시오.
- 선택사항: 조회에 다른 조건을 추가하고 호스트 그룹에 추가될 대상 호스트 수를 제한하려면 조회 추가를 클릭하십시오. 리소스 이름 또는 태그를 사용하여 호스트를 식별하도록 선택할 수 있습니다. 자세한 정보는 지원되는 리소스 조회를 참조하십시오.
- 호스트 그룹을 더 추가하려면 5~8단계를 반복합니다.
- 테이블 목록에서 리소스 인벤토리에 포함될 호스트 그룹을 선택하십시오.
- 인벤토리 작성을 클릭하십시오.
- Schematics 작업을 만들고 생성한 리소스 인벤토리를 사용하는 단계를 따르세요.
지원되는 리소스 조회
| 지원되는 조회 | 설명 |
|---|---|
| 작업 공간 이름 | 특정 작업 공간에서 모든 클라우드 리소스를 선택합니다 |
| 작업공간 이름 및 리소스 이름 | 리소스 이름을 사용하여 특정 작업공간에서 특정 리소스를 선택하십시오. 동일한 작업공간에서 여러 리소스를 선택하려면 이 유형의 조회를 여러 개 추가하면 됩니다. |
| 작업공간 이름 및 태그 | 태그를 사용하여 특정 작업공간에서 특정 리소스를 선택하십시오. 작업공간을 작성하고 리소스를 프로비저닝하면 리소스에 태그가 추가됩니다. 동일한 작업공간에서 다른 태그로 여러 리소스를 선택하려면 이 유형의 조회를 여러 개 추가하면 됩니다. |
제한사항
Schematics의 동적 인벤토리에 대한 다음 제한사항을 검토하십시오.
- 지원되는 조회 중에서 선택하여 리소스 인벤토리에 포함할 대상 가상 서버 인스턴스를 선택할 수 있습니다.
- Schematics은(는) 대상 Virtual Servers for VPC의 IP 주소를 검색하고 리소스 인벤토리에 IP 주소를 추가합니다. 대상 Virtual Servers for VPC 에 공용 IP 주소가 있는 경우, 공용 IP 주소가 자원 인벤토리에 사용됩니다. 공용 IP 주소가 없는 경우 개인용 IP 주소가 자원 명세에 사용됩니다.
- 모든 대상 호스트는 동일한 공용 SSH 키를 사용하여 구성해야 합니다. 정적 인벤토리 파일을 Schematics 조치에 사용할 때 하나의 SSH 키를 지정하여 리소스 인벤토리에 포함된 모든 대상 호스트를 인증할 수 있습니다. 명령행 또는 API 호출의 경우 SSH 키의 키 세부사항의 끝에
\n이(가) 포함되어야 합니다. SSH 키에 대한 자세한 내용은 SSH 키 추가를 참조하세요.