Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
20190620_Multi_Cloud_Day.pdf
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
nezumisannn
June 20, 2019
Technology
740
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20190620_Multi_Cloud_Day.pdf
nezumisannn
June 20, 2019
More Decks by nezumisannn
See All by nezumisannn
20250930_Conohaウェビナー_生成AI_Terraform_ConoHa_VPSサーバー_セットアップ入門編
nezumisannn
1
39
20250723_Conohaウェビナー_高騰する海外クラウド費用を劇的カット_サーバーコスト最適化のポイント解説と成功事例のご紹介.pdf
nezumisannn
0
58
20241204_ビヨンド勉強会_44_AWS_Service_Catalogを利用したIaCのテンプレート化とTerraformによるデプロイ.pdf
nezumisannn
0
420
20240828_ビヨンド勉強会_42_EKS_on_FargateでWebサービスを公開するために覚えておきたいこと.pdf
nezumisannn
0
110
20240530_ビヨンド勉強会#41_ビヨンドのエンジニア新卒研修における取り組み
nezumisannn
0
140
20230511_AWSにおけるコンテナサービスの選択とIaC実装例.pdf
nezumisannn
0
1.5k
リーダーになって1年経過して_取り組んできたことと大事にしている考え方_の裏側_.pdf
nezumisannn
0
92
20211118_GKEにおける高負荷時のPodとWorker_Nodeの挙動について.pdf
nezumisannn
0
180
20211014_Alibaba_Cloud_Container_Service_for_KubernetesにおけるServerless_Kubernetesの概要とManaged_Kubernetesとの違い.pdf
nezumisannn
0
120
Other Decks in Technology
See All in Technology
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
5
640
JSONataとAWS Step Functionsで目指すRuntimelessな世界
mu7889yoon
0
200
SREへの勘違いに気づいた後の話
tomodakengo
0
110
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
130
10Xに技術的負債をもたらした「2つの境界の歪み」その構造と解消への営み
10xinc
0
2.1k
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
2
480
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
3
380
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
1
2.3k
なぜ「決定性」が 決定的に重要なのか? Durable Execution 基盤の数理的理解 #serverlessjp / ServerlessDays Tokyo 2026
ytaka23
3
750
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
4
3.2k
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
750
映像変換サーバーなしで端末内でHLSを生成してライブ配信
hikarusato
0
130
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
699
190k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How GitHub (no longer) Works
holman
316
150k
Become a Pro
speakerdeck
PRO
31
6.3k
Amusing Abliteration
ianozsvald
1
310
The browser strikes back
jonoalderson
0
1.7k
First, design no harm
axbom
PRO
2
1.3k
Between Models and Reality
mayunak
4
460
30 Presentation Tips
portentint
PRO
1
400
Unsuck your backbone
ammeep
672
58k
The SEO identity crisis: Don't let AI make you average
varn
0
560
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Transcript
Multi Cloud IaC realized by Terraform
Agenda » 自己紹介 » マルチクラウドに求めること » マルチクラウドの課題 » Terraformとは »
Terraformで何が出来るのか » Terraformの実行方法 » まとめ 2
自己紹介 resource “my_profile” “nezumisannn” { name = “Yuki.Teraoka” nickname =
“ねずみさん家。” company = “beyond” job = “Site Reliability Engineer” twitter = “@yktr_sre” skills = [“terraform”,”packer”] } 3
“What do you ask for MultiCloud” 4
良いとこ取り 良い所だけを組み合わせたい... 5
Why » コスト/性能の最適化 ⋄ ベンダーごとに当然異なる » DR対策 ⋄ クラウド自体の障害への備え »
クラウドロックインの回避 ⋄ 特定のクラウドに依存しない » 最適なサービスの利用 ⋄ 利用したいものを幅広く選定できる 6
Problem » 構成の複雑化 ⋄ 構成が複数クラウドに跨る » 学習コストの増加 ⋄ 複数のクラウドを理解する必要性 »
標準化が難しい ⋄ クラウドごとの差異の吸収 7
Solution » 構成の複雑化 ⋄ Infrastructure as code » 学習コストの増加 ⋄
気合いでなんとかする » 標準化が難しい ⋄ 統一的に記述できる言語を選定 8
What is Terraform » インフラオーケストレーションツール » HashiCorp社のOSSでGolangで開発 » 豊富なProviderの提供 ⋄
GCP ⋄ Alibaba Cloud ⋄ Oracle Cloud » HCLという独自言語で記述する 9
Terraformで出来ること » マルチプロバイダ ⋄ 種類に関わらず統一言語(HCL)で記述 » コードでのインフラ定義/管理(IaC) » 作成/変更/削除の自動化と人的ミスが減少 »
インフラCI/CDとの親和性が高い 10
HCLの優位性 API Google gcloud compute networks create Alibaba aliyun vpc
CreateVpc OCI oci network vcn create 11
HCLの優位性 Terraform Google HCL Alibaba HCL OCI HCL 12
HCLの種類 » Provider ⋄ クラウドの種類と認証情報を明示する » Resource ⋄ Terraformで管理する対象の基本単位 »
Data Source » Provisioner » State » Backend » Module 13
Provider 14 provider "provider_name" { -> provider setting here }
Provider provider "google" { credentials = "../credentials/multi-cloud-terraform.json" project = "test-project"
region = "asia-northeast2" } 15
Provider provider "alicloud" { access_key = "${var.credential["alicloud_access_key"]}" secret_key = "${var.credential["alicloud_secret_key"]}"
region = "${var.credential["region"]}" } 16
Provider provider "oci" { tenancy_ocid = "${var.tenancy_ocid}" user_ocid = "${var.user_ocid}"
fingerprint = "${var.fingerprint}" private_key_path = "${var.private_key_path}" region = "${var.region}" } 17
Variable variable "access_key" { type = "string" default = "Your
Access Key here" } 18
Variable variable "credential" { type = "map" default = {
access_key = "Your Access Key here" secret_key = "Your Secret Key here" region = "Your Region here" } } 19
Resource resource "resource_type" "resource_name" { -> resource setting here }
20
Resource resource "google_compute_network" "example" { name = "example-vpc" description =
"example-vpc" auto_create_subnetworks = true } 21
Resource resource "alicloud_vpc" "example" { name = "example-vpc" cidr_block =
"10.0.0.0/8" } 22
Resource resource "oci_core_vcn" "example" { cidr_block = "192.168.0.0/16" compartment_id =
"${var.compartment_id}" display_name = "example-vcn" } 23
Terraformの実行 Write Plan Apply 24 Destroy
Terraformの実行 » Write ⋄ 作成したいリソースをHCLで記述する » Plan ⋄ HCLの構文チェックとドライラン »
Apply ⋄ デプロイ » Destroy ⋄ 作成したリソースを全て削除する 25
実行すると... 26
まとめ » マルチクラウドに求めるものは「良いとこ取り」 » 課題を無視すると「良いとこ取れない」 » TerraformでマルチクラウドIaCをやろう » HCLを覚える必要がありますがそこは気合いで! 27
THANKS! Any questions? You can find me at » @yktr_sre
»
[email protected]
28