Accueil
Explorer
Soumettre la recherche
Mettre en ligne
S’identifier
S’inscrire
Publicité
Check these out next
高速にコンテナを起動できるイメージフォーマット
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
1
sur
46
Top clipped slide
ゼロからはじめるTerraformでのDevOps2021
17 Mar 2021
•
0 j'aime
0 j'aime
×
Soyez le premier à aimer ceci
afficher plus
•
688 vues
vues
×
Nombre de vues
0
Sur Slideshare
0
À partir des intégrations
0
Nombre d'intégrations
0
Télécharger maintenant
Télécharger pour lire hors ligne
Signaler
Technologie
Nutanix DevOps Night #1
Wataru Unno
Suivre
Publicité
Publicité
Publicité
Recommandé
Nutanix エンジニアのための Git 入門 :序
Wataru Unno
354 vues
•
82 diapositives
Cloud Foundryで学ぶ、PaaSのしくみ講座
Kazuto Kusama
26.8K vues
•
125 diapositives
20190722 Building handy CI with zuul and OpenStack
Akihiro Motoki
1.6K vues
•
15 diapositives
Cloud foundryのコミュニティを紹介するよ
Kazuto Kusama
1.9K vues
•
23 diapositives
はじめてのCF buildpack
Kazuto Kusama
10.7K vues
•
28 diapositives
Terraformで始めるInfrastructure as Code
Takahisa Iwamoto
4.8K vues
•
43 diapositives
Contenu connexe
Présentations pour vous
(20)
高速にコンテナを起動できるイメージフォーマット
Akihiro Suda
•
3.7K vues
第18回Cloud Foundry輪読会用 Buildpackを使ってアプリを 載せるためのアプローチ
Takeshi Morikawa
•
2K vues
runC概要と使い方
Yuji Oshima
•
4.4K vues
Upstream University
NTT Communications Technology Development
•
660 vues
OCIv2?!軽量高速なイケてる次世代イメージ仕様の最新動向を抑えよう!
Kohei Tokunaga
•
6.4K vues
Moby Project
Akihiro Suda
•
3.1K vues
GiNZAで始める日本語依存構造解析 〜CaboCha, UDPipe, Stanford NLPとの比較〜
Megagon Labs
•
16.1K vues
PaaS / Cloud Foundry makes you happy
Katsunori Kawaguchi
•
2K vues
OpenStackアップストリーム活動実践 中級
Takashi Natsume
•
2K vues
Prometheus at Preferred Networks
Preferred Networks
•
27.4K vues
Dockerのネットワークについて
Nobuyuki Matsui
•
16.4K vues
20190722 OpenStack community past present future
Akihiro Motoki
•
1.8K vues
TungstenFabricでOpenStackとk8sをラクラク管理
Yuki Yamashita
•
3.2K vues
Dockerが抱えるネットワークの課題
Asuka Suzuki
•
6.7K vues
PTLのお仕事とリリースパイプラインの裏側
masahito12
•
1.2K vues
Dockerコミュニティ近況
Akihiro Suda
•
2.6K vues
忙しい人の5分で分かるDocker 2017年春Ver
Masahito Zembutsu
•
29.2K vues
Docker国内外本番環境サービス事例のご紹介
ThinkIT_impress
•
4.3K vues
Moby Project (May 25, 2017, Tokyo)
Akihiro Suda
•
1.1K vues
Prometheus入門から運用まで徹底解説
貴仁 大和屋
•
31.8K vues
Similaire à ゼロからはじめるTerraformでのDevOps2021
(20)
Provisioning Nutanix VMs with Terraform
Wataru Unno
•
1.1K vues
QuickDemo HashiCorp Terraform with Microsoft Azure and VMware vSphere
Wataru Unno
•
190 vues
基礎教養としてのUbuntuサーバ_後編.pptx
Yuji Naito
•
127 vues
Nutanix Meetup 22.01 Wataru Unno
Wataru Unno
•
211 vues
見終わったらすぐできる! VMware & Nutanix ユーザーのためのTerraform Cloud
Wataru Unno
•
159 vues
Netapp rancher agenda_210129
Junji Nishihara
•
86 vues
エンジニアという職業について
Hisatoshi Kikumoto
•
2.5K vues
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
Yahoo!デベロッパーネットワーク
•
766 vues
GMO プライベート DMP 開発で 取り組んできた DevOps と今後の展望
Tetsuo Yamabe
•
6.1K vues
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
NTT DATA Technology & Innovation
•
755 vues
20140826 it pro_expo_rev2
Takano Masaru
•
538 vues
Tizen web app を FireFox OS へ移植する方法を考えた
Naruto TAKAHASHI
•
1.8K vues
はじめてのDockerパーフェクトガイド(2017年版)
Hiroshi Hayakawa
•
3.2K vues
MSC2014_NetApp_Session
Takano Masaru
•
1.4K vues
Sphinxで作る貢献しやすいドキュメント翻訳の仕組み
Takayuki Shimizukawa
•
28K vues
みんなのTerraformで AWSをテラフォーミングさせるぜ
Takamasa Sakai
•
7.4K vues
コンテナ技術と普及がシステム・インテグレータに与える影響
Masahito Zembutsu
•
7.7K vues
Dockerの仕組みとIIJ社内での利用例
maebashi
•
18K vues
Using Kubernetes on Google Container Engine
Etsuji Nakai
•
2.9K vues
DockerとDocker Hubの操作と概念
Masahito Zembutsu
•
27.9K vues
Publicité
Dernier
(20)
Üslup ve tercüme.pdf
1Hmmtks
•
2 vues
20230601_Visual_IoTLT_vol14_kitazaki_v1.pdf
Ayachika Kitazaki
•
57 vues
モバイル・クラウド・コンピューティング-データを如何に格納し、組み合わせ、情報として引き出すか
Masahiko Funaki
•
2 vues
Oracle Cloud Infrastructure:2023年5月度サービス・アップデート
オラクルエンジニア通信
•
31 vues
Kubernetes超入門
Takashi Suzuki
•
5 vues
量子論.pdf
hiro150493
•
7 vues
ネットワークパケットブローカー市場.pdf
HinaMiyazu
•
7 vues
社内ソフトスキルを考える
infinite_loop
•
84 vues
MC-800DMT intrusion detector manual
Vedard Security Alarm System Store
•
3 vues
通信プロトコルについて
iPride Co., Ltd.
•
6 vues
JSTQB_テストマネジメントとレビュープロセス.pdf
akipii Oga
•
175 vues
【DL輪読会】Poisoning Language Models During Instruction Tuning Instruction Tuning...
Deep Learning JP
•
73 vues
JSONEncoderで詰まった話
とん とんぼ
•
102 vues
【DL輪読会】Egocentric Video Task Translation (CVPR 2023 Highlight)
Deep Learning JP
•
60 vues
ヘッドレス化したbaserCMS5とその機能
Ryuji Egashira
•
10 vues
統計学の攻略_推測統計学の考え方.pdf
akipii Oga
•
209 vues
初学者のためのプロンプトエンジニアリング実践.pptx
Akifumi Niida
•
422 vues
TestSIP (1).pdf
DeependraSingh712859
•
2 vues
AIEXPO_CDLE名古屋紹介
KotaMiyano
•
3 vues
統計学の攻略_統計的仮説検定の9パターン.pdf
akipii Oga
•
200 vues
ゼロからはじめるTerraformでのDevOps2021
株式会社ネットワールド SI技術本部 ソリューションアーキテクト課 海野 航 Nutanix
DevOps Night #1 ゼロからはじめる Terraform での DevOps 2021
2 Copyright © 2021
Networld Corporation All Rights Reserved. もくじ • はじめに : DevOps と Infrastructure as Code • Infrastructure as Code のいいところ • Terraform × Nutanix の初歩! AHV 仮想マシンのプロビジョニングの流れ • HCL コードの解説 • まとめ
Copyright © 2021
Networld Corporation All Rights Reserved. はじめに : DevOps と Infrastructure as Code
4 Copyright © 2021
Networld Corporation All Rights Reserved. 本日のポイント DevOps を実装するための Infrastructure as Code とは何なのかを知る Terraform と Nutanix の 組み合わせ を知る HashiCorp Configuration Language (HCL) を知る
5 Copyright © 2021
Networld Corporation All Rights Reserved. DevOps と IaC の定義 (諸説ある…) DevOps Infrastructure as Code ✓ Developer (開発者) と Operator (運用者) が協力する、あるいはチーム 分けなどをすることなく一緒に作業を する文化。 ✓ これにより従来よりも高速にアプリや サービスを提供することができる。 ビジネスを加速させて、より高い市場 競争力を得ることが目的。 ✓ DevOps を実現する手法のひとつ。 • その他の手法には… CI/CD、マイクロサービス、モニ タリングとロギングなどがある。 ✓ インフラをコードとして管理すること。 ここでのインフラはCPUやメモリや ディスク、ネットワークなどを示す。
6 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform は IaC を実現するツールです 6 インフラ CPUやメモリ、ディスクといったリソース、 あるいは仮想マシンやアプライアンスそのもの コードで 表現すること を
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 Copyright © 2021
Networld Corporation All Rights Reserved. インフラを使いたい人が、セルフサービスで使えるように 8 導 入 前 導 入 後 例えば ソフト開発者 例えば ソフト開発者 インフラ要件 (作業指示書) Terraform の コード (HCL) インフラ SE が 作業を実施 Terraform が プロビジョニング 開発者が 要求した リソース 開発者が 要求した リソース
Copyright © 2021
Networld Corporation All Rights Reserved. Infrastructure as Code のいいところ
10 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform : IaC を導入して得られる効果 • インフラ構築・改変・廃棄の 正確性とスピードの向上 • コード化によるインフラの可視化で 管理性向上 (バージョン管理やレビューが容易に) • Nutanix やその他各種オンプレミス製品、 クラウドサービスの使用感やポリシーの統一 • これらによるコストの削減
11 Copyright © 2021
Networld Corporation All Rights Reserved. 操作手順のコピペは難しいけど、コードはコピペできる IaC ではない Infrastructure as Code ✓ マニュアルベースによる手作業 ✓ 自動化のハードルの高さ (インフラであんまり RPA とか使わない気が…) ✓ コードベースによる高い再現性 ✓ 高度に自動化され、実行が簡単
12 Copyright © 2021
Networld Corporation All Rights Reserved. 何かあったときの履歴管理、意外と重要ではありませんか? IaC ではない Infrastructure as Code ✓ Excel や Word によるパラメータシート ✓ 人間の意識に頼る変更履歴の管理 ✓ 実際のパラメータそのものを含むコード ✓ バージョン管理システムとの親和性
13 Copyright © 2021
Networld Corporation All Rights Reserved. 当たり前ですが… • コードを作成するための時間は、手作業の数倍~数十倍かかる (テストなども考慮する) • 初期構築のように、一般的には1回しかやらないものを コード化しても、現実的には効果が低い • ツールや環境のバージョンアップに伴うコードの修正作業の発生 • イレギュラーな手作業を挟んだときに、リカバリー負荷が 高いことがある • コードを習得するための学習コストがかかる なんでもかんでも IaC にすればいいわけではない
14 Copyright © 2021
Networld Corporation All Rights Reserved. HashiCorp Configuration Language HashiCorp Terraform の専用言語 • 特徴 ₋宣言型のアーキテクチャ (Ansibleは手続き型) ₋インフラの状態を宣言するように記述するようなイメージ ₋Terraform 対応してる製品やサービスが多いので、汎用性が高い ₋コード内にコメントを書きやすく、学習コストが比較的低い ₋Web 上に情報が多い ₋プロビジョニングは得意だが、OS 内の細かな設定はどちらかと言えば苦手 (そういうのはシェルを使ったり、Ansible と組み合わせる)
15 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform の最重要成果物 : TFSTATE ファイル Terraform が管理しているリソースの状態を示すファイル • 役割 ₋Terraform によってプロビジョニングされると同時に JSON 形式で生成される ₋これを参照・比較することによって、対象となるリソースの現在の状態や その遷移がわかる
Copyright © 2021
Networld Corporation All Rights Reserved. Terraform × Nutanix の初歩! AHV 仮想マシンのプロビジョニングの流れ
17 Copyright © 2021
Networld Corporation All Rights Reserved. 注意事項 今回紹介する内容について、 Nutanix ならびに HashiCorp では ノンサポートです OSS 版の Terraform は コミュニティサポートです ( Terraform のサポートが必要な場合は有償版を!) 個人的に聞かれたら できるだけがんばります
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 Copyright © 2021
Networld Corporation All Rights Reserved. 仮想マシン プロビジョニングまでの流れ 仮想マシンのディスクイメージ化 UUID の確認と取得 ( ネットワーク / ディスクイメージ ) Terraform のインストール例 コードの作成 Terraform の実行 ( init / plan / apply )
20 Copyright © 2021
Networld Corporation All Rights Reserved. このセクションのゴール • Terraform を使って コード で VM をプロビジョニングする
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 Copyright © 2021
Networld Corporation All Rights Reserved. UUID の確認 • ネットワークの UUID : net.list • ディスクイメージの UUID : image.list <0> という名前のネットワークに接続させたい <unnow_win2016_img> を使いたい
23 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のインストール例 (Windows 環境) • Terraform のダウンロード https://www.terraform.io/ からダウンロード
24 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のインストール例 (Windows 環境) • 展開して生成されたフォルダーを任意の場所に配置
25 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のインストール例 (Windows 環境) • 環境変数 Path の設定
26 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のインストール例 (Windows 環境) • 動作確認 : コマンドプロンプトから “terraform -version”
27 Copyright © 2021
Networld Corporation All Rights Reserved. コードの作成 • GitHub から [ main.tf ] と [ terraform.tfvars ] と [ versions.tf ] をコピペ https://github.com/unnowataru/terraform-nutanix-sample
28 Copyright © 2021
Networld Corporation All Rights Reserved. コードの作成 • 任意のフォルダーに [ main.tf ] と [ terraform.tfvars ] と [ versions.tf ] をコピペして新規作成 https://github.com/unnowataru/terraform-nutanix-sample
29 Copyright © 2021
Networld Corporation All Rights Reserved. コードの作成 • terraform.tfvars のパラメータを各環境固有のものに置き換える
30 Copyright © 2021
Networld Corporation All Rights Reserved. terraform init • コマンドプロンプトにて main.tf と terraform.tfvars を 配置したフォルダーに移動して “terraform init” を実行
31 Copyright © 2021
Networld Corporation All Rights Reserved. terraform init • “terraform init” を実行すると、Nutanixのプロバイダーに応じた プラグインが自動的にダウンロードされる
32 Copyright © 2021
Networld Corporation All Rights Reserved. terraform plan • コマンドプロンプトにて “terraform plan” を実行 • 特に問題がなければ”terraform apply”が実行可能な状態に遷移
33 Copyright © 2021
Networld Corporation All Rights Reserved. terraform apply • コマンドプロンプトにて “terraform apply” を実行
34 Copyright © 2021
Networld Corporation All Rights Reserved. terraform apply • プロビジョニング完了
35 Copyright © 2021
Networld Corporation All Rights Reserved. DEMO VIDEO (4分ぐらい)
Copyright © 2021
Networld Corporation All Rights Reserved. HCL コードの解説
37 Copyright © 2021
Networld Corporation All Rights Reserved. ちょっとテクニカルな解説 : Terraform のコード 37 provider : 対象製品を定義 variable : 変数を定義 data : 既存リソースから情報を取り込む resource : 実際に作成するリソースを記述
38 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のコード解説 : main.tf variable : 変数を定義するセクション ユーザー名やクラスターの情報、プロビジョニングしたい仮想マシンの 名前、スペックやネットワークなどを変数として定義している。
39 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のコード解説 : main.tf provider : インフラを定義するセクション ここでは nutanix としているが、AWS や Azure など プロビジョニング対象となるインフラをここで定義する。 ポートをデフォルトから変更している場合は注意しましょう。
40 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のコード解説 : main.tf data : 既存のリソースから情報を取り込む 変数で指定したオブジェクトから情報を取り込み、プロビジョニングに 利用できるようにする。 この例では、既存のクラスターの情報を確認し、プロビジョニングする 対象のクラスターとして設定している。
41 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のコード解説 : main.tf resource : 実際に作成するリソースを定義 変数で指定した情報や data で取り込んだ情報を利用して、対象となる インフラにリソースをプロビジョニング(作成)する。 当然のことながら、HCLはプログラミング言語なので、演算子なども きちんと使える。 ここでは変数 “count” に応じて仮想マシンの名前を1から指定した数字 まで、前ゼロ3桁でプロビジョニングするような仕組みになっている。 HCLで定義されている文字列 自分で名前を付けるオブジェクト
42 Copyright © 2021
Networld Corporation All Rights Reserved. Terraform のコード解説 : terraform.tfvars パスワードやアクセスキーのお漏らしには注意しましょう!!
Copyright © 2021
Networld Corporation All Rights Reserved. まとめ と ポイント
44 Copyright © 2021
Networld Corporation All Rights Reserved. ポイント • OSS 版 Terraform 単体では CI/CD を実現する ハードルが高いので、Terraform Cloud や その他の CI/CD ツールと組み合わせて実装する • とりあえず Terraform で AHV の仮想マシンを プロビジョニングするだけなら比較的カンタン
45 Copyright © 2021
Networld Corporation All Rights Reserved. まとめ Terraform を導入して得られる効果 • インフラ構築・改変・廃棄の 正確性とスピードの向上 • コード化によるインフラの可視化で 管理性向上 (バージョン管理やレビューが容易に) • Nutanix やその他各種オンプレミス製品、 クラウドサービスの使用感やポリシーの統一 • これらによるコストの削減 Terraform によるプロビジョニングと管理はあくまでも手段! 本当に目指すべきは DevOps によるビジネスの加速!
Publicité