Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
DeployToAzureポチからの卒業 / LT_DeployToAzure
Search
sou
January 15, 2022
Technology
450
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
DeployToAzureポチからの卒業 / LT_DeployToAzure
sou
January 15, 2022
More Decks by sou
See All by sou
Azure におけるコンテナ基盤選定について / azure-container-platform-selection
08thse
0
560
AKS コントロールプレーン監視のためのメトリクス / aks-control-plane-metric-preview
08thse
0
270
Gatekeeper と Azure Policy (rev.1) / gatekeeper-azpol
08thse
0
190
読み物からのエンジニア的な学び / Learning from Reading
08thse
0
190
Azure Container Apps 気になるアップデート (2023/5) / ACA_Update_202305
08thse
0
300
Azure Container Apps 触ってみる / LT_AzureContainerApps
08thse
0
690
Deeperという人材カテゴリに共感した話
08thse
0
190
LT_Documentation
08thse
0
86
Other Decks in Technology
See All in Technology
人材育成分科会.pdf
_awache
4
250
2026TECHFRESH畢業分享會 - 葬送的通靈師:化系統與用戶雜訊成行動訊號
line_developers_tw
PRO
0
1k
Bedrock AgentCore RuntimeでAuth0 Changelog調査AIをアップグレードした話
t5u8a5a
1
160
スキルと MCP ツール、責務をどう分けるか? AI が迷わないインターフェース設計の戦略
cdataj
1
1.1k
AIの性能が向上しても未解決な組織の重大問題は何か?/An Unsolved Organizational Problem in the Age of AI
moriyuya
4
680
Bucharest Tech Week 2026 - Reinventing testing practices in the AI era
edeandrea
PRO
1
160
Claude Codeとのおしゃべりでセマンティックモデルの定義からダッシュボード作成まで完成させる
nic_sugiyama
0
110
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.4k
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
680
2026TECHFRESH畢業分享會 - Lightning Talk - E起 See See : 電商推薦讀心術? 數據說了算
line_developers_tw
PRO
0
1k
AIネイティブな開発のサプライチェーンリスク対策 〜激動の開発現場でリスクに立ち向かう〜【ZennFes】
cscengineer
PRO
2
130
やさしいA2A入門
minorun365
PRO
12
1.9k
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Google's AI Overviews - The New Search
badams
0
1k
So, you think you're a good person
axbom
PRO
2
2.1k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
610
Reality Check: Gamification 10 Years Later
codingconduct
0
2.2k
Scaling GitHub
holman
464
140k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
For a Future-Friendly Web
brad_frost
183
10k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
360
GraphQLとの向き合い方2022年版
quramy
50
15k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
Transcript
Deploy to Azure ポチからの卒業 sou (@08thse)
2
3
4 Deploy to Azure の動作 ARM Template (Azure Resource Manager)
5 ARM Template の中身 { "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters":
{ "virtualMachineSize": { "type": "string", "defaultValue": "Standard_DS1_v2", "metadata": { "description": "Virtual machine size (has to be at least the size of Standard_A3 to support 2 NICs)" } }, "adminUsername": { "type": "string", "metadata": { "description": "Default Admin username" } }, "adminPassword": { "type": "securestring", "metadata": { "description": "Default Admin password" } }, .. .. ..
6 ARM Template の構造 { "$schema": "https://schema.management.azure.com/...", "contentVersion": "1.0.0.0", "parameters":
{ ... }, “variables": { ... }, “resources": { ... }, ... }
7 ARM Template の構造 (1/3) { "$schema": "https://schema.management.azure.com/...", "contentVersion": "1.0.0.0",
"parameters": { ... }, “variables": { ... }, “resources": { ... }, ... } parameter (引数) • テンプレートのデプロイ時に値を入力させる
8 parameter (引数) "parameters": { "virtualMachineSize": { "type": "string", "defaultValue":
"Standard_DS1_v2", "metadata": { "description": "Virtual machine size" } }, "adminUsername": { "type": "string", "metadata": { "description": "Default Admin username" } }, "adminPassword": { "type": "securestring", "metadata": { "description": "Default Admin password" } }, ... }, https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/templates/template-parameters
9 ARM Template の構造 (2/3) { "$schema": "https://schema.management.azure.com/...", "contentVersion": "1.0.0.0",
"parameters": { ... }, “variables": { ... }, “resources": { ... }, ... } parameter (引数) • テンプレートのデプロイ時に値を入力させる variable (変数) • テンプレート中で使う変数を定義 • 関数等を使って文字列構築もOK
10 variable (変数) "variables": { "nic1": "nic-1", "nic2": "nic-2", "virtualNetworkName":
"virtualNetwork", "subnet1Name": "subnet-1", "subnet2Name": "subnet-2", "publicIPAddressName": "publicIp", "networkSecurityGroupName": "NSG", "networkSecurityGroupName2": "[concat(variables('subnet2Name'), '-nsg')]" "diagStorageAccountName": "[concat('diags',uniqueString(resourceGroup().id))]", }, https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/templates/template-variables 定数的に定義 関数を使って文字列作成 適当な文字列も作れます もちろん定義済み変数も利用可能
11 ARM Template の構造 (3/3) { "$schema": "https://schema.management.azure.com/...", "contentVersion": "1.0.0.0",
"parameters": { ... }, “variables": { ... }, “resources": { ... }, ... } resource (Azureリソース定義) • 各Azure Resource毎に構造を定義
12 一言でいうとAzureリソース毎の定義をコードで記載しているだけ resource (Azureリソース定義) { "type": "Microsoft.Storage/storageAccounts", "name": "[variables('diagStorageAccountName')]", "apiVersion":
"2019-06-01", "location": "[parameters('location')]", "sku": { "name": "[parameters('storageAccountType')]" }, "kind": "StorageV2" },
13 一言でいうとAzureリソース毎の定義をコードで記載しているだけ サービスによって書き方がまちまちなので・・・ ▪参考元 (Azure QuickStart Templates) https://azure.microsoft.com/ja-jp/resources/templates/ https://github.com/Azure/azure-quickstart-templates ▪リファレンス
https://docs.microsoft.com/en-us/azure/templates/ 自動テストが失敗しているものは動かない可 能性が高いので注意 resource (Azureリソース定義) 2021/2/4現在、985個のテン プレート
14 ARM Template の構造 { "$schema": "https://schema.management.azure.com/...", "contentVersion": "1.0.0.0", "parameters":
{ ... }, “variables": { ... }, “resources": { ... }, ... } parameter (引数) • テンプレートのデプロイ時に値を入力させる variable (変数) • テンプレート中で使う変数を定義 • 関数等を使って文字列構築もOK resource (変数) • 各Azure Resource毎に構造を定義 その他 • 実施終了時のアウトプット文字列なども設定可能
15 あとは QuickStart Template を参考に書いてみるだけ!