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
460
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
570
AKS コントロールプレーン監視のためのメトリクス / aks-control-plane-metric-preview
08thse
0
290
Gatekeeper と Azure Policy (rev.1) / gatekeeper-azpol
08thse
0
200
読み物からのエンジニア的な学び / Learning from Reading
08thse
0
200
Azure Container Apps 気になるアップデート (2023/5) / ACA_Update_202305
08thse
0
300
Azure Container Apps 触ってみる / LT_AzureContainerApps
08thse
0
710
Deeperという人材カテゴリに共感した話
08thse
0
200
LT_Documentation
08thse
0
91
Other Decks in Technology
See All in Technology
FORENSIA: ローカルLLMフォレンジックハーネス
sumeshi
2
450
ホームラボ紹介
y_sera15
0
230
AWS Blocks が楽しい #ゆるWeb札幌
tacck
PRO
0
120
医療の現場を変革に挑戦した半年間の軌跡 - PythonとAIで現場を変える / From Code to Care
soudai
PRO
1
580
【Aiming】共通基盤なのに「共通化しない」課金・認証基盤「LINK」が選び取ったシングルテナント戦略と運用の秘訣
saikeda
0
160
三人寄ればチューリング完全
puhitaku
6
3k
生成 AI の基礎 〜 サンプル実装で学ぶ基本原理
enakai00
7
4.6k
案件に一番詳しいAIを Amazon Bedrock AgentCore で作る ― 知見が知見を生むチームへ / Compounding Knowledge with AgentCore
yusukeshimizu
1
170
関東Kaggler会発表資料
takoi
1
280
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
120
Kiro WebとCloud Sessions
nagisa53
2
160
強化学習「理論」入門
enakai00
3
3.6k
Featured
See All Featured
Making the Leap to Tech Lead
cromwellryan
135
10k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
64
56k
Color Theory Basics | Prateek | Gurzu
gurzu
0
430
Designing for Timeless Needs
cassininazir
1
450
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
180
Crafting Experiences
bethany
1
260
Ethics towards AI in product and experience design
skipperchong
2
350
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Google's AI Overviews - The New Search
badams
0
1.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
260
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.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 を参考に書いてみるだけ!