Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

今日から始めるARMテンプレート

426 views

Published on

※ 11ページ目の 「Visual Studio で書くのおすすめ」の記載は、正しくは「Visual Studio Code で書くのおすすめ」です。

JAZUG 9周年イベントのLT資料です。 https://jazug.connpass.com/event/140843/

Published in: Technology
  • Be the first to comment

  • Be the first to like this

今日から始めるARMテンプレート

  1. 1. 今日から始める ARMテンプレート Japan Azure User Group 9周年イベント https://jazug.connpass.com/event/140843/
  2. 2. Azure のリソース管理、 どうしてますか?
  3. 3. ARMテンプレートをご紹介します!
  4. 4. Self introduction
  5. 5. { "name": { "ja": "大平かづみ", "en": "Kazumi OHIRA" }, "currentPosition": "フリーランス", "awards": ["Microsoft MVP"], "favorites": [ "Azure": ["ARM template", "IoT"] ], "twitter": "@dz_" } Me
  6. 6. Infrastructure as Code のおさらい
  7. 7. Infrastructure as Code のおさらい • インフラ構成・管理をコードで行うこと • メリット • インフラ管理を自動化できる • 実態と紐づくため抜け漏れがない • バージョン管理と併用することでレビューしやすく
  8. 8. Infrastructure as Code のおさらい • インフラ構成・管理をコードで行うこと • メリット • インフラ管理を自動化できる • 実態と紐づくため抜け漏れがない • バージョン管理と併用することでレビューしやすく コードにさえしていれば、 後から思い出せる! (個人的メリット)
  9. 9. ARMテンプレート
  10. 10. ARMテンプレートのいいところ 冪等性保持をARM側がやってくれる Azure 純正なので、細かいところまで操作できる!
  11. 11. ARMテンプレート最初の一歩 • 知る • Azureポータルで手動でリソース作って、エクスポートしてみる • 書く • エクスポートしたARMテンプレートには、不要なパラメータも含まれているた め、これを参考に新たに書き直した方がきれい • リファレンスを参考に、APIバージョンの更新や不要なパラメータを整理する • Visual Studio で書くのおすすめ • 実行する • 大体一発目はこける(笑) こけたときはエラーメッセージを頼りに直す。 • 根気よく(笑)
  12. 12. リファレンス • Azure 上の Resource Manager のドキュメント - チュートリアル、 サンプル、リファレンス、リソース | Microsoft Docs • Visual Studio Code を使って Azure Resource Manager テン プレートを作成する | Microsoft Docs • Azure/azure-quickstart-templates: Azure Quickstart Templates
  13. 13. ARMテンプレートの構成 { "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "", "parameters": { }, "variables": { }, "resources": [ ], "outputs": { } } https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-group- authoring-templates JSON で書かれた、 Azure REST API の ラッパーのようなもの
  14. 14. CI/CDでARMテンプレートを活用する • Azure DevOps との相性最高! • Azure Resource Group Deployment task • Azure CLI task • Azure PowerShell task
  15. 15. ARMテンプレートのテスト • Visual Studio Code 拡張機能による静的チェック • テストフレームワークを利用したチェック • ARMテンプレートの Output を利用したチェック • Azure CLI, Azure PowerShell, Azure SDK を利用したチェック • 疎通テストは、システムによってテスト方法は異なる • VM なら Serverspec や Testinfra でコンフィグレーションチェック • API ならE2Eテスト、など
  16. 16. サンプル作ってみました Azure DevOps で ARMテンプレートを使う
  17. 17. サンプル Azure DevOps x ARMテンプレート • Azure Functions のテストを 想定 • ARMテンプレートでテスト用リ ソースを作成 • ソースコードを Azure Functions にデプロイ • Mocha を使ったテスト実施 • リソースを削除 https://github.com/dzeyelid/getting-started-arm-template
  18. 18. Have fun!

×