More Related Content
Similar to Azure Infrastructure as Code 体験入隊 (20)
More from Toru Makabe (20)
Azure Infrastructure as Code 体験入隊
- 4. {
“名前” : “真壁 徹(まかべ とおる)”,
“所属” : “日本マイクロソフト株式会社”,
“役割” : “クラウド ソリューションアーキテクト”,
“経歴” : “大和総研 HP Enterprise”,
“特技” : “クラウド & オープンソース”
}
- 10. クラシック リソースマネージャー
呼称 Azure Service Manager
(ASM)
Azure Resource Manager
(ARM)
バージョン V1 V2
リソースの表現や設定 XML JSON
GUI クラシックポータルから
Azureポータルへ移行中
Azureポータル
位置づけ 既存ユーザーの投資保護 推奨
小ネタ APIをRDFE(Red Dog Front
End)と呼ぶことも
※Red DogはAzure初期の
コードネーム
略が某CPUアーキテク
チャーと混乱しないよう、
文脈に注意
- 11. サーバー ストレージ ネットワーク Web App etc
Azure Resource Manager REST API
Azure ポータル
CLI
(PowerShell, Azure CLI)
SDK (C#, Node, Python, etc)
or Direct
ユーザー
コード
OSS / 3rd Party
ツール
ユーザー コード / スクリプト / 設定ファイル
- 14. サーバー ストレージ ネットワーク Web App etc
Azure Resource Manager REST API
Azure ポータル
CLI
(PowerShell, Azure CLI)
ユーザー
コード
OSS / 3rd Party
ツール
ユーザー コード / スクリプト / 設定ファイル
SDK (C#, Node, Python, etc)
or Direct
①Azure Resource Manager
テンプレート デプロイメント ②Terraform
③Ansible
- 16. ARMテンプレート Terraform Ansible
開発リード Microsoft Hashicorp (OSS) Red Hat (OSS)
対応プラットフォーム Azure/Azure Stack マルチプラットフォーム マルチプラットフォーム
リソース記述形式 JSON HCL/JSON YAML
Azureリソース対応範囲 広 中 狭
依存ツール、SDK Azureポータル、もしくは
Azure CLI/PowerShell
Azure SDK for Go Azure SDK for Python
ARMテンプレート対応 ー 有り 有り
その他 新サービス、機能への追
従が早い
変数定義力が強い(出力結
果も容易に利用可)
Roleの再利用性が高く、
サンプルも豊富(Galaxy)
Azureの標準機能でワンス
トップサポート
HCLの可読性が高い PackerのProvisionerとし
ても使える
インフラ寄り アプリ・プラットフォームソフト寄り
- 34. パラメータ例 (Azure Container Instances)
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"containerImage": {
"value": "httpd:alpine"
}
}
}
- 45. Azure CLI or PowerShell ランタイム/環境 導入形式
Windows Azure CLI Python MSI
Windows Subsystem for
Linux
各パッケージマネージャ /
マニュアル
Docker Docker
PowerShell WMF PowerShellGet(推奨)
macOS Azure CLI Python Homebrew / マニュアル
Docker Docker
PowerShell (ベータ) .NET Core PowerShellGet(推奨)
Linux Azure CLI Python 各パッケージマネージャ /
マニュアル
PowerShell (ベータ) .NET Core PowerShellGet(推奨)
Azure Cloud Shell Azure CLI ブラウザ インストール済み
PowerShell (Preview) ブラウザ インストール済み
- 48. Windows macOS
VS Code VS Code
Azure系
拡張
その他拡張
(言語系など)
Settings Sync
拡張
Azure系
拡張
その他拡張
(言語系など)
Settings Sync
拡張
- 49. Windows macOS
ブラウザ WSL PowerShell ブラウザ
Azure CLI
(メイン)
Azure CLI
(メイン)
Cloud Shell Cloud Shell
Azure
CLI
PowerS
hell
Azure CLI PowerShell
- 72. • リソースが既にリソース グループに存在しており、その設定が変更されていない場合、操作の結果に変わりは
ありません。
• リソースの設定を変更した場合、リソースはそれらの新しい設定でプロビジョニングされます。
• 既存のリソースの場所または種類を更新しようとすると、デプロイがエラーで失敗します。
• 後から変更できない属性があります。(VMのimageReferenceなど)
• ARMの管理範囲を外れるものは注意してください。 (VM拡張機能など。例: 拡張はインストールされたがその
設定中にエラーで終了。再実行したら拡張がすでに入っているので失敗)
• 既存リソースの変更は、必ず別環境で検証しましょう。新規作成→並行運用→切り替えの方が楽かも。
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-group-template-deploy-cli
- 76. © 2017 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。