Terraform에서 생성한 클라이언트의 자동 등록

Terraform에서 생성한 새 클라이언트는 SUSE Manager에 자동으로 등록될 수 있습니다. 등록은 다음의 두 가지 방법으로 수행할 수 있습니다.

  • cloud-init 기반 등록

  • 원격 실행 제공자 기반 등록

1. cloud-init 기반 클라이언트 등록

cloud-init를 활용하여 등록하는 방법은 새로 생성된 가상 머신을 자동으로 등록하는 기본 방법입니다. 이 솔루션은 호스트에 대한 SSH 연결 구성을 방지합니다. 클라이언트 생성에 사용된 도구와 상관없이 사용할 수도 있습니다.

사용자는 SUSE Manager에 머신을 자동으로 등록하기 위해 Terraform으로 이미지를 배포할 때 사용자 데이터 세트를 전달할 수 있습니다. user_data는 부트스트랩에서 한 번만 실행되며 시스템이 처음 시작될 때만 실행됩니다.

cloud-init를 사용하여 클라이언트를 등록하기 전 사용자는 다음을 구성해야 합니다.

다음 명령은 부트스트랩 스크립트를 다운로드하고 새 머신이 생성될 때 등록하며, cloud-init 구성에 추가해야 합니다.

curl -s http://hub-server.tf.local/pub/bootstrap/bootstrap-default.sh | bash -s

프로비저닝을 변경하기 위해 user_data가 업데이트될 때마다 Terraform은 시스템을 제거한 후 새 IP 등으로 다시 생성합니다.

AWS 기반 cloud-init에 대한 자세한 내용은 https://registry.terraform.io/providers/hashicorp/template/latest/docs/data-sources/cloudinit_config에서 확인할 수 있습니다.

2. remote-exec 프로비저너 기반 등록

Terraform의 remote-exec 프로비저너를 사용하여 새로 생성된 가상 머신을 자동으로 등록하기 위한 두 번째 솔루션입니다.

remote-exec 프로비저너는 새로 생성된 시스템과 상호 작용하며, SSH 연결을 열고 해당 시스템에서 명령을 실행할 수 있습니다.

remote-exec 구축 프로그램을 사용하여 클라이언트를 등록할 때 사용자는 Terraform을 실행하는 시스템이 생성 후 새 가상 시스템에 액세스할 수 있는지 확인해야 합니다.

나머지 요구 사항은 cloud-init 기반 클라이언트 등록을 사용할 때와 동일합니다.

다음 명령은 부트스트랩 스크립트를 다운로드하고 새 머신이 생성될 때 등록하며, 실행할 원격 명령으로 정의해야 합니다.

curl -s http://hub-server.tf.local/pub/bootstrap/bootstrap-default.sh | bash -s

remote-exec 프로비저너에 대한 자세한 내용은 https://www.terraform.io/docs/provisioners/remote-exec.html에서 확인할 수 있습니다.