SlideShare a Scribd company logo
株式会社ネットワールド
SI技術本部 ソリューションアーキテクト課
合言葉は「JUST DEPLOY」
- Provisioning Nutanix VMs with Terraform -
Nutanix Meetup #47
海野 航
2Copyright © 2019 Networld Corporation All Rights Reserved.
もくじ
• 自己紹介
• Terraform
• 帰ってすぐできる!
Terraform でプロビジョニング
• まとめとか
Copyright © 2019 Networld Corporation All Rights Reserved.
自己紹介
4Copyright © 2019 Networld Corporation All Rights Reserved.
あんた誰
海野 航 (うんの わたる)
Twitter : @UnnoWataru クレカと旅行の話が多い
ネットワールド っていう会社で
ソリューションアーキテクトをやってます
Citrix Future of Work 2019 で登壇しますので
万が一 VDI に興味があればレジストをお願いします
5Copyright © 2019 Networld Corporation All Rights Reserved.
あんた誰
Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform
7Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform の前に Infrastructure as Code のメリット
出典 : [iMagazine] Infrastructure as Codeの留意点とメリット サーバー更改プロジェクトへの適用で得られた知見・実感
https://www.imagazine.co.jp/infrastructure-as-codeの留意点とメリット%E3%80%80~サーバー更改プロ/
8Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform とは
再利用可能な
ソースコードとして
インフラの構成を
定義する
多様なインフラを
ワークフローを
変えることなく
導入する 出典 : Azure 上の HashiCorp Terraform
https://azure.microsoft.com/ja-jp/solutions/devops/terraform/
出典 : Terraformで超サクッとループで
リソースを用意する方法
https://dev.classmethod.jp/cloud/
aws/terraform-network-variable/
9Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform だけでいろんな環境のデプロイができるぞ!
ACME Cloudflare GitHub Local OVH Spotinst
Akamai CloudScale.ch GitLab Logentries Packet StatusCake
Alibaba Cloud CloudStack Google Cloud Platform LogicMonitor PagerDuty TelefonicaOpenCloud
Archive Cobbler Grafana Mailgun Palo Alto Networks Template
Arukas Consul Gridscale MongoDB Atlas PostgreSQL TencentCloud
Avi Vantage Datadog Hedvig MySQL PowerDNS Terraform
Aviatrix DigitalOcean Helm Naver Cloud ProfitBricks Terraform Cloud
AWS DNS Heroku Netlify Pureport TLS
Azure DNSimple Hetzner Cloud New Relic RabbitMQ Triton
Azure Active Directory DNSMadeEasy HTTP Nomad Rancher UCloud
Azure Stack Docker HuaweiCloud NS1 Rancher2 UltraDNS
A10 Networks Dome9 HuaweiCloudStack Null Random Vault
Bitbucket Dyn Icinga2 Nutanix RightScale Venafi
Brightbox Exoscale Ignition 1&1 Rundeck VMware NSX-T
CenturyLinkCloud External InfluxDB OpenStack RunScope VMware vCloud Director
Chef F5 BIG-IP JDCloud OpenTelekomCloud Scaleway VMware vRA7
CherryServers Fastly Kubernetes OpsGenie Selectel VMware vSphere
Circonus FlexibleEngine LaunchDarkly Oracle Cloud Infrastructure SignalFx Vultr
Cisco ASA FortiOS Librato Oracle Cloud Platform Skytap Yandex
Cisco ACI Genymotion Linode Oracle Public Cloud SoftLayer
出典 : HashiCorp Terraform Providers
https://www.terraform.io/docs/providers/index.html
10Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform はデプロイするだけなら帰ってすぐできるぞ!
Copyright © 2019 Networld Corporation All Rights Reserved.
帰ってすぐできる!
Terraform でプロビジョニング
12Copyright © 2019 Networld Corporation All Rights Reserved.
注意事項
今回紹介する内容について、
Nutanix 様 ならびに HashiCorp 様 では ノンサポートです
それに、もともと OSS 版の Terraform は コミュニティサポート
( Terraform のサポートが必要な場合は Enterprise Edition を!)
なぜなら、本当は Prism Element ではなく
Prism Central が必要だからです
個人的に聞かれたら できるだけがんばります
13Copyright © 2019 Networld Corporation All Rights Reserved.
仮想マシン デプロイまでの流れ
仮想マシンのディスクイメージ化
UUID の確認
( クラスター / ネットワーク / ディスクイメージ )
Terraform のインストール例
コードの作成
Terraform の実行
( INIT / PLAN / APPLY )
14Copyright © 2019 Networld Corporation All Rights Reserved.
今回のゴール
• Terraform を使って仮想マシンを コード でデプロイする
15Copyright © 2019 Networld Corporation All Rights Reserved.
仮想マシンのディスクイメージ化
• Terraform を使ってプロビジョニングしたい仮想マシンの
テンプレート を ディスクイメージ に変換します
image.create <target-img> image_type=kDiskImage
clone_from_vmdisk=vm:<taget-vm>:scsi.0
ここでは <unnow-win2016template> という仮想マシンを
<unnow_win2016_img> というイメージに変換しようとしている
参考ブログ : NTNX>日記
VM から Acropolis Image Service のディスクイメージを作成する。
http://blog.ntnx.jp/entry/2017/05/06/133123
16Copyright © 2019 Networld Corporation All Rights Reserved.
UUID の確認
• AHVクラスターのUUID
17Copyright © 2019 Networld Corporation All Rights Reserved.
UUID の確認
• ネットワークの UUID : net.list
• ディスクイメージの UUID : image.list
<0> という名前のネットワークに接続させたい
<unnow_win2016_img> を使いたい
18Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform のインストール例 (Windows 環境)
• Terraform のダウンロード
https://www.terraform.io/ からダウンロード
19Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform のインストール例 (Windows 環境)
• 展開して生成されたフォルダーを任意の場所に配置
20Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform のインストール例 (Windows 環境)
• 環境変数 Path の設定
21Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform のインストール例 (Windows 環境)
• 動作確認 : コマンドプロンプトから “terraform -version”
22Copyright © 2019 Networld Corporation All Rights Reserved.
コードの作成
• GitHub から [ main.tf ] と [ terraform.tfvars ] をコピペ
https://github.com/unnowataru/terraform-nutanix-sample
23Copyright © 2019 Networld Corporation All Rights Reserved.
コードの作成
• 任意のフォルダーに [ main.tf ] と
[ terraform.tfvars ] をコピペして新規作成
https://github.com/unnowataru/terraform-nutanix-sample
24Copyright © 2019 Networld Corporation All Rights Reserved.
コードの作成
• terraform.tfvars のパラメータを各環境固有のものに置き換える
25Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform INIT
• コマンドプロンプトにて main.tf と terraform.tfvars を
配置したフォルダーに移動して “terraform init” を実行
26Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform INIT
• “terraform init” を実行すると、Nutanixのプロバイダーに応じた
プラグインが自動的にダウンロードされる
27Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform PLAN
• コマンドプロンプトにて “terraform plan” を実行
• 特に問題がなければ”terraform apply”が実行可能な状態に遷移
28Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform APPLY
• コマンドプロンプトにて “terraform apply” を実行
29Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform APPLY
• デプロイ完了
30Copyright © 2019 Networld Corporation All Rights Reserved.
ワンカットの DEMO VIDEO (4分ぐらい)
Copyright © 2019 Networld Corporation All Rights Reserved.
まとめとか & 謝辞
32Copyright © 2019 Networld Corporation All Rights Reserved.
Terraform はデプロイするだけなら帰ってすぐできるぞ!
33Copyright © 2019 Networld Corporation All Rights Reserved.
まとめとか (初出情報多い)
• 今回の Terraform 前提条件
₋Windows 10 バージョン 1903
₋Terraform 0.12.14
₋Nutanix AOS 5.10.6 / AHV 20170830.279
₋今回は Prism Element に直接接続 (サポート対象外)
• オレの GitHub リポジトリ
₋https://github.com/unnowataru/terraform-nutanix-sample
https://github.com/terraform-providers/terraform-provider-nutanix/blob/master/examples/main.tf
Provisioning Nutanix VMs with Terraform

More Related Content

PDF
Nutanix Meetup 22.01 Wataru Unno
PDF
Vault の鍵管理機構
PDF
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
PPTX
Unno Wataru Nutanix Advent Calendar 2018
PPTX
自宅インフラの育て方 第2回
PDF
【初心者向け】API を使ってクラウドの管理を自動化しよう
PDF
vm meetup_tokyo #1 NSX の運用と DFW トラブルシューティング
Nutanix Meetup 22.01 Wataru Unno
Vault の鍵管理機構
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
Unno Wataru Nutanix Advent Calendar 2018
自宅インフラの育て方 第2回
【初心者向け】API を使ってクラウドの管理を自動化しよう
vm meetup_tokyo #1 NSX の運用と DFW トラブルシューティング

What's hot (20)

PDF
NIFcLab Tech Laboratoryはじめます(もうすぐ)
PDF
インフラチームのリモートワーク
PDF
ニフクラのサービス基盤運用におけるCIの取り組み
PDF
ニフクラでDockerを使う際のTips
PDF
WebRTCで動かす“テレイグジスタンス”ロボット
PDF
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう
PDF
VM 基盤運用チームの DevOps
PPTX
これから始めるエンジニアのためのクラウド超入門
PDF
クラウド上のシステム監視 入門編~システムを作ったその先に~
PDF
クラウド上のシステム監視 入門編
PPTX
ニフクラでも できる!Kubernetes。
PDF
「クラウド移行をめぐるウソ・ホント」 オンプレのVMwareからの切替は大変?P2V2Cの具体的な事例を紹介
PDF
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
PPTX
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
PPTX
DeNAが取り組む Software Engineer in Test
PDF
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
PPTX
DeNA private cloudのその後 #denatechcon
PPTX
OSS光と闇
PDF
AWS Cognito makes old web apps available from anywhere
NIFcLab Tech Laboratoryはじめます(もうすぐ)
インフラチームのリモートワーク
ニフクラのサービス基盤運用におけるCIの取り組み
ニフクラでDockerを使う際のTips
WebRTCで動かす“テレイグジスタンス”ロボット
マネージドKubernetes、「Kubernetes Service Hatoba」を使ってみよう
VM 基盤運用チームの DevOps
これから始めるエンジニアのためのクラウド超入門
クラウド上のシステム監視 入門編~システムを作ったその先に~
クラウド上のシステム監視 入門編
ニフクラでも できる!Kubernetes。
「クラウド移行をめぐるウソ・ホント」 オンプレのVMwareからの切替は大変?P2V2Cの具体的な事例を紹介
緊急事態宣言解除後のセキュリティ・チェックリストを解説してみた
マネージドKubernetesサービス ニフクラ Hatoba(β)リリース!!
DeNAが取り組む Software Engineer in Test
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
DeNA private cloudのその後 #denatechcon
OSS光と闇
AWS Cognito makes old web apps available from anywhere
Ad

Similar to Provisioning Nutanix VMs with Terraform (20)

PDF
QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphere
PDF
ゼロからはじめるTerraformでのDevOps2021
PDF
CoreOS OEM on NIFTY Cloud - CoreOS Meetup Tokyo #1 #coreosjp
PPTX
root権限無しでKubernetesを動かす
PPTX
技術選択とアーキテクトの役割
PDF
vmware-meetup7
PDF
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
PDF
20130803 OSC@Kyoto CloudStackユーザー会
PDF
Embedded Webで加速するWeb of Things
PDF
DAS_202109
PPTX
Terraform beginner tries vSphere automation
PDF
F5 meetup terraform &amp; vault
PPTX
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
PPTX
Cloud Foundryの件について@OpenStack Days Tokyo 2015
PPTX
BuildKitによる高速でセキュアなイメージビルド
PDF
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
PPTX
サーバーレスで ガチ本番運用までやってるお話し
PDF
日本と世界のDockerコミュニティ
PPTX
TungstenFabricでOpenStackとk8sをラクラク管理
PDF
Participation report of data stax accelerate 2019
QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphere
ゼロからはじめるTerraformでのDevOps2021
CoreOS OEM on NIFTY Cloud - CoreOS Meetup Tokyo #1 #coreosjp
root権限無しでKubernetesを動かす
技術選択とアーキテクトの役割
vmware-meetup7
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
20130803 OSC@Kyoto CloudStackユーザー会
Embedded Webで加速するWeb of Things
DAS_202109
Terraform beginner tries vSphere automation
F5 meetup terraform &amp; vault
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
Cloud Foundryの件について@OpenStack Days Tokyo 2015
BuildKitによる高速でセキュアなイメージビルド
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
サーバーレスで ガチ本番運用までやってるお話し
日本と世界のDockerコミュニティ
TungstenFabricでOpenStackとk8sをラクラク管理
Participation report of data stax accelerate 2019
Ad

Provisioning Nutanix VMs with Terraform

  • 2. 2Copyright © 2019 Networld Corporation All Rights Reserved. もくじ • 自己紹介 • Terraform • 帰ってすぐできる! Terraform でプロビジョニング • まとめとか
  • 3. Copyright © 2019 Networld Corporation All Rights Reserved. 自己紹介
  • 4. 4Copyright © 2019 Networld Corporation All Rights Reserved. あんた誰 海野 航 (うんの わたる) Twitter : @UnnoWataru クレカと旅行の話が多い ネットワールド っていう会社で ソリューションアーキテクトをやってます Citrix Future of Work 2019 で登壇しますので 万が一 VDI に興味があればレジストをお願いします
  • 5. 5Copyright © 2019 Networld Corporation All Rights Reserved. あんた誰
  • 6. Copyright © 2019 Networld Corporation All Rights Reserved. Terraform
  • 7. 7Copyright © 2019 Networld Corporation All Rights Reserved. Terraform の前に Infrastructure as Code のメリット 出典 : [iMagazine] Infrastructure as Codeの留意点とメリット サーバー更改プロジェクトへの適用で得られた知見・実感 https://www.imagazine.co.jp/infrastructure-as-codeの留意点とメリット%E3%80%80~サーバー更改プロ/
  • 8. 8Copyright © 2019 Networld Corporation All Rights Reserved. Terraform とは 再利用可能な ソースコードとして インフラの構成を 定義する 多様なインフラを ワークフローを 変えることなく 導入する 出典 : Azure 上の HashiCorp Terraform https://azure.microsoft.com/ja-jp/solutions/devops/terraform/ 出典 : Terraformで超サクッとループで リソースを用意する方法 https://dev.classmethod.jp/cloud/ aws/terraform-network-variable/
  • 9. 9Copyright © 2019 Networld Corporation All Rights Reserved. Terraform だけでいろんな環境のデプロイができるぞ! ACME Cloudflare GitHub Local OVH Spotinst Akamai CloudScale.ch GitLab Logentries Packet StatusCake Alibaba Cloud CloudStack Google Cloud Platform LogicMonitor PagerDuty TelefonicaOpenCloud Archive Cobbler Grafana Mailgun Palo Alto Networks Template Arukas Consul Gridscale MongoDB Atlas PostgreSQL TencentCloud Avi Vantage Datadog Hedvig MySQL PowerDNS Terraform Aviatrix DigitalOcean Helm Naver Cloud ProfitBricks Terraform Cloud AWS DNS Heroku Netlify Pureport TLS Azure DNSimple Hetzner Cloud New Relic RabbitMQ Triton Azure Active Directory DNSMadeEasy HTTP Nomad Rancher UCloud Azure Stack Docker HuaweiCloud NS1 Rancher2 UltraDNS A10 Networks Dome9 HuaweiCloudStack Null Random Vault Bitbucket Dyn Icinga2 Nutanix RightScale Venafi Brightbox Exoscale Ignition 1&1 Rundeck VMware NSX-T CenturyLinkCloud External InfluxDB OpenStack RunScope VMware vCloud Director Chef F5 BIG-IP JDCloud OpenTelekomCloud Scaleway VMware vRA7 CherryServers Fastly Kubernetes OpsGenie Selectel VMware vSphere Circonus FlexibleEngine LaunchDarkly Oracle Cloud Infrastructure SignalFx Vultr Cisco ASA FortiOS Librato Oracle Cloud Platform Skytap Yandex Cisco ACI Genymotion Linode Oracle Public Cloud SoftLayer 出典 : HashiCorp Terraform Providers https://www.terraform.io/docs/providers/index.html
  • 10. 10Copyright © 2019 Networld Corporation All Rights Reserved. Terraform はデプロイするだけなら帰ってすぐできるぞ!
  • 11. Copyright © 2019 Networld Corporation All Rights Reserved. 帰ってすぐできる! Terraform でプロビジョニング
  • 12. 12Copyright © 2019 Networld Corporation All Rights Reserved. 注意事項 今回紹介する内容について、 Nutanix 様 ならびに HashiCorp 様 では ノンサポートです それに、もともと OSS 版の Terraform は コミュニティサポート ( Terraform のサポートが必要な場合は Enterprise Edition を!) なぜなら、本当は Prism Element ではなく Prism Central が必要だからです 個人的に聞かれたら できるだけがんばります
  • 13. 13Copyright © 2019 Networld Corporation All Rights Reserved. 仮想マシン デプロイまでの流れ 仮想マシンのディスクイメージ化 UUID の確認 ( クラスター / ネットワーク / ディスクイメージ ) Terraform のインストール例 コードの作成 Terraform の実行 ( INIT / PLAN / APPLY )
  • 14. 14Copyright © 2019 Networld Corporation All Rights Reserved. 今回のゴール • Terraform を使って仮想マシンを コード でデプロイする
  • 15. 15Copyright © 2019 Networld Corporation All Rights Reserved. 仮想マシンのディスクイメージ化 • Terraform を使ってプロビジョニングしたい仮想マシンの テンプレート を ディスクイメージ に変換します image.create <target-img> image_type=kDiskImage clone_from_vmdisk=vm:<taget-vm>:scsi.0 ここでは <unnow-win2016template> という仮想マシンを <unnow_win2016_img> というイメージに変換しようとしている 参考ブログ : NTNX>日記 VM から Acropolis Image Service のディスクイメージを作成する。 http://blog.ntnx.jp/entry/2017/05/06/133123
  • 16. 16Copyright © 2019 Networld Corporation All Rights Reserved. UUID の確認 • AHVクラスターのUUID
  • 17. 17Copyright © 2019 Networld Corporation All Rights Reserved. UUID の確認 • ネットワークの UUID : net.list • ディスクイメージの UUID : image.list <0> という名前のネットワークに接続させたい <unnow_win2016_img> を使いたい
  • 18. 18Copyright © 2019 Networld Corporation All Rights Reserved. Terraform のインストール例 (Windows 環境) • Terraform のダウンロード https://www.terraform.io/ からダウンロード
  • 19. 19Copyright © 2019 Networld Corporation All Rights Reserved. Terraform のインストール例 (Windows 環境) • 展開して生成されたフォルダーを任意の場所に配置
  • 20. 20Copyright © 2019 Networld Corporation All Rights Reserved. Terraform のインストール例 (Windows 環境) • 環境変数 Path の設定
  • 21. 21Copyright © 2019 Networld Corporation All Rights Reserved. Terraform のインストール例 (Windows 環境) • 動作確認 : コマンドプロンプトから “terraform -version”
  • 22. 22Copyright © 2019 Networld Corporation All Rights Reserved. コードの作成 • GitHub から [ main.tf ] と [ terraform.tfvars ] をコピペ https://github.com/unnowataru/terraform-nutanix-sample
  • 23. 23Copyright © 2019 Networld Corporation All Rights Reserved. コードの作成 • 任意のフォルダーに [ main.tf ] と [ terraform.tfvars ] をコピペして新規作成 https://github.com/unnowataru/terraform-nutanix-sample
  • 24. 24Copyright © 2019 Networld Corporation All Rights Reserved. コードの作成 • terraform.tfvars のパラメータを各環境固有のものに置き換える
  • 25. 25Copyright © 2019 Networld Corporation All Rights Reserved. Terraform INIT • コマンドプロンプトにて main.tf と terraform.tfvars を 配置したフォルダーに移動して “terraform init” を実行
  • 26. 26Copyright © 2019 Networld Corporation All Rights Reserved. Terraform INIT • “terraform init” を実行すると、Nutanixのプロバイダーに応じた プラグインが自動的にダウンロードされる
  • 27. 27Copyright © 2019 Networld Corporation All Rights Reserved. Terraform PLAN • コマンドプロンプトにて “terraform plan” を実行 • 特に問題がなければ”terraform apply”が実行可能な状態に遷移
  • 28. 28Copyright © 2019 Networld Corporation All Rights Reserved. Terraform APPLY • コマンドプロンプトにて “terraform apply” を実行
  • 29. 29Copyright © 2019 Networld Corporation All Rights Reserved. Terraform APPLY • デプロイ完了
  • 30. 30Copyright © 2019 Networld Corporation All Rights Reserved. ワンカットの DEMO VIDEO (4分ぐらい)
  • 31. Copyright © 2019 Networld Corporation All Rights Reserved. まとめとか & 謝辞
  • 32. 32Copyright © 2019 Networld Corporation All Rights Reserved. Terraform はデプロイするだけなら帰ってすぐできるぞ!
  • 33. 33Copyright © 2019 Networld Corporation All Rights Reserved. まとめとか (初出情報多い) • 今回の Terraform 前提条件 ₋Windows 10 バージョン 1903 ₋Terraform 0.12.14 ₋Nutanix AOS 5.10.6 / AHV 20170830.279 ₋今回は Prism Element に直接接続 (サポート対象外) • オレの GitHub リポジトリ ₋https://github.com/unnowataru/terraform-nutanix-sample https://github.com/terraform-providers/terraform-provider-nutanix/blob/master/examples/main.tf