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の詳細については、次のURLを参照してください。 . https://registry.terraform.io/providers/hashicorp/template/latest/docs/data-sources/cloudinit_config
cloud-initの例については、次のURLを参照してください。 . https://registry.terraform.io/providers/hashicorp/cloudinit/latest/docs/data-sources/cloudinit_config#example-usage
2. リモート実行プロビジョナーベースの登録
新しく作成した仮想マシンの自動登録の2番目のソリューションではTerraformのリモート実行プロビジョナーを使用します。
リモート実行プロビジョナーは新しく作成したマシンとやり取りします。 これは、SSH接続を開き、そのマシンでコマンドを実行できます。
リモート実行プロビジョナーを使用してクライアントを登録するとき、ユーザは、Terraformを実行しているマシンが、新しい仮想マシン作成後にそのマシンにアクセスできることを確認する必要があります。 |
その他の要件は、[cloud-initベースのクライアントの登録]と同じです
-
ブートストラップスクリプト。ブートストラップスクリプトを使用してクライアントを登録するを参照してください
-
アクティベーションキー。アクティベーションキーを参照してください
このコマンドを実行すると、ブートストラップスクリプトがダウンロードされ、新しいマシン作成時にそのマシンが登録されます。これは、実行するリモートコマンドとして定義する必要があります。
curl -s http://hub-server.tf.local/pub/bootstrap/bootstrap-default.sh | bash -s
リモート実行プロビジョナーの詳細については、https://www.terraform.io/docs/provisioners/remote-exec.htmlを参照してください。