Submit Search
QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphere
1 like
210 views
W
Wataru Unno
第12回 ハイブリッドクラウド研究会 見終わったらすぐできる!AzureもVMwareも!! Terraform で Infrastructure-as-Code をやってみよう
Technology
Read more
1 of 79
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
More Related Content
PPTX
Terraformで始めるInfrastructure as Code
Takahisa Iwamoto
PDF
ゼロからはじめるTerraformでのDevOps2021
Wataru Unno
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
PDF
Nutanix Meetup 22.01 Wataru Unno
Wataru Unno
PPTX
Redshift Spectrumを使ってみた話
Yoshiki Kouno
PDF
Struggle against cross-domain data complexity in Recruit group
Recruit Technologies
PDF
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
Kohei Tokunaga
PDF
リクルートの利用事例から考える AWSの各サービスとセキュリティ
Recruit Technologies
Terraformで始めるInfrastructure as Code
Takahisa Iwamoto
ゼロからはじめるTerraformでのDevOps2021
Wataru Unno
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
Nutanix Meetup 22.01 Wataru Unno
Wataru Unno
Redshift Spectrumを使ってみた話
Yoshiki Kouno
Struggle against cross-domain data complexity in Recruit group
Recruit Technologies
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
Kohei Tokunaga
リクルートの利用事例から考える AWSの各サービスとセキュリティ
Recruit Technologies
What's hot
(20)
PPTX
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
Kamonohashi
PDF
Ceph Loves OpenStack: Why and How
Emma Haruka Iwao
PDF
Apache Hadoopの新機能Ozoneの現状
NTT DATA OSS Professional Services
PPTX
クラウド概要 by Engine Yard
Yu Kitazume
PDF
コンテナは次世代サービスの主流になるか?
SAKURA Internet Inc.
PDF
Nutanix エンジニアのための Git 入門 :序
Wataru Unno
PDF
CoreOS OEM on NIFTY Cloud - CoreOS Meetup Tokyo #1 #coreosjp
雄也 日下部
PPTX
Prometheus入門から運用まで徹底解説
貴仁 大和屋
PDF
Lenovo seminar rancher_200513
Junji Nishihara
PDF
20141121 zabbix conference_japan_2014_nifty_kusakabe
雄也 日下部
PDF
Rancherを活用して開発効率を上げる
Michitaka Terada
PDF
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
Yahoo!デベロッパーネットワーク
PDF
そろそろLambda(CI/CD編)
輝 子安
PPTX
Docker活用ソリューション紹介
Mitsutoshi Kiuchi
PDF
JJUG CCC リクルートの Java に対する取り組み
Recruit Technologies
PDF
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
Masahito Zembutsu
PDF
Jbs seminar rancher_200325
Junji Nishihara
PPTX
Mesos consulで構築するマイクロサービスインフラ
Mitsutoshi Kiuchi
PDF
Vespa 機能紹介 #yjmu
Yahoo!デベロッパーネットワーク
PPTX
オタク×Node.js勉強会
虎の穴 開発室
DLモデル開発中の雑務が嫌で支援プラットフォームを作った話
Kamonohashi
Ceph Loves OpenStack: Why and How
Emma Haruka Iwao
Apache Hadoopの新機能Ozoneの現状
NTT DATA OSS Professional Services
クラウド概要 by Engine Yard
Yu Kitazume
コンテナは次世代サービスの主流になるか?
SAKURA Internet Inc.
Nutanix エンジニアのための Git 入門 :序
Wataru Unno
CoreOS OEM on NIFTY Cloud - CoreOS Meetup Tokyo #1 #coreosjp
雄也 日下部
Prometheus入門から運用まで徹底解説
貴仁 大和屋
Lenovo seminar rancher_200513
Junji Nishihara
20141121 zabbix conference_japan_2014_nifty_kusakabe
雄也 日下部
Rancherを活用して開発効率を上げる
Michitaka Terada
Kafka・Storm・ZooKeeperの認証と認可について #kafkajp
Yahoo!デベロッパーネットワーク
そろそろLambda(CI/CD編)
輝 子安
Docker活用ソリューション紹介
Mitsutoshi Kiuchi
JJUG CCC リクルートの Java に対する取り組み
Recruit Technologies
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
Masahito Zembutsu
Jbs seminar rancher_200325
Junji Nishihara
Mesos consulで構築するマイクロサービスインフラ
Mitsutoshi Kiuchi
Vespa 機能紹介 #yjmu
Yahoo!デベロッパーネットワーク
オタク×Node.js勉強会
虎の穴 開発室
Ad
Similar to QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphere
(20)
PDF
Provisioning Nutanix VMs with Terraform
Wataru Unno
PDF
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
Wataru Unno
PPTX
Step by stepで学ぶTerraformによる監視付きAWS構築
Yo Takezawa
PDF
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
NTT DATA Technology & Innovation
PDF
Terraformをいじってみて
ssuser11d6e6
PDF
TerraformによるIaCの導入
IAJ Co.,Ltd.
PDF
Terraform始めました
w1mvy pine
PDF
terraform基礎
risa buto
PDF
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
Masahito Zembutsu
PDF
Terraform
Shigeyuki Takeuchi
PDF
Terraformを活用した自動化デモ_F5-NGINX_Community-20200805
shinyatsukasaki
PDF
AWS CloudFormationによるInfrastructure as Codeの実現
HIRA
PDF
HashiCorp Terraform Enterprise 紹介
hashicorpjp
PDF
Terraform Bootcamp - Azure Infrastructure as Code隊
Toru Makabe
PDF
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
Keiichi Hikita
PPTX
Azure Pipline × Terraform
Kentaro Higashi
PDF
クラウドを最大限活用するinfrastructure as codeを考えよう
NTT Communications Technology Development
PDF
Gmo media terraform slide
hashicorpjp
PPTX
こうあって欲しいIaC
Kentaro Higashi
PDF
Infra as Code in Azure
Issei Hiraoka
Provisioning Nutanix VMs with Terraform
Wataru Unno
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
Wataru Unno
Step by stepで学ぶTerraformによる監視付きAWS構築
Yo Takezawa
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
NTT DATA Technology & Innovation
Terraformをいじってみて
ssuser11d6e6
TerraformによるIaCの導入
IAJ Co.,Ltd.
Terraform始めました
w1mvy pine
terraform基礎
risa buto
元運用担当者が,現役時代に本当に欲しかったもの. Osc2014 kansai@kyoto terraform introduction
Masahito Zembutsu
Terraform
Shigeyuki Takeuchi
Terraformを活用した自動化デモ_F5-NGINX_Community-20200805
shinyatsukasaki
AWS CloudFormationによるInfrastructure as Codeの実現
HIRA
HashiCorp Terraform Enterprise 紹介
hashicorpjp
Terraform Bootcamp - Azure Infrastructure as Code隊
Toru Makabe
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
Keiichi Hikita
Azure Pipline × Terraform
Kentaro Higashi
クラウドを最大限活用するinfrastructure as codeを考えよう
NTT Communications Technology Development
Gmo media terraform slide
hashicorpjp
こうあって欲しいIaC
Kentaro Higashi
Infra as Code in Azure
Issei Hiraoka
Ad
QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphere
1.
株式会社ネットワールド SI技術本部 ソリューションアーキテクト課 海野 航 第12回
ハイブリッドクラウド研究会 見終わったらすぐできる!AzureもVMwareも!! Terraform で Infrastructure-as-Code をやってみよう
2.
2Copyright © 2020
Networld Corporation All Rights Reserved. もくじ • HashiCorp 製品の考え方 と ソリューション • Terraformによる Infrastructure-as-Code とは? • VMware での Terraform のデモ • Azure での Terraform のデモ • Terraform を もっと簡単・便利に使うには • Azure での Terraform Cloud のデモ動画 • ハイブリッドクラウドを実現する Terraform Cloud Business Azure 用サンプルコードの GitHub リポジトリです
3.
3Copyright © 2020
Networld Corporation All Rights Reserved. 今日のセッションのポイント Terraform と Infrastructure-as-Code が いったい何なのか ゼロからワカル !! この後すぐ、セッションを見終わったら Terraform で Azure のプロビジョニングがデキル !! Terraform を便利でカンタンに使う方法がワカル !! Azure 用サンプルコードの GitHub リポジトリです
4.
4Copyright © 2020
Networld Corporation All Rights Reserved. 特にお伝えしたいポイント Azure と Terraform のデモの再現は ホントにゼロからできるようになっています !! 一般的な Windows PC と 無料試用版の Azure で再現できます。 セッションを見聞きするだけよりも、 実際に手を動かす方が理解できるはずです。 ぜひ Terraform で IaC をやってみてください !! Azure 用サンプルコードの GitHub リポジトリです
5.
5Copyright © 2020
Networld Corporation All Rights Reserved. 海野 航 (うんの わたる) @UnnoWataru ネットワールド の ソリューションアーキテクト NVIDIA NGCA 仮想化・HCI & クラウド × 自動化 Citrix ブログにも寄稿 https://www.citrix.com/blogs/2019/08/07/powershell-alexa-virtual-apps-and-desktops/
6.
Copyright © 2020
Networld Corporation All Rights Reserved. HashiCorp 製品の考え方 と ソリューション
7.
7Copyright © 2020
Networld Corporation All Rights Reserved. HashiCorp 製品の基礎 : Tao of HashiCorp テクノロジーではなく、ワークフロー (Workflows, not technologies) 技術が進歩しても、仕事のための 優れたワークフローは変わりません。 連続したプロセスによるコミュニケーション (Communicating Sequential Processes) 各サービスはAPIを介して他のサービスと通信する 個別のプロセスとして扱われるべきです。 コードによるバージョン管理 (Versioning through Codification) 重要な知識をコード化することで情報共有が促進され、 プロセスの変更は自動的に保存され、バージョン化されるため、 データの損失を防ぐことができます。 自己修復力のあるシステム (Resilient System) システムのあるべき状態、現在の状態に関する情報を収集 する方法、そして現在の状態を自動的に調整してあるべき 状態に戻す仕組みが必要です。 シンプル・モジュラー・コンポーザブル (Simple, Modular, Composable) それぞれの課題に応じたアプローチを取り、モジュールを 組み合わせて、より優れたソリューションを構築します。 イミュータブル (Immutability) 不変性のあるインフラストラクチャを使用することで、 操作、デバッグ、バージョン管理、可視化がよりシンプルになり、 より堅牢なシステムを実現できると信じています。 コードによる自動化 (Automation through Codification) 自動化された一連のワークフローにより、オペレータは 生産性を向上させ、より迅速に移動し、ヒューマンエラー を減らすことができます。 実用主義 (Pragmatism) これらの考え方を評価し、どのように採用するかがHashiCorpのベスト プラクティスを向上させます。しかし、時には自分たちが間違っている かもしれないことを受け入れる寛容さと謙虚さが必要です。 HashiCorp のビジョン、ロードマップ、 製品設計の指針となるもの。
8.
8Copyright © 2020
Networld Corporation All Rights Reserved. つまり、HashiCorp のソリューション とは… Run デベロップ ● ワークロードスケジューリング ● Multi-Cloud オーケストレーション Secure セキュリティ ● シークレット・マネジメント ● Encryption as a Service Provision プロビジョニング ● Infrastructure as a Code ● Multi-Cloud プロビジョニング Connect ネットワーク ● Service Registry & Discovery ● サービスメッシュ 異なる環境間の差異を吸収し、 一貫性のあるワークフローを実現
9.
Copyright © 2020
Networld Corporation All Rights Reserved. Terraform による Infrastructure as Code とは?
10.
10Copyright © 2020
Networld Corporation All Rights Reserved. Infrastructure as Code (Iac) とは? インフラ CPUやメモリ、ディスクといったリソース、 あるいは仮想マシンやアプライアンスそのもの コードで 表現することを Azure 用サンプルコードの GitHub リポジトリです
11.
11Copyright © 2020
Networld Corporation All Rights Reserved. Terraform で Infrastructure as Code を実現する 再利用可能な ソースコードとして インフラの構成を 定義する 多様なインフラを ワークフローを 変えることなく 導入する 出典 : Terraformで超サクッとループで リソースを用意する方法 https://dev.classmethod.jp/cloud/ aws/terraform-network-variable/ 出典 : Azure 上の HashiCorp Terraform https://azure.microsoft.com/ja- jp/solutions/devops/terraform/
12.
12Copyright © 2020
Networld Corporation All Rights Reserved. Terraform による IaC で インフラセルフサービスを実現 導 入 前 導 入 後 ソフトウェア開 発者 ソフトウェア開 発者 インフラ要件 (作業指示書) Terraform の コード (HCL) インフラ SE が 作業を実施 Terraform が プロビジョニング 開発者が 要求した リソース 開発者が 要求した リソース
13.
13Copyright © 2020
Networld Corporation All Rights Reserved. Infrastructure as Code のメリットとは 出典 : [iMagazine] Infrastructure as Codeの留意点とメリット サーバー更改プロジェクトへの適用で得られた知見・実感 https://www.imagazine.co.jp/infrastructure-as-codeの留意点とメリット%E3%80%80~サーバー更改プロ/
14.
14Copyright © 2020
Networld Corporation All Rights Reserved. 各クラウドやプロダクト専用の IaC ツールはある AWS なら CloudFormation など Azure なら ARM テンプレートなど VMware なら PowerCLI など Ansible や Puppet などは もう少し OS の内部的な設定に 寄せているイメージ…
15.
15Copyright © 2020
Networld Corporation All Rights Reserved. Terraform : ひとつの仕組みで さまざまな環境に対応 AWS Azure GCP VMware Terraform があると… • 異なるクラウド/オンプレミスでも単一のコードで対応可能 • 環境変更の前にレビューがしやすい • コードに基づいた自動作業だから作業漏れが発生しない • 現在の状態を State ファイルで確認できる • 環境の変更履歴が追える • 作成したコードを再利用できる
16.
16Copyright © 2020
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
17.
17Copyright © 2020
Networld Corporation All Rights Reserved. Terraform による IaC で インフラ セルフサービスを実現 Terraform と AWS の組み合わせ例 https://github.com/unnowataru/terraform-aws-simple-ec2 コードの作成 コードの実行 • terraform init • terraform plan • terraform apply • terraform destroy 仮想マシンの作成・削除
18.
18Copyright © 2020
Networld Corporation All Rights Reserved. Terraform による IaC で インフラ セルフサービスを実現 Terraform と Nutanix AHV の組み合わせ例 https://github.com/unnowataru/terraform-nutanix-sample コードの作成 コードの実行 • terraform init • terraform plan • terraform apply • terraform destroy 仮想マシンの作成・削除
19.
19Copyright © 2020
Networld Corporation All Rights Reserved. Terraform を実行するためのステップ Terraform をインストールし、定義ファイルを作成・配置する (定義ファイルとは 拡張子 .tf のテキストデータ) [ STEP1 ] インストールと コードの作成 [ STEP2 ] terraform init Terraform プロバイダーを設定する (プロバイダーとは プロビジョニング対象製品のための Terraform のプラグイン) Terraform が定義ファイルに基づいて、各製品の API に 対応したコードを自動生成、検証(リハーサル/ドライラン)する [ STEP3 ] terraform plan 実際に環境へコードを適用して、プロビジョニングする [ STEP4 ] terraform apply
20.
20Copyright © 2020
Networld Corporation All Rights Reserved. [ STEP1 ] インストール と コードの作成 インストール コードの作成
21.
21Copyright © 2020
Networld Corporation All Rights Reserved. Terraform のコード : vSphere 向けサンプル [ main.tf ] Terraformのメインコード [ terraform.tfvars ] 変数のみを格納しているファイル https://github.com/unnowataru/ TFE-Sample-for-VMware いますぐダウンロードできます!!
22.
22Copyright © 2020
Networld Corporation All Rights Reserved. Terraform のコード解説 : main.tf variable : 変数を定義するセクション ユーザー名やvCenterのFQDN、プロビジョニングしたい仮想マシンの 名前、スペックなどを変数として定義している。
23.
23Copyright © 2020
Networld Corporation All Rights Reserved. Terraform のコード解説 : main.tf provider : インフラを定義するセクション ここでは vsphere としているが、AWS や Azure など プロビジョニング対象となるインフラをここで定義する。 ちなみに ”vsphere” の場合、ちょっとカッコつけようと思って “vSphere” とか書いたりすると terraform plan 実行時に怒られる ことがあるので注意。 これで2時間ぐらいハマりました( ;∀;)
24.
24Copyright © 2020
Networld Corporation All Rights Reserved. Terraform のコード解説 : main.tf data : 既存のリソースから情報を取り込む 変数で指定したオブジェクトから情報を取り込み、プロビジョニングに 利用できるようにする。 この例では、指定した仮想マシンテンプレートの情報を取り込み、 OSタイプや仮想ハードウェアの情報が Terraform 側で利用できる ようになっている。
25.
25Copyright © 2020
Networld Corporation All Rights Reserved. Terraform のコード解説 : main.tf resource : 実際に作成するリソースを定義 変数で指定した情報や data で取り込んだ情報を利用して、対象となる インフラにリソースをプロビジョニング(作成)する。 当然のことながら、HCLはプログラミング言語なので、演算子なども きちんと使える。 ここでは変数 “count” に応じて仮想マシンの名前を1から指定した数字 まで、前ゼロ3桁でプロビジョニングするような仕組みになっている。 HCLで定義されている文字列 自分で名前を付けるオブジェクト
26.
26Copyright © 2020
Networld Corporation All Rights Reserved. Terraform のコード解説 : terraform.tfvars パスワードやアクセスキーのお漏らしには注意しましょう!!
27.
27Copyright © 2020
Networld Corporation All Rights Reserved. [ STEP2 ] terraform init フォルダーにコードを配置 コマンドラインで “terraform init”
28.
28Copyright © 2020
Networld Corporation All Rights Reserved. [ STEP2 ] terraform init フォルダーにプロバイダーが ダウンロードされる プロバイダーの実体が 配置されていることがわかる
29.
29Copyright © 2020
Networld Corporation All Rights Reserved. Terraform のプロバイダーとは? プロバイダーの役割 AWS Azure GCP VMware HCL のコード こういう インフラが 欲しいなぁ... 【ザックリ理解!!】 インフラの特性や固有の依存関係なども 整理して、各サービスやプロダクトの API へ翻訳・変換してくれる
30.
30Copyright © 2020
Networld Corporation All Rights Reserved. [ STEP3 ] terraform plan “terraform plan” でコードの検証を実施する コードに不備があるとエラーが表示される
31.
31Copyright © 2020
Networld Corporation All Rights Reserved. [ STEP4 ] terraform apply “terraform apply” でコードをインフラに適用する プロビジョニングされるリソースを確認し、 問題がなければ “YES” で適用を開始する
32.
Copyright © 2020
Networld Corporation All Rights Reserved. VMware での Terraform のデモ動画
33.
33Copyright © 2020
Networld Corporation All Rights Reserved. デモのお品書き Terraform (OSS版) をダウンロードして、 Windows 10 に初期設定する GitHub からコードをコピペしてくる vSphere 6.7u1 の環境で テンプレートを使って Windows Server を 1台 プロビジョニングする (仮想マシンの名前は TFVM001 とする)
34.
34Copyright © 2020
Networld Corporation All Rights Reserved. 見終わったらプロビジョニングするために準備するもの Terraform の初期設定 と 実行するコードのコピペ https://github.com/unnowataru/TFE-Sample-for-VMware VMware vSphere の環境 ( Sysprep をしていない Windows OS テンプレート含む) vSphere の環境に [データセンター] と [クラスター] が作成済みであること ※この辺はコード内に変数として設定しますので terraform.tfvars を参照してください
35.
35Copyright © 2020
Networld Corporation All Rights Reserved. デモ : OSS版 Terraform と vSphere の組み合わせ https://github.com/unnowataru/TFE-Sample-for-VMware
36.
Copyright © 2020
Networld Corporation All Rights Reserved. Azure での Terraform のデモ動画
37.
37Copyright © 2020
Networld Corporation All Rights Reserved. デモのお品書き Azure CLI を使って Terraform が Azure にプロビジョニングできる状態にする Windows 10 での Terraform のインストールと GitHub からのコピペによるコードの準備をする リソースグループや仮想ネットワークなどの Windows Server 2019 の利用に必要なリソースを設定し、 RDPで接続できる状態にプロビジョニングする (仮想マシンの名前は TFVM0001 とする) Azure 用サンプルコードの GitHub リポジトリです
38.
38Copyright © 2020
Networld Corporation All Rights Reserved. 見終わったらプロビジョニングするために準備するもの Terraform の初期設定 と 実行するコードのコピペ https://github.com/unnowataru/terraform-azure-sample Azure 無料試用版サブスクリプションの取得 Cloud Shell の有効化 (ホントに簡単で、ポチポチするだけで終わります) https://docs.microsoft.com/ja-jp/azure/cloud-shell/overview
39.
39Copyright © 2020
Networld Corporation All Rights Reserved. デモ : OSS版 Terraform と Azure の組み合わせ https://github.com/unnowataru/TFE-Sample-for-VMware
40.
Copyright © 2020
Networld Corporation All Rights Reserved. Terraform を もっと簡単・便利に使うには
41.
41Copyright © 2020
Networld Corporation All Rights Reserved. 2つのタイプの 無償で使える Terraform オンプレミス クラウド 無 償 Terraform (OSS) • CUI のみ • ローカルの端末で実行 • オンプレでもパブリックでもOK Terraform Cloud (Free) • GUI あり • HashiCorp による SaaS • オンプレミス利用NG 有 償 Terraform Enterprise • GUI あり • お客様自身によるホスティング • オンプレでもパブリックでもOK • チーム管理&ポリシー機能あり • エンタープライズ向け機能あり (SAMLや監査ログなど) Terraform Cloud Business • GUI あり • HashiCorp による SaaS • オンプレでもパブリックでもOK • チーム管理&ポリシー機能あり • エンタープライズ向け機能あり (SAMLや監査ログなど)
42.
42Copyright © 2020
Networld Corporation All Rights Reserved. Terraform Cloud で もっと簡単・便利に GUI から Terraform を操作できる
43.
43Copyright © 2020
Networld Corporation All Rights Reserved. 注目機能1 : VCS と連携したワークスペース 【ザックリ理解!!】 ひとつのワークスペースは ひとつの VCS リポジトリに紐付く VCS とは Version Control System のこと (例えば、GitHubとかGitLabとか…)
44.
44Copyright © 2020
Networld Corporation All Rights Reserved. 注目機能1 : VCS と連携したワークスペース ローカルにコードを 配置する代わりに… ワークスペースに VCS の リポジトリを紐付ける 【ザックリ理解!!】 ここからコードを取得して、 Terraform のサーバーに格納する
45.
45Copyright © 2020
Networld Corporation All Rights Reserved. 注目機能2 : Secure Variables 【ザックリ理解!!】 GUI に入力したパスワードは もう二度と読み取ることはできない!!
46.
46Copyright © 2020
Networld Corporation All Rights Reserved. 注目機能3 : tfstate ファイルをチームで共有 特別な仕組みを用意することなく インフラの状態をチームで共有 【ザックリ理解!!】 • tfstate ファイルとは、リソースの 状態を示すJSONのこと • Terraform Cloud では標準で クラウド側に tfstate ファイルを 保持する仕組みを持っている • これにより、チームで tfstate ファイルを共有、参照できる
47.
Copyright © 2020
Networld Corporation All Rights Reserved. Azure と Terraform Cloud の組み合わせ
48.
48Copyright © 2020
Networld Corporation All Rights Reserved. お品書き Terraform Cloud にログインして GitHub と連携させたワークスペースを作成する Terraform (OSS版) と完全に同じコードを使う リソースグループや仮想ネットワークなどの Windows Server 2019 の利用に必要なリソースを設定し、 RDPで接続できる状態にプロビジョニングする (仮想マシンの名前は TFVM0001 とする)
49.
49Copyright © 2020
Networld Corporation All Rights Reserved. 見終わったらプロビジョニングするために準備するもの Terraform Cloud のアカウント作成と GitHub リポジトリの Fork (コピー) https://github.com/unnowataru/terraform-azure-sample Azure 無料試用版サブスクリプションの取得 Cloud Shell の有効化 と サービスプリンシパルの作成 (OSS 版のデモ環境の設定を流用するので、ここでは割愛します)
50.
50Copyright © 2020
Networld Corporation All Rights Reserved. (1) Terraform Cloud のアカウントを作成し、サインイン
51.
51Copyright © 2020
Networld Corporation All Rights Reserved. (2) 新規ワークスペースを作成し、VCS を指定
52.
52Copyright © 2020
Networld Corporation All Rights Reserved. (3) Azure 用コードが配置されたリポジトリを指定
53.
53Copyright © 2020
Networld Corporation All Rights Reserved. (4) 変数を入力、必要であれば秘匿化し、plan を実行
54.
54Copyright © 2020
Networld Corporation All Rights Reserved. (5) plan の結果を確認し、問題がなければ apply を実行
55.
55Copyright © 2020
Networld Corporation All Rights Reserved. (6) apply が完了
56.
56Copyright © 2020
Networld Corporation All Rights Reserved. (7) Azure にプロビジョニングされていることを確認
57.
Copyright © 2020
Networld Corporation All Rights Reserved. ハイブリッドクラウドを実現する Terraform Cloud Business
58.
58Copyright © 2020
Networld Corporation All Rights Reserved. Terraform Cloud Business とは ハイブリッドクラウドで 簡単・安全・便利 に使うなら Terraform Cloud Business こんなひとにオススメ!! • GUI がほしい • サポートがほしい • チームで取り組みたい (属人性をできる限りなくしたい) • 管理・監査が必要 (ヒヤリハットを防ぎたい) • オンプレミスでも使いたい
59.
59Copyright © 2020
Networld Corporation All Rights Reserved. いままでの Terraform Cloud で実現できなかったこと なぜ 従来のTerraform Cloud ではダメだったのか? • オンプレミスの環境に接続できない Terraform Cloud AWS Azure GCP 【ザックリ理解】 • Terraform Cloud は HashiCorp による SaaS • パブリッククラウドのエンドポイントは パブリックIP (当たり前) • 通常では vCenter や SCVMM は パブリックに公開しない (当たり前)
60.
60Copyright © 2020
Networld Corporation All Rights Reserved. Terraform Cloud Business で実現できること Terraform Cloud でもオンプレミスがイケる • エージェント経由でオンプレミスに接続できる Terraform Cloud AWS Azure GCP 【ザックリ理解!!】 Terraform Cloud Agent が https で Terraform Cloud へ疎通し、 代理でプロビジョニングする
61.
61Copyright © 2020
Networld Corporation All Rights Reserved. Terraform Cloud Business でのオンプレ対応ができると Terraform Cloud の利便性そのままに オンプレミスでのプロビジョニングができる SAML や 監査ログなどのエンタープライズ向けの 機能を利用したい場合でも 資産を持たない選択ができる パブリッククラウドとオンプレミスを ひとつのツール (Terraform Cloud) ですべて管理できる = シームレスなハイブリッドクラウドを実現 !!
62.
62Copyright © 2020
Networld Corporation All Rights Reserved. (1) Terraform Cloud Agent のトークンのセットアップ
63.
63Copyright © 2020
Networld Corporation All Rights Reserved. (2) ダウンロードし、unzip したバイナリを実行
64.
64Copyright © 2020
Networld Corporation All Rights Reserved. (3) Terraform Cloud に エージェントが認識される
65.
65Copyright © 2020
Networld Corporation All Rights Reserved. (4) ワークスペース設定で [ エージェント実行 ] を指定
66.
66Copyright © 2020
Networld Corporation All Rights Reserved. (5) 変数を入力、必要であれば秘匿化し、plan を実行
67.
67Copyright © 2020
Networld Corporation All Rights Reserved. (6) エージェント側に plan がリクエストされる
68.
68Copyright © 2020
Networld Corporation All Rights Reserved. (7) plan の結果を確認し、問題がなければ apply を実行
69.
69Copyright © 2020
Networld Corporation All Rights Reserved. (8) vSphere にプロビジョニングされていることを確認
70.
70Copyright © 2020
Networld Corporation All Rights Reserved. Terraform Cloud Business 注目機能 : Sentinel Terraform のポリシー管理機能 Sentinel こんなひとにオススメ!! • GUI がほしい • サポートがほしい • チームで取り組みたい (属人性をできる限りなくしたい) • 管理・監査が必要 (ヒヤリハットを防ぎたい) • オンプレミスでも使いたい 【ザックリ理解!!】 特にこの部分に有効で、 いろいろできちゃう Terraform で 事故が起きないようポリシー設定できる
71.
71Copyright © 2020
Networld Corporation All Rights Reserved. Terraform Cloud Business 注目機能 : Sentinel Policy as Code : ポリシーをコード化し、プロビジョニングする ときに自動的にルールが適用されているか確認。 Version Control : ポリシー作成やバージョン管理、コードの レビューなどを既存の VCS ベースの手法で実現。 Policy Sets : 複数のポリシーをグループ化し、複数の異なる 環境に対し、独自のルールの設定が可能。 Testing : Sentinel Simulator により、カンタンに ポリシーのテストや開発が可能。
72.
72Copyright © 2020
Networld Corporation All Rights Reserved. Sentinel にはどんなポリシーがあるのか? VMware 向けのサンプルだと… Azure 向けのサンプルだと… https://www.terraform.io/docs/cloud/sentinel/examples.html
73.
73Copyright © 2020
Networld Corporation All Rights Reserved. Sentinel はどうやって設定するのか? VCS にコードを作成して… https://github.com/hashicorp/terraform-guides/blob/master/governance/second-generation/vmware/restrict-vm-disk-size.sentinel リポジトリからポリシーを設定
74.
Copyright © 2020
Networld Corporation All Rights Reserved. まとめ
75.
75Copyright © 2020
Networld Corporation All Rights Reserved. まとめ : Infrastructure as Code (Iac) とは インフラ CPUやメモリ、ディスクといったリソース、 あるいは仮想マシンやアプライアンスそのもの コードで 表現することを
76.
76Copyright © 2020
Networld Corporation All Rights Reserved. まとめ : Terraform / Terraform Cloud の実行ステップ Terraform をインストールし、定義ファイルを作成・配置する (定義ファイルとは 拡張子 .tf のテキストデータ) [ STEP1 ] インストールと コードの作成 [ STEP2 ] terraform init Terraform プロバイダーを設定する (プロバイダーとは プロビジョニング対象製品のための Terraform のプラグイン) Terraform が定義ファイルに基づいて、各製品の API に 対応したコードを自動生成、検証(リハーサル/ドライラン)する [ STEP3 ] terraform plan 実際に環境へコードを適用して、プロビジョニングする [ STEP4 ] terraform apply
77.
77Copyright © 2020
Networld Corporation All Rights Reserved. まとめ : Terraform Cloud Business とは ハイブリッドクラウドで 安心・安全 に使うなら Terraform Cloud Business こんなひとにオススメ!! • GUI がほしい • サポートがほしい • チームで取り組みたい (属人性をできる限りなくしたい) • 管理・監査が必要 (ヒヤリハットを防ぎたい) • オンプレミスでも使いたい
78.
78Copyright © 2020
Networld Corporation All Rights Reserved. まとめ : 実践してみよう !! Azure と Terraform (OSS版) のデモの再現は ホントにゼロからできるようになっています !! 一般的な Windows PC と 無料試用版の Azure で再現できます。 セッションを見聞きするだけよりも、 実際に手を動かす方が理解できるはずです。 ぜひ Terraform で IaC をやってみてください !! Azure 用サンプルコードの GitHub リポジトリです
Download