「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-戻る
--[[Azure]]
---[[Azure Subscriptionの管理@エンプラ]]~
[[Azure Subscriptionの管理手順@エンプラ]]
-[[戻る>Azure]]

* 目次 [#k4c086fe]
#contents

*概要 [#ed306dc3]
グループ化されたソリューション [[リソース>#c500a780]]をデプロイ、監視、管理する

*モデル [#bd8fe031]
-Azure ソリューションのデプロイと管理における方法

-新旧、2つのモデルがある。
--[[クラシック デプロイ>#i75362db]](旧)
--[[Resource Manager デプロイ>#qf6eca89]](新)

-2つのモデルに互換性はない。 

-現在では、[[Resource Manager デプロイ>#qf6eca89]]が推奨される。

**2つのモデル [#i1b65f24]
***クラシック デプロイ(旧) [#i75362db]
-当初からのモデル

-各[[リソース>#c500a780]]が独立して存在

-関連[[リソース>#c500a780]]をまとめてグループ化する方法がない。

-デプロイには、すべての[[リソース>#c500a780]]を正しい順序で
--ポータル経由で個別に作成・削除
--作成・削除するスクリプトを作成して実行

>する必要があった。

-[[タグ>#l6352a6a]]などによって、グループ化された[[リソース>#c500a780]]の監視・請求の管理などができない。

-[[リソース>#c500a780]]に[[アクセス制御>#ba96d852]]を適用できない。

***Resource Manager デプロイ(新) [#qf6eca89]
-2014 年にResource Manager が導入され、[[リソース グループ>#f9664018]]の概念が追加された。

-グループ化されたソリューション [[リソース>#c500a780]]をデプロイ、監視、管理する。

-ソリューションを、[[リソース グループ>#f9664018]]という単位で、
--[[リソース>#c500a780]]が一貫した状態(順序、[[アクセス制御>#ba96d852]])で
--ライフサイクル全体で繰り返し

>デプロイできる。

-[[テンプレート>#acb11ff6]]
--スクリプトではなく、[[テンプレート>#acb11ff6]]という、[[宣言型構文>#j9444a15]](JSON)で管理可能。
--ソリューションのインフラストラクチャ全体を 1 つの[[テンプレート>#acb11ff6]]で定義する必要は無い。~
[[リソース>#c500a780]] < [[テンプレート>#acb11ff6]] < [[リソース グループ>#f9664018]] < ソリューションのインフラストラクチャ

-[[タグ>#l6352a6a]]によって、グループ化された[[リソース>#c500a780]]の監視・請求の管理が可能。

-[[リソース グループ>#f9664018]]に属するすべての[[リソース>#c500a780]]に[[アクセス制御>#ba96d852]]を適用できる。

**モデルのサポート [#u4c52516]
***サポートされない。 [#y864d852]
Cloud Services (SaaS)では、新旧、どちらのモデルもサポートされない。

***両方サポートされる。 [#jbd3ef23]
-[[リソース>#c500a780]]
--仮想マシン
--ストレージ アカウント
--仮想ネットワーク

-[[リソース>#c500a780]]作成時のモデルが、
--[[クラシック デプロイ>#i75362db]]の場合、~
クラシック ポータルの操作でそのリソースを操作し続ける必要
--[[Resource Manager デプロイ>#qf6eca89]]の場合、~
Resource Manager ポータルの操作を使用し続ける必要がある。

***Resource Manager がサポートされる。 [#h0915bee]
上記以外の[[リソース>#c500a780]]は、[[Resource Manager デプロイ>#qf6eca89]]のモデルがサポートされる。

**クイックスタート [#w438df9b]
***クラッシック デプロイメント モデル [#s7b2480c]
-VM を Azure Portal で作成する~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/classic/tutorial

***Resource Manager デプロイメント モデル [#n5fea899]
-Azure クイック スタート - ポータルで Windows VM を作成する~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/quick-create-portal

*用語 [#c42e14a1]
**リソース [#c500a780]
Azure を通じて管理できる要素。

-リソース
-仮想マシン
-ストレージ アカウント
-仮想ネットワーク
-Web アプリ
-データベース
-データベース サーバー
-サード パーティのサービス
-, etc.

**リソース グループ [#f9664018]
-Azure ソリューションの関連する[[リソース>#c500a780]]を保持するコンテナー。
-リソース グループには(グループとして管理したい)[[リソース>#c500a780]]を格納する。
-[[タグ>#l6352a6a]]を適用することで、[[リソース>#c500a780]]を論理的に整理できる。
-1つの[[リソース>#c500a780]]は1つのリソース グループに所属。
-管理操作の[[アクセス制御>#ba96d852]]スコープを設定できる。

-プラクティス
--[[サイクル>#be981023]]が別の場合は、リソース グループを分割する。
--[[依存関係>#d69a9c7b]]により、上記で分割したリソース グループ間で連携ができる。
--以下の項目からは自由
---リソース グループへの[[リソース>#c500a780]]追加、削除、移動のタイミング
---リージョン(なお、コンプライアンス上の理由から、データは特定のリージョンに格納)

**リソース プロバイダ [#e403ab83]
-デプロイおよび管理できる[[リソース>#c500a780]]を提供するサービス。
-デプロイされた[[リソース>#c500a780]]を利用するための操作を提供する。

-一般的なリソース プロバイダ
--Microsoft.Compute:仮想マシン
--Microsoft.Storage:ストレージ アカウント 
--Microsoft.Web:Web アプリに関連したリソース
--, etc.

-[[リソース>#c500a780]]の種類を表す名前は、
--{resource-provider}/{resource-type} のような形式

**宣言型構文 [#j9444a15]
-一連のプログラミング コマンドを記述しなくても、~
"作成しようとしているもの" を明確に宣言することのできる構文。

-宣言型構文の例
--[[Resource Manager テンプレート>#acb11ff6]]

*機能 [#db07b885]
**テンプレート [#acb11ff6]
-[[リソース>#c500a780]]を一貫性のある形で繰り返しデプロイするための[[宣言型>#j9444a15]]のテンプレート。
-[[リソース グループ>#f9664018]]へのデプロイ対象となる[[リソース>#c500a780]]を定義する JSON ファイル。
-デプロイ対象[[リソース>#c500a780]]間の[[依存関係>#d69a9c7b]]も、このテンプレートによって定義される。

-Resource Manager はテンプレートを解析し、~
その構文を適切な[[リソース プロバイダ>#e403ab83]]の REST API 操作に変換する。

-既存の[[リソース グループ>#f9664018]]のテンプレートの取得
--[[リソース グループ>#f9664018]]の現在の状態をエクスポート
--特定のデプロイに使用されたテンプレートを表示

**タグ [#l6352a6a]
-要件に合わせて[[リソース>#c500a780]]を論理的に分類・整理できる。
--管理:タグを共有する[[リソース>#c500a780]]の視覚化(役割、所属)
--課金:タグを共有する[[リソース>#c500a780]]のコストを表示できる。

-独自のタグ分類法を作成できる。

**依存関係 [#d69a9c7b]
-他の[[リソース>#c500a780]]の機能がないと[[リソース>#c500a780]]を作成できないときに、依存関係を設定する。
-デプロイ後にやり取りするだけの[[リソース>#c500a780]]は(、作成できない訳ではないので)、依存関係を設定しない。

-依存関係を設定することで、
--Resource Manager により、[[リソース>#c500a780]]が依存する順にデプロイされる。
--Resource Manager では、[[テンプレート>#acb11ff6]]の検証中に循環依存関係を識別する。

-依存関係の定義の方法には、
--[[dependsOn 要素>#p40387fb]](明示的な依存関係)
--[[reference 関数>#m240f874]](暗黙的な依存関係)

>がある。

-同じ依存リソースに、[[dependsOn 要素>#p40387fb]]と[[reference 関数>#m240f874]]の両方の要素を使用する必要は無いが、~
不要な依存関係が追加されないように、できる限り、[[reference 関数>#m240f874]]のみを使用する。
--明示的に設定しなくても連鎖的な依存関係になるようにする。
--デプロイの前に値を指定できる場合は、依存関係なしで[[リソース>#c500a780]]をデプロイする。

***dependsOn 要素(明示的) [#p40387fb]
-[[テンプレート>#acb11ff6]]内で使用する明示的な依存関係。
-1 つの[[リソース>#c500a780]]が 1 つ以上の[[リソース>#c500a780]]に依存していることをコンマ区切りリストで定義
-並列でデプロイされないため、デプロイ時間に影響を及ぼす可能性がある。

-子[[リソース>#c500a780]]の定義
--resources プロパティを使用する。
--子[[リソース>#c500a780]]の定義の深さは 5 レベルまで。

***reference 関数(暗黙的) [#m240f874]
-暗黙的な依存関係
-他の JSON の名前と値のペアまたはランタイム リソースからその値を導出する参照式。
-これにより、ある[[リソース>#c500a780]]が別の[[リソース>#c500a780]]に依存することを暗黙的に宣言できる。

***リソース リンク [#i1019d79]
リソースが相互にどのように接続されているかをドキュメント化する。

**アクセス制御 [#ba96d852]
-[[Role Based Access Control (RBAC)]]

*その他 [#l13b8607]

**管理レイヤー [#v6cff5be]
-Azure PowerShell
-Azure CLI(Azure Command Lines、linux環境などから使う)
-Azure Portal
-REST API
-開発ツール

**サイクル [#be981023]
-ライフ サイクル
-デプロイ サイクル

が別であれな、別の[[リソース グループ>#f9664018]]に含める。

*参考 [#hbf918d8]
-Azure Resource Manager のドキュメント - チュートリアル、API リファレンス~
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/

-Azure リソースの複数インスタンスのデプロイ~
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-group-create-multiple

**リソース プロバイダ [#i720155f]
-Azure リソース プロバイダーとリソースの種類~
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-manager-supported-services

**テンプレート [#y769210b]
-Azure Resource Manager テンプレートをエクスポートする~
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-manager-export-template

-初めての Azure Resource Manager テンプレートを作成する~
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-manager-create-first-template
-複雑なソリューション向け Azure テンプレートの設計~
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/best-practices-resource-manager-design-templates

-Azure Resource Manager テンプレートのリソースの定義~
https://docs.microsoft.com/ja-jp/azure/templates/

***入れ子/ネスト [#oa7a4ccc]
-Azure デプロイ用のリンク テンプレート(入れ子/ネスト)~
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-group-linked-templates

***タグ [#s959678d]
-論理的に整理するための Azure リソースのタグ付け~
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-group-using-tags

***依存関係 [#md593160]
-Azure リソースのデプロイ順序の設定(依存関係)~
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-group-define-dependencies

-Azure Resource Manager テンプレートの関数 - リソース~
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-group-template-functions-resource#reference

**[[Role Based Access Control (RBAC)]] [#j93eaab5]

**[[Network Security Group (NSG)]] [#u59301ee]

**Resource Manager デプロイとクラシック デプロイ [#d186beef]
-Resource Manager デプロイとクラシック デプロイ~
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/resource-manager-deployment-model
-クラシック仮想ネットワークを Azure Resource Manager VNet に接続する: ポータル~
https://docs.microsoft.com/ja-jp/azure/vpn-gateway/vpn-gateway-connect-different-deployment-models-portal

***移行 [#z716992e]
-プラットフォームでサポートされているクラシックからAzure Resource Manager への
--移行に関する技術的な詳細~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/migration-classic-resource-manager-deep-dive
--IaaS リソースの移行~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/migration-classic-resource-manager-overview
---Azure PowerShell を使用して移行~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/migration-classic-resource-manager-ps
---Azure CLI を使用して移行~
https://docs.microsoft.com/ja-jp/azure/virtual-machines/linux/migration-classic-resource-manager-cli

----
Tags: [[:インフラストラクチャ]], [[:クラウド]], [[:Azure]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS