Terraformによって作成されたクライアントの自動登録
Terraformによって作成された新しいクライアントはSUSE Managerに自動的に登録できます。 次の2つの登録方法があります。
-
cloud-init
ベースの登録 -
リモート実行プロビジョナーベースの登録
1. cloud-init
ベースのクライアント登録
新しく作成された仮想マシンを自動的に登録するには、cloud-init
を活用して登録することをお勧めします。 このソリューションでは、ホストへのSSH接続を設定する必要がありません。 また、クライアントの作成に使用するツールに関係なく使用することができます。
ユーザは、マシンをSUSE Managerに自動的に登録するために、Terraformを使用してイメージを展開するときにユーザデータのセットを渡すことができます。 user_data
はブートストラップ時にマシンを初めて起動したときのみ1回だけ実行されます。
cloud-init
を使用してクライアントを登録する前にユーザは以下を設定する必要があります。
-
ブートストラップスクリプト: 詳細については、ブートストラップスクリプトを使用してクライアントを登録するを参照してください。
-
アクティベーションキー: 詳細については、アクティベーションキーを参照してください。
次のコマンドを実行すると、ブートストラップスクリプトがダウンロードされ、新しいマシン作成時にそのマシンが登録されます。 これをcloud-init
設定に追加する必要があります。
curl -s http://hub-server.tf.local/pub/bootstrap/bootstrap-default.sh | bash -s
|
AWSでのcloud-init
に関する詳細については、https://registry.terraform.io/providers/hashicorp/template/latest/docs/data-sources/cloudinit_configを参照してください。
2. remote-exec
プロビジョナーベースの登録
新しく作成した仮想マシンの自動登録の2番目のソリューションではTerraformのremote-exec
プロビジョナーを使用します。
remote-exec
プロビジョナーは新しく作成されたマシンとやり取りします。 これは、SSH接続を開き、そのマシンでコマンドを実行できます。
リモート実行プロビジョナーを使用してクライアントを登録するとき、ユーザは、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を参照してください。