LoginSignup
0
0

More than 1 year has passed since last update.

Terraformを使って、NetApp BlueXP ConnectorをGoogle Cloud Platformに作成してみた

Last updated at Posted at 2023-02-06

はじめに

こちらの記事「Google Cloud Platform上にNetApp BlueXP Connectorを作成してみた」ではBlueXPのGUIにより、connectorを作成する方法を簡単にご紹介しました。今回はGoogle Cloud ShellのCLIより、TerraformのテンプレートでBlueXP Connectorを作成してみたいです。

  • BlueXPのGUIから作成するイメージ:
    image.png
  • Google Cloud Shellから作成するイメージ:
    image.png
  • ChatGPTに聞く:
    始める前に、そもそもBlueXPとは?疑問をお持ちの方は、こちらのKeywordから詳細を確認できます。せっかくなら、最近話題になっているOpenAIのChatGPTに聞いてみました。Terraformを使ってNetApp BlueXP ConnectorをGoogle Cloud Platformに作成することは可能です。
    image.png
    また、ChatGPTにNetApp BlueXP ConnectorのTerraform テンプレートを生成し見ました。テンプレートはある程度のサンプルなので、要確認・修正です。今回は公開されている「terraform: netapp-cloudmanager LATEST VERSION 23.1.1」により、最新バージョン23.1.1にします。
    image.png
    このサンプルのテンプレートを参考して作成してみます。

手順

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が必要です。
    image.png
    BlueXPのGUIからConnectorを作成すると同じように、Google Cloud上にservice accountが必要です。こちら「Create Service accounts」の手順を参照して作成します。
    image.png
    Service accountができたら、Google Cloud Consoleから確認できます。
    image.png
    Create new keyで下記のようなJsonファイルを保存して後ほど使います。
    image.png
    こちら「Enable Google Cloud APIs」を参照してBlueXP Connectorを作成するのに必要なAPIをenableします。
  • BlueXPのGUIより、サンプルテンプレートを自動作成
    BlueXPのGUIからリージョンやゾンなどを指定して、より手軽にテンプレートを生成することができます。BlueXPのGUIから先程作成したService accountを選びします。
    image.png
    自動生成したCode for Terraform Automationを保存して、今後Connectorを作成する時に利用きます。注意:provider = "netapp-cloud-managerprovider = netapp-cloudmanagerに変更する必要があります。
    image.png
    service_account_path = FILL_MEは後ほどCLIで実行する時、上記のCreate new keyで保存したJsonファイルにします。
  • refresh_token
    こちらにアクセスしてNetApp refresh tokenを作成します。
    image.png
    ここまではTerraformテンプレートに必要な準備は完了です。下記のTerraformテンプレートをmain.tfとしてGoogle Cloud Shellに作成します。
    image.png

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などを間違いない様に確認します。
image.png

  • terraform init
    Google Cloud Shellには既にTerraformが入ってるので、インストールする必要はありません。他のVMで実行する時には事前にインストールする必要があります。terraform -vでバージョンを確認して、terraform initを実行します。
    image.png
  • terraform apply
    次は、terraform applyしてconnectorを作成します。終わるまでにちょっと時間がかかりますが、途中でREFRESHするとVMができる様になります。
    image.png
    Apply completeになると、BlueXPのGUIから自動にActiveとして反映されます。
    image.png
  • BlueXPを確認
    作成したConnectorの動作確認するために、BlueXPのGUIからCloud SyncのData brokerを作ってみて、無事にできました。
    image.png
  • terraform destroy
    今回terraformテンプレートで作成したConnectorを削除するにはterraform destroyコマンドで簡単にできます。Connectorの動作確認で作成したData broker VMは手動で削除します。
    image.png
    注意:今回はテストの為terraformからconnectorだけを作成したので、terraform destroyでリソースを指定せずにクリーンナップした。

注意事項

Failed to generate a tokeの場合はrefresh tokenが期限切れになる可能性があります。こちら:refresh-tokenから再生成できます。
image.png

最後に

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

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0