SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
OpenStack
Terraform/Pulumi
OpenStack Days Tokyo 2019
NTT 1
(Keiichi Hikita)
• Terraform OpenStack ( )
• Terraform 2 ,
Git, GitHub,
Pull Request
OpenStack Heat,
AWS CloudFormation
(Keiichi Hikita)
NTT 3
Enterprise Cloud OpenStack
• GUI(OpenStack Horizon )
• ( Heat/Flame )
OSS
• Horizon
• Heat-Dashboard, Qinling-Dashboard
• Terraform Provider (for Enterprise Cloud)
1. IaC
2. Terraform 4 (+Demo)
3. Pulumi (+Demo)
1. IaC
Original ComponentsOpenStack Components
Enterprise Cloud 2.0
• 2016/3 11
• 22,509 VM / 61,371 vCPUs ( )
• 2,520 Hypervisors ( )
•
• OpenStack API
Keystone Heat Swift
Nova Cinder Glane
SD-Exchange 6
…
…
: 2019/3/23
Horizon
GUI
IaC(Infrastructure As Code)
/ /
: https://www.ntt.com/business/services/cloud/iaas/enterprise-cloud/scene/scene02.html
お客様インフラ
IaC(Infrastructure As Code) ( )
SI IaaS
SI /SIer
ネットワーク機能 ネットワーク機能 ネットワーク機能
ECL2.0
8
自動化したい
レイヤー
Terraform
• 複数のサービスに対応可能
• 自社サービス( )機能の組み込みが可能
なオーケストレーションツールの必要性
1 3 32 12 12
3 2 "
12
Terraform
• Heat, CloudFormation (HCL or JSON) API
• OpenStack AWS, Provider(= 0 )
• State
Provider
1 API(tf 0 )
1
state(
0 )
State
(teraform.tfstate)
1 2
3
terraform plan
( )
terraform apply
( )
New!!HCL
.tf
Provider ≒ 1
Go
CRUD
tf
SDK
API
SDK
State
State ≒
• Terraform JSON
• 2
• tf1 State plan/apply
State
tf1
API
• artifactory
• azurerm
• consul
• etcd
• etcdv3
• gcs
• http
• manta
• oss
• pg
• s3
• swift
• terraform enterprise
JSON
2. Terraform
Terraform
1. CI state
2. tf (Pull Request=PR) 1 41
3. Terraform Terraform
terraform plan
State
by
Terraform
by
Terraform
③ 既存環境のエクス
ポート機能の必要性
GitHub
State
tf 1
Pull
Request
State
terraform apply
① Stateの一元管理/
共有の必要性
② PRベースで変
更反映まで行える
仕組みの必要性
Cloud
State
GitHub
Terraformer
Atlantis
Terraform Cloud Free Tier
• 2019/5/16 HashiCorp Remote State
• 1
• 2 (Collaborate on Plans and Applies, Full Workflow)
1: https://www.hashicorp.com/blog/introducing-terraform-cloud-remote-state-management
5/16のHashiCorp
Blogより(※1)
変更履歴が
一覧で表示
Atlantis
• GitHub Pull Request( ) terraform plan, apply
• SaaS
STEP1:
PR
STEP2:
plan
STEP3:
apply
Atlantis ( )
• Terraform Cloud
• Collaborate on Plans and Applies Atlantis ( )
Terraformer
• API Provider tf State
• 1
1 3 32 12 12
3 2 "
12
State
terraformer
import Terraformer
.tf
Providers
SDKs
Atlantis
Terraform
GitHub
Cloud
State
tfファイルに変更を
加えてPR
Webhook経由で
Atlantisがそれを検知
しplan実行
結果をGitHubに反映
レビュワーがGitHub上
でplan結果を確認。
GItHub経由でAtlantis
にapplyを指示
1 2
3
Atlantisがterraform
applyを実行し結果を
GitHubに反映
4
StateはTerraform
Cloud上で履歴含めて
一元管理
5
最後に作成した環境を
tfファイル、Stateと
してエクスポート
6
Terraformer
State
(File)
3. Pulumi
Pulumi
Terraform
1
3
app.pulumi.com
State 2
2
• HCL(HashiCorp Configuration Language)
• 5 0.12
• JavaScript
• TypeScript
• Python
• Go
• 226( 1)
• Official Provider : 105
• Community Provider: 121
• Terraform
• pulumi-terraform ( 2) Provider4
State •
•
• 5/16 Terraform Cloud
•
State 2 •
• Terraform Cloud
( 3)
• $50/ (TEAM STARTER Plan ( 4))
Terraform/Pulumi
1: 2019/7/10
2: https://github.com/pulumi/pulumi-terraform
3: https://www.terraform.io/docs/enterprise/free/index.html
4: https://www.pulumi.com/pricing/
Pulumi Demo
pulumi-ecl
pulumi-terraform
sdk
python
nodejs
go
Pulumi-terraform,
pulumi_eclを利用し
てPulumi用SDKを生
成した状態
1
Terraformおよび
Pulumi(Python, Node.js)でキー
ペア+インスタンスを作成 2
どのようなHTTP通
信が行われているか
をCharles上で
キャプチャし表示 3
app.pulumi.com上で
Stateがどのように見
えているかを表示
4
python/nodejs
7
• Terraform
• Pulumi /Terraform
Cloud
Terraformer
• 2 2Qiita2 7
• URL
Terraform: https://www.terraform.io/
Terraform Cloud Free Tier: https://app.terraform.io/signup?utm_source=banner&utm_campaign=intro_tf_cloud_remote
Pulumi: https://www.pulumi.com/
Atlantis: https://www.runatlantis.io/
Terraformer: https://github.com/GoogleCloudPlatform/terraformer
Atlantis
OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用

Más contenido relacionado

La actualidad más candente

Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
 

La actualidad más candente (20)

Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編Cassandraのしくみ データの読み書き編
Cassandraのしくみ データの読み書き編
 
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
Apache Arrow Flight – ビッグデータ用高速データ転送フレームワーク #dbts2021
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
 
Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦Kubernetesによる機械学習基盤への挑戦
Kubernetesによる機械学習基盤への挑戦
 
PostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめPostgreSQLによるデータ分析ことはじめ
PostgreSQLによるデータ分析ことはじめ
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
Apache Airflow 概要(Airflowの基礎を学ぶハンズオンワークショップ 発表資料)
 
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
 
はじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタはじめてのElasticsearchクラスタ
はじめてのElasticsearchクラスタ
 
Prometheus at Preferred Networks
Prometheus at Preferred NetworksPrometheus at Preferred Networks
Prometheus at Preferred Networks
 
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
 
急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea 急速に進化を続けるCNIプラグイン Antrea
急速に進化を続けるCNIプラグイン Antrea
 
PFSなTLS通信を復号する
PFSなTLS通信を復号するPFSなTLS通信を復号する
PFSなTLS通信を復号する
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
ログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについてログ解析基盤におけるストリーム処理パイプラインについて
ログ解析基盤におけるストリーム処理パイプラインについて
 

Similar a OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用

FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係
moai kids
 
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
griddb
 
20130329 rtm3
20130329 rtm320130329 rtm3
20130329 rtm3
openrtm
 

Similar a OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用 (20)

TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
TectonicはKubernetesの構築・管理基盤である -概要の章-/-構築の章-
 
FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係FluentdとRedshiftの素敵な関係
FluentdとRedshiftの素敵な関係
 
Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18Microsoft open tech night 2020 feb18
Microsoft open tech night 2020 feb18
 
PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側PTLのお仕事とリリースパイプラインの裏側
PTLのお仕事とリリースパイプラインの裏側
 
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container ClusterオーケストレーションKubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
Kubernetes、Flannel、CNIでWindows Container Clusterオーケストレーション
 
Terraform Bootcamp - Azure Infrastructure as Code隊
Terraform Bootcamp - Azure Infrastructure as Code隊Terraform Bootcamp - Azure Infrastructure as Code隊
Terraform Bootcamp - Azure Infrastructure as Code隊
 
Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )Operator reading and writing ( Operator SDK 編 )
Operator reading and writing ( Operator SDK 編 )
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
 
Start of a New era: Apache YARN 3.1 and Apache HBase 2.0
Start of a New era: Apache YARN 3.1 and Apache HBase 2.0Start of a New era: Apache YARN 3.1 and Apache HBase 2.0
Start of a New era: Apache YARN 3.1 and Apache HBase 2.0
 
OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告OpenStack Summit November 2014 Paris出張報告
OpenStack Summit November 2014 Paris出張報告
 
Provisioning Nutanix VMs with Terraform
Provisioning Nutanix VMs with TerraformProvisioning Nutanix VMs with Terraform
Provisioning Nutanix VMs with Terraform
 
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
PGOを用いたPostgreSQL on Kubernetes入門(Open Source Conference 2023 Online/Hokkaido...
 
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向
 
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
【ハンズオンセミナー】NoSQL/SQLデュアルインタフェースを備えたIoT向けデータベースGridDB ~ GridDB CE 4.6のテーブルパーティ...
 
20130329 rtm3
20130329 rtm320130329 rtm3
20130329 rtm3
 
Spring tools4
Spring tools4Spring tools4
Spring tools4
 
Autonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーションAutonomous を支える技術、Oracle Database 18c デモンストレーション
Autonomous を支える技術、Oracle Database 18c デモンストレーション
 
serverless openstack 101
serverless openstack 101serverless openstack 101
serverless openstack 101
 
Taming Distributed/Parallel Query Execution Engine of Apache Spark
Taming Distributed/Parallel Query Execution Engine of Apache SparkTaming Distributed/Parallel Query Execution Engine of Apache Spark
Taming Distributed/Parallel Query Execution Engine of Apache Spark
 
Prometheus meetup tokyo#3 slide
Prometheus meetup tokyo#3 slidePrometheus meetup tokyo#3 slide
Prometheus meetup tokyo#3 slide
 

OpenStack上の環境構築自動化に向けたTerraform/Pulumiの活用