COLUMN
Azure Resource Managerとは?Infrastructure as codeも実現するリソース管理
Azureのクラウドサービスを利用するならば、リソース管理の「Azure Resource Manager」を理解しておくと便利です。Azure Resource Managerではリソースグループを管理すること、そしてテンプレートによってInfrastructure as codeが実現できます。本コラムでは、Azureのサービスを使う上で基本となる「Azure Resource Manager」について、Azure Resource Managerとはそもそも何なのか、そしてAzure Resource Managerの主な特徴を解説します。
Azure Resource Managerとは
Azure Resource Managerとは、Azureのリソースグループを管理する機能であり、Azureサービスにおけるリソース管理の概念とも表現できるでしょう。
Microsoftが提供するAzureを使ったシステム構築には「Azure Portal」「PowerShell CLI」「ARMテンプレート」を利用する方法があります。例えば、Azure Portalを使ってシステム構築をするとき、仮想マシンなどのリソースを視覚的に直接扱っているように見えます。しかし、仕組みとしては「Azure Portal 」→「Azure Resource Manager」→「リソース」というように、間接的な作業をしているのです。Azure Resource ManagerをGUIとして可視化したものがAzure Portalだとイメージすると分かりやすいでしょう。
また、Azure Resource Managerは、テンプレート機能を利用することにより、Infrastructure as codeを実現できるという大きな特徴があります。システム構築に必要なリソース構築をスクリプト化してテンプレートファイルで利用すれば、効率的なインフラ構築ができるのです。
Azure Resource Managerは、その実態を意識することはほとんどありませんが、エンジニアがAzureのリソースを扱うときに必ず機能している重要なシステムであることを意識しておきましょう。
Azure Resource Managerで使用される用語
Azure Resource Managerを理解する上で大切なことは、リソースやリソースグループといった、Azureには欠かせない用語です。まず、基本となる用語を確認していきましょう。
リソース
リソースとは、Azureが提供する個々のサービスです。
代表的なものには「仮想マシン」「ストレージ」「データベース」「Webアプリ」「仮想ネットワーク」などが挙げられます。
リソースグループ
リソースグループとは、仮想マシンやストレージなどのシステム構築に必要なリソースをグループ化したものです。
例えば、「○○ブログ」というサイトを構築するために「Webサーバー」「データベース」「ストレージ」というリソースを組み合わせたとします。このとき、3つのリソースをリソースグループとして管理することで、リソースを一覧したり、サービスが終了した時点でリソースを一括削除したりできます。
サブスクリプション
サブスクリプションは、リソースグループの上位レベルに位置するもので、リソースグループをさらにグループ化して管理します。例えば、A・B・Cの3つのグループリソースを、「A・B」と「C」という2つのまとまりに分けた場合、このそれぞれのまとまりがサブスクリプションです。
サブスクリプションにポリシーを適用すると、下位レベルにあるリソースグループとリソースに適用されます。
管理グループ
管理グループは、サブスクリプションの上位レベルに位置するグループです。複数のサブスクリプションをグループとして管理できます。
リソースグループの詳細や、管理グループ、サブスクリプション、リソースグループ、リソースの関係については、Microsoft Azureにおけるリソースグループの役割をご参照ください。
リソースプロバイダー
リソースプロバイダーとは、Azureサービスを提供するサービスです。
例えば、Virtual Machines(仮想マシン)を提供するリソースプロバイダーは「Microsoft.Compute」、管理グループを提供するのは「Microsoft.Management」といった具合です。Azureサービスは、リソースプロバイダーとマッピングされています。
Resource Manager テンプレート
Resource Manager テンプレートは、システム構成の手順をスクリプト化したテンプレートです。テンプレートを使うことで、同じ構成のシステムを素早く構築できます。
テンプレートは、リソースグループやサブスクリプション、管理グループといった単位で適用できます。
宣言型構文
宣言型構文は、構築するシステムをプログラミングなしで宣言できる構文です。上述のResource Manager テンプレートも宣言型構文の1つで、効率的にシステム構築できます。
Azure Resource Managerの主な特徴
Azure Resource Managerの基本を抑えたところで、主な特徴を見ていきましょう。
リソースグループの管理
Azure Resource Managerは、Azureのリソースをリソースグループ単位で管理します。
リソースグループというまとまりで管理すれば、リソースの作成・更新・削除などを一括でおこなえるのです。例えば、企業内にある複数の部署で異なるシステム構築が必要な場合でも、部署ごとに異なるシステム構成をグループに分ければ、各部署のリソースグループごとに管理できます。
経理部や営業部といった部門ごと、あるいは開発環境と本番環境なども、Azure Resource Manager が効率的な管理を実現します。
このとき、Azureサービスを利用するユーザーは、Azure Resource Managerがおこなうリソース管理をAzure Portalなどを通して視覚的に確認しています。
テンプレートによるシステム構築
Azure Resource Managerでは、テンプレートによるシステム構築ができます。
これは、利用するリソース構成をスクリプト化し、テンプレートファイルにしておくことで、システムを自動生成できるということです。
テンプレートは、リソースグループやサブスクリプション、管理グループ単位で適用できますし、複数のリソースを定義することもできます。つまり、Azure Resource ManagerでInfrastructure as codeが実現できるということなのです。
これにより、システム構築時のオペレーションミスや、既存の環境を迅速にデプロイできるというメリットがります。また、差分やバージョン管理もコード化することで、通常のソフトウェアをインストールするように効率的なインフラ構築ができるのです。
タグによるサブスクリプション管理
リソースにタグを付けることで、サブスクリプション配下のリソースおよびリソースグループを論理的に分類整理できます。
タグは名前と値の組み合わせで構成されていますので、「○○プロジェクト」の「開発環境」などといったタグを付与して、目的のリソースを素早く整理するのに便利です。例えば、複数のリソースグループから「開発環境」がいくつあるのかを特定するときなどに使えます。
リソースにタグを適用するにはリソースへのアクセス権限が必要ですが、例えばタグ共同作成者ロールを割り当てられたユーザーならば、アクセス権限がなくてもタグを付与できます。
ロールベースのアクセス制御
Azure Resource Managerでは、ロールベースのアクセス制御(RBAC)が可能です。
Azure RBACを利用することで、ユーザーにロールを適用し、アクセス権限やリソースに対するアクションを制御します。
例えば、仮想マシンの所有者ロールを割り当てられたユーザーは、仮想マシンの作成から削除、その他のユーザーに対して権限を付与する権利を持つことができます。また、共同作成者ロールを割り当てられたユーザーは、Azureリソースの作成や管理をおこなえます。
プログラマがリソースを削除するなどといったオペレーションミスを防ぐため、プログラマには共同作成者ロールを割り当てるなどといった使い方が想定されるでしょう。
つまり、ユーザーごとにロールを割り当て、パーミッションの制御をおこなえるということです。
まとめ
Azure Resource Managerは、Azureで提供されるリソースをリソースグループ単位で管理するという概念です。システム構築に必要なリソースはスクリプト化しテンプレートにすることで、Infrastructure as codeを実現します。ユーザーがAzureを利用する上ではAzure Resource Managerを意識することはほとんどありませんが、仕組みを理解してAzureサービスを効率的に利用しましょう。
ネットワークからクラウドまでトータルサポート!!
NTT東日本のクラウド導入・運用サービスを確認してください!!
RECOMMEND
その他のコラム
無料ダウンロード
自社のクラウド導入に必要な知識、ポイントを
この1冊に総まとめ!
あなたはクラウド化の
何の情報を知りたいですか?
- そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
- 【AWS・Azure・Google Cloud】
どれが自社に最もマッチするの? - 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
- 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?
初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。
NTT東日本では
そんなあなたにクラウド導入に必要な情報を
1冊の冊子にまとめました!
クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・
- システムインフラの維持にかかるトータルコストがあまり変わらない。。
- 情シス担当者の負担が減らない。。
- セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
-
そもそも”クラウド化”とは?
その本質的なメリット・デメリット - 自社にとって
最適なクラウド環境構築のポイント - コストを抑えるための
具体的なコツ - 既存環境からスムーズにクラウド化を
実現するためのロードマップ
など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。
面倒でお困りのあなたへ
クラウドのご相談できます!
無料オンライン相談窓口
NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!
NTT東日本が選ばれる5つの理由
- クラウド導入を
0からワンストップでサポート可能! - 全体最適におけるコスト効率・業務効率の改善を
中立的にご提案 - クラウド環境に問題がないか、
第3者目線でチェック
してもらいたい - 安心の24時間・365日の対応・保守
- NTT東日本が保有する豊富なサービスの組み合わせで
”課題解決”と”コスト軽減”を両立
特に以下に当てはまる方はお気軽に
ご相談ください。
- さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
- オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
- オンプレミスとクラウド移行した際のコスト比較を行いたい
- AWSとAzure、どちらのクラウドが自社に適切かわからない
- クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
- クラウド利用中、ネットワークの速度が遅くて業務に支障がでている
クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。
相談無料!プロが中立的にアドバイスいたします
クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。