なるほどわかった!azure resource managerのテンプレート機能

Post on 24-Jan-2017

304 Views

Category:

Engineering

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

なるほどわかった!Azure Resouce Manager

のテンプレート機能こだまリサーチ株式会社

テクニカル・エヴァンジェリスト 不破 崇行

自己紹介

不破 崇行 ( ふわ たかゆき )こだまリサーチ株式会社所属 テクニカル・エヴァンジェリスト

• 開発から保守を担当しつつ、お話をするお仕事

• 社内では AWS/Azure 案件を担当しています

• 好きな食べ物• 稲荷寿司と歌舞伎揚げ

• 好きな言語• PHP とアイヌ語 ( ユーカラ )

• 最近札幌に戻ってきました

本日のお話しについて

• Azure のアーキテクチャ• Azure Resource Manager(ARM) とは?

• ARM Template 機能について

Microsoft Azure ?

Azure Resource Manager• 2014 年から、 Azure 上におけるリソースの扱い方が新しくなりまし

• 分散しがちだった各種リソースを束ねる「リソースグループ」という概念が出来ました

• VM をはじめ、仮想 NIC やロードバランサ・ストレージを 束ねることで、 1 つのサービスを作り出す仕組みになった

• 従来の VM は「クラシック」という扱いになった

Azure Resource Manager(ARM)• リソースを 1 つに束ねることによ

り、リソース 1 つ 1 つとの関係が明確に出来るようになった• 「リソースグループ」といいます

• 従来の Azure( 旧ポータル ) では、各リソースの関係性を見いだすのが難しかった• 特にリソースが増えてくると収拾が付

かなくなった

ARM の設定例

• 構成例• AP * 2(VM)• DB * 1(VM)• ロードバランサ• 仮想 NIC• バックアップサービ

ス• パブリック IP

Moodle を大学などで全学的に

使用することを想定した構成。

ARM のメリット

• リソース同士の関係性を明確化させることができる

• リソースの一括管理が容易• 全部リソースを消す場合も、リソースグループを消せば良い

• テンプレート機能により、リソースグループごと JSON ファイルから生成することが出来る

ARM Template と特徴

• JSON 形式のファイルでテンプレートを作ることが出来る• AWS の CloudFormation に近い

• 1 つのテンプレートでリソースグループ内のリソースをほぼ全てデプロイ可能• 変数化して別の JSON ファイルで記述できるため、 使い回ししやすい特性を持つ• Visual Studio でコーディングしてそのままデプロイ出来る• Community Edition( 無料版 ) でも出来ます

ARM Template の一部Linux VM(Scale Set) を生成する場合{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json", "contentVersion": "1.0.0.0", "parameters": { "vmSize": { "type": "string", "defaultValue": "Standard_A1", "minLength": 1 }, "ubuntuOSVersion": { "type": "string", "defaultValue": "14.04.4-LTS", "allowedValues": [ "15.10", "14.04.4-LTS" ], "metadata": { "description": "The Ubuntu version for the VM. This will pick a fully patched image of this given Ubuntu version. Allowed values are: 15.10, 14.04.4-LTS." } },

作り方 1Visual Studio を使う場合Azure SDK をインストールするとVisual Studio 上でコーディング出来る

https://azure.microsoft.com/ja-jp/downloads/

作り方 1Visual Studio の場合• VS 上でプロジェクト新規作成

作り方 1Visual Studio の場合• Visual C# -> Cloud を選択

作り方 1Visual Studio の場合• MS が用意したテンプレートから作成することも可能

作り方 1Visual Studio の場合

作り方 1Visual Studio の場合• プロジェクトを右クリックして「配置」を押下するとデプロイ出来る

作り方 2ポータルから新規作成• ポータル画面から新規作成も出来る

作り方 3ARM Template Visualizer を使う• ドラッグアンドドロップで配置

すると JSON ファイルを生成してくれる便利ツール• CloudFormation Designer  に近

• 「とりあえず仮組みを作ってみる」という用途に便利• 微調整などは手動でやる

• http://armviz.io/#/

作り方 4Azure クイック スタート テンプレート• MS とコミュニティが用意してい

るテンプレートを使う• https://azure.microsoft.com/ja-

jp/documentation/templates/

作り方 4Azure クイック スタート テンプレート• デプロイしたいアプリ名

で検索すると出てくる• “Moodle” で検索した場合

作り方 4Azure クイック スタート テンプレート• Azure へそのままデプロ

イできるし、テンプレートをダウンロードすることが出来る

作り方 5既にあるリソースから生成する• 手動で作ったリソースか

ら、リソースグループごとテンプレート化することが出来る。

メリット変数を別ファイルに分けることが出来る

{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "vmssName": { "value": "IaaSTestVM" }, "instanceCount": { "value": 2 }, "adminUsername": { "value": "fuwa" }, "ubuntuOSVersion": { "value": "15.10" } }}

まとめ

• Azure はここ数年で一気に変わった• Visual Studio だけでデプロイまで出来る• コードガリガリかいてインフラ構築が出来るようになってきた

top related