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テンプレートでサーバーレスに挑む!

402 views

Published on

「ARM TemplateとAzure PowerShellでサーバーレスに挑む #azresug」でお話した資料です。
https://azresug.connpass.com/event/137783/

Published in: Technology
  • (Unlimited)....ACCESS WEBSITE Over for All Ebooks ................ accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full PDF EBOOK here { https://urlzs.com/UABbn }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

ARMテンプレートでサーバーレスに挑む!

  1. 1. ARMテンプレートで サーバーレスに挑む! Azure リソース自動構築 Meetup #1 https://azresug.connpass.com/event/137783/
  2. 2. Prologueプロローグ Background image by https://flic.kr/p/8WabtH
  3. 3. これは、ARMテンプレートに魅せられ、 試行錯誤を繰り返すひとりのエンジニアの ARMテンプレートのお話 (※すべて私見です)
  4. 4. { "name": { "ja": "大平かづみ", "en": "Kazumi OHIRA" }, "currentPosition": "フリーランス", "awards": ["Microsoft MVP"], "favorites": [ "Azure": ["ARM template", "IoT"] ], "twitter": "@dz_" } Me
  5. 5. https://ascii.jp/elem/000/001/838/1838466/index-2.html Me 私の生きざまを 記事にして くださいました! • コミットしているコミュニティ • Cogbot • Node-RED User Group • NoOps • Tech Learn w/ English
  6. 6. アジェンダ • ARMテンプレートを書く環境 • 基礎をおさらい • Tips • セキュアに • リソース名 • variables や resources の複製 • Linked template を模索する • リソース数が多くなったときに…
  7. 7. Infrastructure as Code for Serverless • コンテナ同士の構成は docker-compose や Kubernetes などが あるが、クラウドの各サービスを用いたサーバーレスを構成するには? • AWS なら Cloud Formation • 3rd party製の Terraform は複数クラウドで使える • 今回は Microsoft Azure の ARMテンプレートに焦点を当てる
  8. 8. ARMテンプレートのいいところ • ARM = Azure Resource Manager • ARMテンプレートは、Azure REST APIと連動しているので最新の APIバージョンのインターフェースを利用できる • Azureポータルの一部としてGUIでデプロイも • エラーハンドリングや冪等性の保持は ARM 側がやってくれる • (Azure CLI や Azure PowerShell もリソースを扱えるが、エラーハンドリ ングや冪等性保持を自分で書かなければならない) • 並列にリソースを作成してくれる
  9. 9. Comfortable environment ARMテンプレート を書く環境 Background image by https://flic.kr/p/8WabtH
  10. 10. テンプレートを編集するとき • Visual Studio Code • https://code.visualstudio.com/ • Extension: Azure Resource Manager Tools • https://marketplace.visualstudio.com/items?itemName=msazur ermtools.azurerm-vscode-tools • 補完候補の表示 • 静的解析によるエラー表示
  11. 11. ドキュメントにたくさん頼る • 基本構造 https://docs.microsoft.com/ja-jp/azure/azure- resource-manager/resource-group-authoring-templates • ベストプラクティス https://docs.microsoft.com/ja- jp/azure/azure-resource-manager/template-best- practices • リソース定義 https://docs.microsoft.com/ja- jp/azure/templates/ • 関数 https://docs.microsoft.com/ja-jp/azure/azure- resource-manager/resource-group-template-functions
  12. 12. ドキュメントにたくさん頼る • 基本構造 https://docs.microsoft.com/ja-jp/azure/azure- resource-manager/resource-group-authoring-templates • ベストプラクティス https://docs.microsoft.com/ja- jp/azure/azure-resource-manager/template-best- practices • リソース定義 https://docs.microsoft.com/ja- jp/azure/templates/ • 関数 https://docs.microsoft.com/ja-jp/azure/azure- resource-manager/resource-group-template-functions 最新のAPIバージョ ンなど定義を知るた めに、毎回お世話に なります🤗
  13. 13. Azure ポータルの Export template
  14. 14. Azure ポータルの Export template 手動で作ったリソー スを Export すると きは、APIバージョ ンが古いことがある
  15. 15. テンプレートを実行するとき • Azure CLI や Azure PowerShell • Cloud Shell も便利 • GUI Comfortable Environment
  16. 16. Basic knowledge 基礎おさらい Background image by https://flic.kr/p/8WabtH
  17. 17. ARMテンプレートの基本構造 https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-group- authoring-templates
  18. 18. parameters • テンプレートへの入力を定義する • 扱える型 • string、int、bool、object、array、 secureString、secureObject • defaultValue、allowedValues を設定できる • minValue, maxValue, minLength, maxLength も • GUIでのデプロイでもこのパラメータ定義を利用できる • metadata.description を定義しておくと便利 • 上記の defaultValue なども反映される( allowedValues はプルダウンと して))
  19. 19. variables • 変数を定義できる • ユーザーの入力が必要 → parameters • それ以外 → variables • parameters と同様の型(secure* 以外) • copy という繰り返しの機能も使える(癖あり) • Tips: objectで各値を定義して、キーによって差替えて扱ったり • 構成変数 https://docs.microsoft.com/ja-jp/azure/azure- resource-manager/resource-group-authoring- templates#configuration-variables
  20. 20. resources • リソースの定義を記述する • 依存関係を定義できる • 繰返し(copy)、条件つき(condition)の処理が書ける • 子の resources も定義できる • https://docs.microsoft.com/ja-jp/azure/azure-resource- manager/resource-group-authoring-templates#child-resources
  21. 21. outputs • テンプレートの処理が終わったあとの出力を定義できる • 例: Storage のURLだとか、Web Apps のURLだとか • parameters と同様の型(secure* 以外) • Linked template でほかのテンプレートに値を渡すときに便利 • 秘匿情報は Key Vault を経由するように!
  22. 22. Demo: Deploy with ARM template デモ: ARMテンプレート でデプロイ Background image by https://flic.kr/p/8WabtH
  23. 23. デモ: ARMテンプレートでデプロイ • デモ用テンプレートの説明 • https://github.com/dzeyelid/arm-template-sample-for- serverless • GUIでデプロイ • Azure CLI でデプロイ
  24. 24. デモ構成 Key Vault App Service Functions Storage Http trigger で Secret を 設定するAPI Managed Identity で つなげる
  25. 25. Tipsコツ Background image by https://flic.kr/p/8WabtH
  26. 26. セキュアに • Parameter のタイプ secureString, secureObject • 通信時など、秘匿化した状態で扱ってくれる • Key Vault にあるシークレットを parameter として扱える • https://docs.microsoft.com/en-us/azure/azure-resource- manager/resource-manager-keyvault-parameter#reference- secrets-with-static-id • リソース同士の連携は Managed Identity や Virtual Network 連携も検討する • Managed Identity による連携 https://docs.microsoft.com/en- us/azure/active-directory/managed-identities-azure- resources/qs-configure-template-windows-vm
  27. 27. リソース名をつける • リソース名に使っていい文字列・文字列数はリソース毎に異なる • https://docs.microsoft.com/en-us/azure/architecture/best- practices/naming-conventions • グローバルで一意にしないとならないものもある • 特に、Storage Account は最大 24 文字と短くて困ることが多い • uniqueString などの文字列関数を活用する • https://docs.microsoft.com/ja-jp/azure/azure-resource- manager/resource-group-template-functions-string
  28. 28. copy: variables や resources の複製 • https://docs.microsoft.com/en-us/azure/azure- resource-manager/resource-group-create-multiple
  29. 29. Try using Linked template Linked template を模索する Background image by https://flic.kr/p/8WabtH
  30. 30. リソースの数が多いとき、 テンプレートファイルが巨大で 大変なことになる…! モジュール化してみよう! ↓
  31. 31. 例: SmartStore プロジェクトの場合 • 20前後のリソース数! • 1つのテンプレートに羅列すると 機能群もわかりにくく、メンテしに くい • → Linked template を使って 分割 • https://github.com/intellig ent-retail/smart- store/pull/17/files
  32. 32. Linked template • テンプレートから別のテンプレートを参照してデプロイができる • テンプレートは外部からアクセスできる場所に置く必要がある Parent template Child template Child template Child template
  33. 33. 検証時は Blob + Cloud Shell が便利 • Linked template は外部から テンプレートファイルを参照でき る必要があるので、Azure Storage のパブリックコンテナ に置いて作業している • Azure ポータルや Storage Explorer でアップロード可能 • 実行は、Azure Cloud Shell • ポータルのアカウントと連動してい るので、複数アカウントを使ってる ときはより便利
  34. 34. テンプレートのスコープ • resourceId 関数は便利ですが、そのテンプレートの中で定義されて いないリソースには使えない • → テンプレートの outputs に resource ID を出力して、つぎのテンプレート に引き継ぐ戦法
  35. 35. デモ: ソースコードを見てみる
  36. 36. Demo: Linked template デモ: Linked template Background image by https://flic.kr/p/8WabtH
  37. 37. デモ構成 Key Vault App Service Functions Storage Http trigger で Secret を 設定するAPI Managed Identity で つなげる Functions Storage Http trigger で Secret を 取得するAPI を、つくりたかっ たけど、 間に合わず…
  38. 38. デモ構成 Key Vault App Service Functions Storage Functions Storage template.json setter-resources.json (getter-resources.json) post- configuration. json
  39. 39. Epilogueエピローグ Background image by https://flic.kr/p/8WabtH
  40. 40. あとがき • ARMテンプレートは確かに癖がある • 慣れるとスパっとできて楽しい! • Terraform も試したい • Visual Studio Code のエクステンションがもっと拡充されるといい な!
  41. 41. Have fun!

×