Submit Search
ゼロからはじめるTerraformでのDevOps2021
0 likes
1,069 views
W
Wataru Unno
Nutanix DevOps Night #1
Technology
Read more
1 of 46
Download now
Downloaded 11 times
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
More Related Content
PDF
Nutanix エンジニアのための Git 入門 :序
Wataru Unno
PDF
Cloud Foundryで学ぶ、PaaSのしくみ講座
Kazuto Kusama
PDF
20190722 Building handy CI with zuul and OpenStack
Akihiro Motoki
PDF
Cloud foundryのコミュニティを紹介するよ
Kazuto Kusama
PDF
はじめてのCF buildpack
Kazuto Kusama
PPTX
Terraformで始めるInfrastructure as Code
Takahisa Iwamoto
PPTX
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
Akihiro Suda
PDF
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Masahito Zembutsu
Nutanix エンジニアのための Git 入門 :序
Wataru Unno
Cloud Foundryで学ぶ、PaaSのしくみ講座
Kazuto Kusama
20190722 Building handy CI with zuul and OpenStack
Akihiro Motoki
Cloud foundryのコミュニティを紹介するよ
Kazuto Kusama
はじめてのCF buildpack
Kazuto Kusama
Terraformで始めるInfrastructure as Code
Takahisa Iwamoto
高速にコンテナを起動できるイメージフォーマット (NTT Tech Conference #2)
Akihiro Suda
Dockerの基本と応用~快適コンテナライフを実現するArukas~
Masahito Zembutsu
What's hot
(20)
PDF
高速にコンテナを起動できるイメージフォーマット
Akihiro Suda
PDF
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
Takeshi Morikawa
PDF
runC概要と使い方
Yuji Oshima
PPTX
Upstream University
NTT Communications Technology Development
PDF
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
Kohei Tokunaga
PPTX
Moby Project
Akihiro Suda
PDF
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
Megagon Labs
PDF
PaaS / Cloud Foundry makes you happy
Katsunori Kawaguchi
PDF
OpenStackアップストリーム活動実践 中級
Takashi Natsume
PDF
Prometheus at Preferred Networks
Preferred Networks
PPTX
Dockerのネットワークについて
Nobuyuki Matsui
PDF
20190722 OpenStack community past present future
Akihiro Motoki
PPTX
TungstenFabricでOpenStackとk8sをラクラク管理
Yuki Yamashita
PPTX
Dockerが抱えるネットワークの課題
Asuka Suzuki
PDF
PTLのお仕事とリリースパイプラインの裏側
masahito12
PDF
Dockerコミュニティ近況
Akihiro Suda
PDF
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
PDF
Docker国内外本番環境サービス事例のご紹介
ThinkIT_impress
PPTX
Moby Project (May 25, 2017, Tokyo)
Akihiro Suda
PPTX
Prometheus入門から運用まで徹底解説
貴仁 大和屋
高速にコンテナを起動できるイメージフォーマット
Akihiro Suda
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
Takeshi Morikawa
runC概要と使い方
Yuji Oshima
Upstream University
NTT Communications Technology Development
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
Kohei Tokunaga
Moby Project
Akihiro Suda
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
Megagon Labs
PaaS / Cloud Foundry makes you happy
Katsunori Kawaguchi
OpenStackアップストリーム活動実践 中級
Takashi Natsume
Prometheus at Preferred Networks
Preferred Networks
Dockerのネットワークについて
Nobuyuki Matsui
20190722 OpenStack community past present future
Akihiro Motoki
TungstenFabricでOpenStackとk8sをラクラク管理
Yuki Yamashita
Dockerが抱えるネットワークの課題
Asuka Suzuki
PTLのお仕事とリリースパイプラインの裏側
masahito12
Dockerコミュニティ近況
Akihiro Suda
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
Docker国内外本番環境サービス事例のご紹介
ThinkIT_impress
Moby Project (May 25, 2017, Tokyo)
Akihiro Suda
Prometheus入門から運用まで徹底解説
貴仁 大和屋
Ad
Similar to ゼロからはじめるTerraformでのDevOps2021
(20)
PDF
QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphere
Wataru Unno
PDF
Provisioning Nutanix VMs with Terraform
Wataru Unno
PDF
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
Wataru Unno
PDF
Terraform始めました
w1mvy pine
PPTX
Step by stepで学ぶTerraformによる監視付きAWS構築
Yo Takezawa
PDF
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
Keiichi Hikita
PDF
Terraformを活用した自動化デモ_F5-NGINX_Community-20200805
shinyatsukasaki
PDF
terraform基礎
risa buto
PDF
Terraformをいじってみて
ssuser11d6e6
PDF
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
NTT DATA Technology & Innovation
PDF
Terraform
Shigeyuki Takeuchi
PDF
Gmo media terraform slide
hashicorpjp
PDF
OpenStack入門 2016/06/10
株式会社 NTTテクノクロス
PDF
Nutanix Meetup 22.01 Wataru Unno
Wataru Unno
PDF
F5 meetup terraform & vault
Masatomo Ito
PDF
LAMPもDockerもKubernetesも数クリックでデプロイ! Nutanix & Calmによるインフラとアプリ展開の自動化
Satoshi Shimazaki
PDF
Terraforming
Tomoaki Yahagi
PDF
TerraformによるIaCの導入
IAJ Co.,Ltd.
PPTX
今からでも間に合う!インフラ自動化超入門 @渋谷
Daigou Harada
PDF
OSSを活用したIaCの実現
Trainocate Japan, Ltd.
QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphere
Wataru Unno
Provisioning Nutanix VMs with Terraform
Wataru Unno
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
Wataru Unno
Terraform始めました
w1mvy pine
Step by stepで学ぶTerraformによる監視付きAWS構築
Yo Takezawa
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用
Keiichi Hikita
Terraformを活用した自動化デモ_F5-NGINX_Community-20200805
shinyatsukasaki
terraform基礎
risa buto
Terraformをいじってみて
ssuser11d6e6
AWSにおけるIaCを活かしたTerraformの使い方2選! ~循環型IaCとマルチクラウドチックなDR環境~ (HashiTalks: Japan 発...
NTT DATA Technology & Innovation
Terraform
Shigeyuki Takeuchi
Gmo media terraform slide
hashicorpjp
OpenStack入門 2016/06/10
株式会社 NTTテクノクロス
Nutanix Meetup 22.01 Wataru Unno
Wataru Unno
F5 meetup terraform & vault
Masatomo Ito
LAMPもDockerもKubernetesも数クリックでデプロイ! Nutanix & Calmによるインフラとアプリ展開の自動化
Satoshi Shimazaki
Terraforming
Tomoaki Yahagi
TerraformによるIaCの導入
IAJ Co.,Ltd.
今からでも間に合う!インフラ自動化超入門 @渋谷
Daigou Harada
OSSを活用したIaCの実現
Trainocate Japan, Ltd.
Ad
ゼロからはじめるTerraformでのDevOps2021
1.
株式会社ネットワールド SI技術本部 ソリューションアーキテクト課 海野 航 Nutanix
DevOps Night #1 ゼロからはじめる Terraform での DevOps 2021
2.
2 Copyright © 2021
Networld Corporation All Rights Reserved. もくじ • はじめに : DevOps と Infrastructure as Code • Infrastructure as Code のいいところ • Terraform × Nutanix の初歩! AHV 仮想マシンのプロビジョニングの流れ • HCL コードの解説 • まとめ
3.
Copyright © 2021
Networld Corporation All Rights Reserved. はじめに : DevOps と Infrastructure as Code
4.
4 Copyright © 2021
Networld Corporation All Rights Reserved. 本日のポイント DevOps を実装するための Infrastructure as Code とは何なのかを知る Terraform と Nutanix の 組み合わせ を知る HashiCorp Configuration Language (HCL) を知る
5.
5 Copyright © 2021
Networld Corporation All Rights Reserved. DevOps と IaC の定義 (諸説ある…) DevOps Infrastructure as Code ✓ Developer (開発者) と Operator (運用者) が協力する、あるいはチーム 分けなどをすることなく一緒に作業を する文化。 ✓ これにより従来よりも高速にアプリや サービスを提供することができる。 ビジネスを加速させて、より高い市場 競争力を得ることが目的。 ✓ DevOps を実現する手法のひとつ。 • その他の手法には… CI/CD、マイクロサービス、モニ タリングとロギングなどがある。 ✓ インフラをコードとして管理すること。 ここでのインフラはCPUやメモリや ディスク、ネットワークなどを示す。
6.
6 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform は IaC を実現するツールです 6 インフラ CPUやメモリ、ディスクといったリソース、 あるいは仮想マシンやアプライアンスそのもの コードで 表現すること を
7.
7 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform は世界での実績ナンバーワンの IaC 製品 再利用可能な ソースコードとして インフラの構成を 定義する 多様なインフラを ワークフローを 変えることなく 導入する 出典 : Terraformで超サクッとループで リソースを用意する方法 https://dev.classmethod.jp/cloud/ aws/terraform-network-variable/ 出典 : Azure 上の HashiCorp Terraform https://azure.microsoft.com/ja- jp/solutions/devops/terraform/ エンタープライズクラウドでも Terraform 使ったらいいじゃん!
8.
8 Copyright © 2021
Networld Corporation All Rights Reserved. インフラを使いたい人が、セルフサービスで使えるように 8 導 入 前 導 入 後 例えば ソフト開発者 例えば ソフト開発者 インフラ要件 (作業指示書) Terraform の コード (HCL) インフラ SE が 作業を実施 Terraform が プロビジョニング 開発者が 要求した リソース 開発者が 要求した リソース
9.
Copyright © 2021
Networld Corporation All Rights Reserved. Infrastructure as Code のいいところ
10.
10 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform : IaC を導入して得られる効果 • インフラ構築・改変・廃棄の 正確性とスピードの向上 • コード化によるインフラの可視化で 管理性向上 (バージョン管理やレビューが容易に) • Nutanix やその他各種オンプレミス製品、 クラウドサービスの使用感やポリシーの統一 • これらによるコストの削減
11.
11 Copyright © 2021
Networld Corporation All Rights Reserved. 操作手順のコピペは難しいけど、コードはコピペできる IaC ではない Infrastructure as Code ✓ マニュアルベースによる手作業 ✓ 自動化のハードルの高さ (インフラであんまり RPA とか使わない気が…) ✓ コードベースによる高い再現性 ✓ 高度に自動化され、実行が簡単
12.
12 Copyright © 2021
Networld Corporation All Rights Reserved. 何かあったときの履歴管理、意外と重要ではありませんか? IaC ではない Infrastructure as Code ✓ Excel や Word によるパラメータシート ✓ 人間の意識に頼る変更履歴の管理 ✓ 実際のパラメータそのものを含むコード ✓ バージョン管理システムとの親和性
13.
13 Copyright © 2021
Networld Corporation All Rights Reserved. 当たり前ですが… • コードを作成するための時間は、手作業の数倍~数十倍かかる (テストなども考慮する) • 初期構築のように、一般的には1回しかやらないものを コード化しても、現実的には効果が低い • ツールや環境のバージョンアップに伴うコードの修正作業の発生 • イレギュラーな手作業を挟んだときに、リカバリー負荷が 高いことがある • コードを習得するための学習コストがかかる なんでもかんでも IaC にすればいいわけではない
14.
14 Copyright © 2021
Networld Corporation All Rights Reserved. HashiCorp Configuration Language HashiCorp Terraform の専用言語 • 特徴 ₋宣言型のアーキテクチャ (Ansibleは手続き型) ₋インフラの状態を宣言するように記述するようなイメージ ₋Terraform 対応してる製品やサービスが多いので、汎用性が高い ₋コード内にコメントを書きやすく、学習コストが比較的低い ₋Web 上に情報が多い ₋プロビジョニングは得意だが、OS 内の細かな設定はどちらかと言えば苦手 (そういうのはシェルを使ったり、Ansible と組み合わせる)
15.
15 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform の最重要成果物 : TFSTATE ファイル Terraform が管理しているリソースの状態を示すファイル • 役割 ₋Terraform によってプロビジョニングされると同時に JSON 形式で生成される ₋これを参照・比較することによって、対象となるリソースの現在の状態や その遷移がわかる
16.
Copyright © 2021
Networld Corporation All Rights Reserved. Terraform × Nutanix の初歩! AHV 仮想マシンのプロビジョニングの流れ
17.
17 Copyright © 2021
Networld Corporation All Rights Reserved. 注意事項 今回紹介する内容について、 Nutanix ならびに HashiCorp では ノンサポートです OSS 版の Terraform は コミュニティサポートです ( Terraform のサポートが必要な場合は有償版を!) 個人的に聞かれたら できるだけがんばります
18.
18 Copyright © 2021
Networld Corporation All Rights Reserved. 今回の前提条件 • Terraform 環境の前提条件 ₋Windows 10 バージョン 20H2 ₋Terraform 0.14.8 (2021年3月17日時点で最新) ₋Nutanix AOS 5.15 • GitHub リポジトリ ₋https://github.com/unnowataru/terraform-nutanix-sample
19.
19 Copyright © 2021
Networld Corporation All Rights Reserved. 仮想マシン プロビジョニングまでの流れ 仮想マシンのディスクイメージ化 UUID の確認と取得 ( ネットワーク / ディスクイメージ ) Terraform のインストール例 コードの作成 Terraform の実行 ( init / plan / apply )
20.
20 Copyright © 2021
Networld Corporation All Rights Reserved. このセクションのゴール • Terraform を使って コード で VM をプロビジョニングする
21.
21 Copyright © 2021
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
22.
22 Copyright © 2021
Networld Corporation All Rights Reserved. UUID の確認 • ネットワークの UUID : net.list • ディスクイメージの UUID : image.list <0> という名前のネットワークに接続させたい <unnow_win2016_img> を使いたい
23.
23 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のインストール例 (Windows 環境) • Terraform のダウンロード https://www.terraform.io/ からダウンロード
24.
24 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のインストール例 (Windows 環境) • 展開して生成されたフォルダーを任意の場所に配置
25.
25 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のインストール例 (Windows 環境) • 環境変数 Path の設定
26.
26 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のインストール例 (Windows 環境) • 動作確認 : コマンドプロンプトから “terraform -version”
27.
27 Copyright © 2021
Networld Corporation All Rights Reserved. コードの作成 • GitHub から [ main.tf ] と [ terraform.tfvars ] と [ versions.tf ] をコピペ https://github.com/unnowataru/terraform-nutanix-sample
28.
28 Copyright © 2021
Networld Corporation All Rights Reserved. コードの作成 • 任意のフォルダーに [ main.tf ] と [ terraform.tfvars ] と [ versions.tf ] をコピペして新規作成 https://github.com/unnowataru/terraform-nutanix-sample
29.
29 Copyright © 2021
Networld Corporation All Rights Reserved. コードの作成 • terraform.tfvars のパラメータを各環境固有のものに置き換える
30.
30 Copyright © 2021
Networld Corporation All Rights Reserved. terraform init • コマンドプロンプトにて main.tf と terraform.tfvars を 配置したフォルダーに移動して “terraform init” を実行
31.
31 Copyright © 2021
Networld Corporation All Rights Reserved. terraform init • “terraform init” を実行すると、Nutanixのプロバイダーに応じた プラグインが自動的にダウンロードされる
32.
32 Copyright © 2021
Networld Corporation All Rights Reserved. terraform plan • コマンドプロンプトにて “terraform plan” を実行 • 特に問題がなければ”terraform apply”が実行可能な状態に遷移
33.
33 Copyright © 2021
Networld Corporation All Rights Reserved. terraform apply • コマンドプロンプトにて “terraform apply” を実行
34.
34 Copyright © 2021
Networld Corporation All Rights Reserved. terraform apply • プロビジョニング完了
35.
35 Copyright © 2021
Networld Corporation All Rights Reserved. DEMO VIDEO (4分ぐらい)
36.
Copyright © 2021
Networld Corporation All Rights Reserved. HCL コードの解説
37.
37 Copyright © 2021
Networld Corporation All Rights Reserved. ちょっとテクニカルな解説 : Terraform のコード 37 provider : 対象製品を定義 variable : 変数を定義 data : 既存リソースから情報を取り込む resource : 実際に作成するリソースを記述
38.
38 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のコード解説 : main.tf variable : 変数を定義するセクション ユーザー名やクラスターの情報、プロビジョニングしたい仮想マシンの 名前、スペックやネットワークなどを変数として定義している。
39.
39 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のコード解説 : main.tf provider : インフラを定義するセクション ここでは nutanix としているが、AWS や Azure など プロビジョニング対象となるインフラをここで定義する。 ポートをデフォルトから変更している場合は注意しましょう。
40.
40 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のコード解説 : main.tf data : 既存のリソースから情報を取り込む 変数で指定したオブジェクトから情報を取り込み、プロビジョニングに 利用できるようにする。 この例では、既存のクラスターの情報を確認し、プロビジョニングする 対象のクラスターとして設定している。
41.
41 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のコード解説 : main.tf resource : 実際に作成するリソースを定義 変数で指定した情報や data で取り込んだ情報を利用して、対象となる インフラにリソースをプロビジョニング(作成)する。 当然のことながら、HCLはプログラミング言語なので、演算子なども きちんと使える。 ここでは変数 “count” に応じて仮想マシンの名前を1から指定した数字 まで、前ゼロ3桁でプロビジョニングするような仕組みになっている。 HCLで定義されている文字列 自分で名前を付けるオブジェクト
42.
42 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のコード解説 : terraform.tfvars パスワードやアクセスキーのお漏らしには注意しましょう!!
43.
Copyright © 2021
Networld Corporation All Rights Reserved. まとめ と ポイント
44.
44 Copyright © 2021
Networld Corporation All Rights Reserved. ポイント • OSS 版 Terraform 単体では CI/CD を実現する ハードルが高いので、Terraform Cloud や その他の CI/CD ツールと組み合わせて実装する • とりあえず Terraform で AHV の仮想マシンを プロビジョニングするだけなら比較的カンタン
45.
45 Copyright © 2021
Networld Corporation All Rights Reserved. まとめ Terraform を導入して得られる効果 • インフラ構築・改変・廃棄の 正確性とスピードの向上 • コード化によるインフラの可視化で 管理性向上 (バージョン管理やレビューが容易に) • Nutanix やその他各種オンプレミス製品、 クラウドサービスの使用感やポリシーの統一 • これらによるコストの削減 Terraform によるプロビジョニングと管理はあくまでも手段! 本当に目指すべきは DevOps によるビジネスの加速!
Download