はじめに
こちらの記事「Google Cloud Platform上にNetApp BlueXP Connectorを作成してみた」ではBlueXPのGUIにより、connectorを作成する方法を簡単にご紹介しました。今回はGoogle Cloud ShellのCLIより、TerraformのテンプレートでBlueXP Connectorを作成してみたいです。
- BlueXPのGUIから作成するイメージ:
- Google Cloud Shellから作成するイメージ:
- ChatGPTに聞く:
始める前に、そもそもBlueXPとは?疑問をお持ちの方は、こちらのKeywordから詳細を確認できます。せっかくなら、最近話題になっているOpenAIのChatGPTに聞いてみました。Terraformを使ってNetApp BlueXP ConnectorをGoogle Cloud Platformに作成することは可能です。
また、ChatGPTにNetApp BlueXP ConnectorのTerraform テンプレートを生成し見ました。テンプレートはある程度のサンプルなので、要確認・修正です。今回は公開されている「terraform: netapp-cloudmanager LATEST VERSION 23.1.1」により、最新バージョン23.1.1
にします。
このサンプルのテンプレートを参考して作成してみます。
手順
1.Terraform templateに必要な準備
2.Google Cloud Shellから作成
1.Terraform templateに必要な準備
- Create service account & enable API
まずこちらの「Terraform Registry Providers: netapp-cloudmanager_connector_gcp LATEST VERSION 23.1.1」ガイドから必要な条件を確認します。Google Cloud リソースを利用する為、service account
が必要です。
BlueXPのGUIからConnectorを作成すると同じように、Google Cloud上にservice account
が必要です。こちら「Create Service accounts」の手順を参照して作成します。
Service account
ができたら、Google Cloud Consoleから確認できます。
Create new key
で下記のようなJsonファイルを保存して後ほど使います。
こちら「Enable Google Cloud APIs」を参照してBlueXP Connectorを作成するのに必要なAPIをenableします。 - BlueXPのGUIより、サンプルテンプレートを自動作成
BlueXPのGUIからリージョンやゾンなどを指定して、より手軽にテンプレートを生成することができます。BlueXPのGUIから先程作成したService account
を選びします。
自動生成したCode for Terraform Automation
を保存して、今後Connectorを作成する時に利用きます。注意:provider = "netapp-cloud-manager
をprovider = netapp-cloudmanager
に変更する必要があります。
service_account_path = FILL_ME
は後ほどCLIで実行する時、上記のCreate new key
で保存したJsonファイルにします。 -
refresh_token
こちらにアクセスしてNetApp refresh tokenを作成します。
ここまではTerraformテンプレートに必要な準備は完了です。下記のTerraformテンプレートをmain.tf
としてGoogle Cloud Shellに作成します。
2.Google Cloud ShellからBlueXP connectorを作成
Google Cloud Consoleから、Cloud Shellにアクセスして、上記のCreate new key
のJsonファイルをbluexp_service_account.json
にコピーします。main.tf
の中身は、provider = "netapp-cloudmanager"
、version = "23.1.1"
とservice_account_path
などを間違いない様に確認します。
-
terraform init
Google Cloud Shellには既にTerraformが入ってるので、インストールする必要はありません。他のVMで実行する時には事前にインストールする必要があります。terraform -v
でバージョンを確認して、terraform init
を実行します。
-
terraform apply
次は、terraform apply
してconnectorを作成します。終わるまでにちょっと時間がかかりますが、途中でREFRESH
するとVMができる様になります。
Apply complete
になると、BlueXPのGUIから自動にActive
として反映されます。
- BlueXPを確認
作成したConnectorの動作確認するために、BlueXPのGUIからCloud SyncのData brokerを作ってみて、無事にできました。
-
terraform destroy
今回terraformテンプレートで作成したConnectorを削除するにはterraform destroy
コマンドで簡単にできます。Connectorの動作確認で作成したData broker VMは手動で削除します。
注意:今回はテストの為terraformからconnectorだけを作成したので、terraform destroy
でリソースを指定せずにクリーンナップした。
注意事項
Failed to generate a toke
の場合はrefresh token
が期限切れになる可能性があります。こちら:refresh-tokenから再生成できます。
最後に
Terraformのテンプレートを使って、Google Cloud上にBlueXP Connectorを作成することができました。今回は必要なService acount
をGoogle Cloud Shell CLIより作成しましたが、Terraform:google_service_accountのガイドにより、Service account
もTerraformで作成できると記載されています。
参考リンク
1.Terraform
2.NetApp/terraform-provider-netapp-cloudmanager
3.NetApp Cloud Manager connector for GCP
4.refresh-token
5.Terraform:netapp-cloudmanager
6.Terraform tutorials:Google Cloud Platform Build
7.netapp-cloudmanager_connector_gcp: service_account_path
8.Google Cloud Platform上にNetApp BlueXP Connectorを作成してみた
9.Cloud AutomationTerraform & BlueXP Console: How to Use BlueXP Console Terraform Provider