1.Azureの基礎知識
AZ-900範囲に関しての記述。
またMicrosoftの提供するクラウドサービスは以下の通り。
サービス名 | 分類 | 説明 |
---|---|---|
Azure Virtual Machines | IaaS | 仮想マシンの生成と利用ができるサービス |
Azure SQL Database | PaaS | SQLデータベースの構築ができるサービス |
Azure App Service | PaaS | アプリケーション動作基盤の利用ができる |
ストレージアカウント | PaaS | |
Azure Cosmos DB | PaaS | |
Microsoft Office 365 | SaaS | |
Microsoft Dynamics 365 | SaaS | |
Microsoft Intune | SaaS |
0.1. クラウドの特徴
0.1.1. クラウドのシステム費用
クラウドサービスはシステム費用を資本的支出(CapEx)から運用支出(OpEx)へと変更する柔軟性をユーザーに提供する。
- 資本的支出(CapEx) ... 物理サーバの購入など
- 運用支出(OpEx) ... 電気代などの運用費
0.1.2. クラウドの特徴
弾力性
弾力性とは負荷に応じて自動的に調整する能力のこと。 自動スケールできる性質ともいえる。
機敏性(アジリティ)
機敏性とは変化に素早く対応できる能力のこと。
クラウドにおいてはアプリケーションの要件変更や機能追加に応じてすぐにデプロイできたり、サーバをすぐに起動・破棄できる性質を指す。
スケーラビリティ(拡張性)
スケーラビリティは自由にサーバの台数を増減させたり性能を上げ下げできる能力のこと。
ディスタンスリカバリ
ディスタンスリカバリは自然災害などの大規模障害から迅速に復旧することを指す。
サービスが停止しても迅速に復旧するための取り組みともいえる。
フォールトトレランス(耐障害性)
フォールトトレランスはシステムを構成する一部に障害があっても正常にサービスを継続できる能力のこと。
高可用性(アベイラビリティ)
高可用性はシステムやサービスを継続して利用できる度合いや能力のこと。
1.1. Azureのコアアーキテクチャ
1.1.1. リージョン
リージョンはデータセンターのある地域のことで、Azureのデータセンターの場合世界中に60以上存在する。 なお日本には東日本リージョン(東京,埼玉)と西日本リージョン(大阪)がある。
リージョン内のネットワーク
リージョンは1つ以上のデータセンターで構成されており、データセンター同士は互いに低遅延ネットワークで接続されている。
リージョンを決定する上での考慮事項
Azureサービスのリージョンの決定のためには以下の点を考慮すると良い。
- ネットワーク遅延の影響
- 利用者と近いリージョンであればネットワーク遅延は減少させられる
- 提供される機能
- 分析サービスの「Azure Analysis Services」は東日本リージョンのみの提供となっている
- 仮想マシンリソースの確認(リージョンごとに異なる)
- コンプライアンスの要件
- 特定のコンプライアンス要件(ISO)
- ISMAP認証(日本政府のクラウド認証)にAzure日本リージョンは認定されている
- コスト差
- リージョンによりコストが異なる場合がある
1.1.2. リージョンペア
リージョンペアはリージョン規模での障害に備えたペア構成のこと。 日本の場合、Azureでは東日本リージョンと西日本リージョンがペアになってる。
なおストレージアカウントにはリージョンペアにデータを同期する仕組みがある。この仕組みの利用でストレージアカウントをそれぞれのリージョンで同期させることができる。 そのため、リージョンペアにデータを分散するようにシステム構成を取ると、障害に強いシステムを構築できる。
1.1.3. 特殊リージョン
Azureでは特殊用途、法規制のため特殊運用されているリージョンがある。
Azure Goverment
Azure Govermentは米国政府のコンプライアンスとセキュリティ要件を満たすための特別なリージョン。 特徴としては以下の通り。
- 非常に機密性の高いデータの管理要件を満たすよう作られてる
- 他のリージョンと物理的隔離されており、米国政府機関などの国家機関のみが利用できる
Azure China
Azure Chinaは中国国内で運用されるリージョン。 これは中国国内では法規制により国外のクラウドプロバイダが自社のデータセンタを保持/運用することが認められていないためである。
ちなみに中国国内には5つのAzureリージョンがある。 また他のグローバルリージョンとこのリージョンは物理的に隔離されている。
ソブリンリージョン
なお上記のような各地域の法規制などに準拠するため、特別な運営がされているリージョンはソブリンリージョンと呼ばれる。
1.1.4. 可用性ゾーン
可用性ゾーンはデータセンターの障害に対応するための仕組み。 仮想マシンなどのリソースを1つのリージョン内のゾーン(データセンタ)に分散して配置できる仕組みともいえる。
なお、Azureでは東日本リージョンのみ可用性ゾーンを使用できる。
1.1.5. サブスクリプション
Azureの利用には初めにサブスクリプションを取得する必要がある。 サブスクリプションには契約/請求書管理、システム管理の2つの側面がある。
- 契約/請求書管理
- 利用契約を結ぶことでAzureサブスクリプションの利用ができる
- Azureの請求はサブスクリプション単位で行われる
- 支払い方法を分ける場合、サブスクリプションを別々に取得する必要がある
- システム管理の側面
- サブスクリプションを取得する際に使用したアカウントはAzureアカウントと呼ばれる
- Azureアカウントを起点にサブスクリプションへのアクセスを許可していく
- 1ユーザで複数のサブスクリプション取得もできる
サブスクリプションの種類
種類 | 説明 |
---|---|
EAスポンサープラン | Microsoftからの招待で契約可能な大規模プラン 年間価格を前払いする必要がある |
Azureプラン | 個人契約可能な一般ユーザ向けプラン 支払いは基本的にクレジットカードとなる(請求書は審査必要) |
Azure in CSP | Microsoft認定パートナであるCSPを通じて提供される 請求/サポートをCSPパートナに委託できる |
Azure無料アカウント | Azureを200ドル分/1か月分無料使用できるもの 1アカウントにつき1回までの使用 |
サブスクリプションの取得
サブスクリプションの取得が行えるアカウントは以下の通り。
- Microsoftアカウント
- 職場/学校アカウント(Azure ADアカウント)
アカウント管理者とサービス管理者
サブスクリプションを取得したユーザアカウントは既定サブスクリプションのアカウント管理者とサービス管理者に設定される。
- アカウント管理者
- 契約と課金に関する責任を持つ
- サービス管理者
- 取得したサービスに対するフルアクセス権を持つ
サブスクリプションのクォータ
サブスクリプションのクォータはサブスクリプションで作成できるリソースの数の制限のこと。
サブスクリプションに設定されているクォータやサービス使用量は[使用量+クォータ]
画面で確認できる。
クォータの目的は以下の通り
- サービス利用者のサービスの過剰使用を防ぐため
- クラウド側が用意するリソースの短時間生成を防ぐため
なお、クォータはMicrosoftに承認申請を行うと引き上げができる。
1.1.6. サービスレベルアグリーメント(SLA)
SLAはクラウドサービスプロバイダと利用者で結ばれるサービス利用レベルに関する合意事項のこと。
月間稼働率
月間稼働率はサービスが正常に動作していた時間の割合のこと。
サービスクレジット
Azureで提供されるサービスがMicrosoft側の原因でSLAを下回った場合に提供されるものがサービスクレジット。
1.1.6. リソース管理
リソースとリソースグループ
リソースはAzureで利用できるサービス実体のこと。
また、リソースグループはリソースを複数含められる論理上の管理コンテナのこと。 リソースのアクセス制御に利用される。
リソースグループの特徴は以下の通り。
- 同じリソースグループに異なるタイプのリソースを含められる
- 同じリソースグループに異なるリージョンのリソースを含められる
- リソースグループを削除するとその中のすべてのりそーうが削除される
- 異なるリソースグループのリソースも通信できる
リソースグループの運用例
リソースグループは以下のように運用することが多い。
- ライフサイクルが同じリソースをまとめる
- 管理要件に応じてリソースをまとめる
なおリソースグループの注意事項は以下のような点がある。
- リソースグループの子にリソースグループは作成できない
- リソースグループにまたがりリソースを作ることができない
- リソースグループ間でリソースを移動できる
1.1.7. 管理グループ
管理グループでは同じ管理要件のサブスクリプションを束ねることができる。 管理グループで複数のサブスクリプションをまとめると、管理者権限設定を風数のサブスクリプションにまとめて行うことができる。
管理グループは「Tenant mot group」を起点として最大6階層の階層構造を構成できる。 この管理グループの機能で大規模組織のサブスクリプション管理が一元化できる。
1.2. Azureの管理ツール
1.2.1. Azure Resource Manager(ARM)
Azure Resource Manager(ARM)はAzureリソースの操作に対する管理役割を担うシステムのこと。 Azure PortalやAzure CLIなどのフロントエンドツールを介してAzureに命令するとARMが媒介してリソースの作成/削除を行うことになる。
また以下の機能がある。
- Azure Resource Managerテンプレート(ARM テンプレート)によるリソース展開
- リソースグループの設定、タグ付けやロックによるリソース管理
- Azure マネージドアプリケーション*
- Azure カスタム リソース プロバイダーによるカスタム API の定義
1.2.2. Azure管理ツール
Azure Portal
Azure PortalはWEB GUIベースのリソース管理ツール。
https://portal.azure.com
からアクセスできる。
Azure PowerShell
Azure PowerShellはPowerShellコマンドレットでリソース管理を行えるツール。 なお利用には、Windows PowerShellまたはPowerShellをインストールしたデバイスが必要になる。 またそれに追加してAzure専用のコマンドレット(AZモジュール)をPowerShellにインストールする必要がある。
AZモジュールはhttps://github.com/Azure/azure-powershell/releases
からインストールできる。
AZモジュールコマンドレット | 説明 |
---|---|
Connect-AzAccount |
Azureへのサインインを行う |
Get-AzVM |
作成された仮想マシン一覧を取得できる |
Azure CLI
Azure CLIはAzure操作のためのCLIツール。
Azure PowerShellとの違いは、bash
を使用する点が異なる。
AZ-CLI | 説明 |
---|---|
az login |
Azureへのサインインを行う |
az vm list |
作成された仮想マシン一覧を取得できる |
Azure Cloud Shell
Cloud ShellはAzure PortalやAzure Mobile Appsでコマンドを実行できるブラウザ上の環境のこと。 Cloud ShellではAZモジュールやAzure CLIがインストールされているため、コマンドで作業を行うことができる。
Azure Mobile Apps
Azure Mobile Appsはモバイルデバイス向けのAzure管理アプリ。 以下のような操作が行える。
- Azureリソースの管理や正常性などの状態監視
- アラートの表示
1.2.3. Azure Resource Managerテンプレート
ARMテンプレートはリソース作成や構成に使用できるテンプレートファイルのこと。 ARMテンプレートの使用でリソースが正確/一貫性のある状態で作成/構成できる。 使用するメリットは以下の通り。
- 開発環境/本番環境などの複数の環境で同じ構成のリソースを作成する必要がある場合、テンプレートでまとめて作成できる
- 1つのテンプレートの汎用的仕様で同じ構成のリソースを作成できる
- 操作ミスの防止
- テンプレートのバージョン保存により管理の容易化
ARMテンプレートの記述
ARMテンプレートはJSON形式
で記述する。
記入例は以下の通り。
"resources" :[
{
"type": "Microsoft.Storage/StorageAccounts",
"apiVersion": "2019-04-01",
"name": "az-900storageaacount",
"location": "japaneast",
"sku": {
"name": "Standard_LRS"
},
"kind": "StorageV2",
"properties": {}
}
]
1.2.4. Azure Arc
Azure Archはハイブリッドクラウド/マルチクラウド環境の管理をAzureに統合するサービスのこと。 Azure Archにより以下のことが実現できる。
- 資産管理の一元化
- サーバ監視/保護/更新
- ログ管理
1.2.5. Azureコスト管理
Azureの利用料金は以下の要素で決定される。
- リソースの種類/SKUおよび使用状況
- リージョン
- リソースの各種割引オプション
利用料金計算ツールと総保有コスト(TCO)計算ツール
Microsoftはコストを見積もるためのツールとして、料金計算ツールと総保有コスト(TCO)計算ツールを公開している。
- 料金計算ツール
- Azureで使用予定のリソースとそのオプションを指定することで突き当りの利用料金を見積もれるツール
- 総保有コスト(TCO)計算ツール
- 現在オンプレミスで発生しているコストを入力し、Azureに移行した場合どれくらいかかるのか予測するツール
コスト管理ツール
コスト管理ツールは現在発生しているコストを確認するためのツール。
タグの利用
タグの利用でリソースの整理や絞り込みが行える。 タグの活用場面は以下の通り。
- Azure Portalなどでのリソース絞り込み
- Azure料金の絞り込み
1.3. Azureのコンピューティングサービス
1.3.1. Azure Virtual Machines (仮想マシン)
Azure Virtual Machines (仮想マシン)は仮想的なコンピューティングサービスのこと。 ユーザは、物理ハードウェアのCPU,メモリ、ストレージなどを借りて仮想マシンを構築できる。 ユーザ側は仮想マシンが動くハードウェアを意識するすることなく仮想マシンを使用できる。
仮想マシンのサイズ
Azureで提供される仮想マシンサイズは以下の6つのタイプに分類される。
分類 | 説明 |
---|---|
汎用 | バランスの取れたCPU対メモリ比の仮想マシン向け |
コンピューティングの最適化 | 高いCPU性能に特化した仮想マシン向け |
メモリの最適化 | 高いメモリ性能に特化した仮想マシン向け |
ストレージの最適化 | 高いストレージ性能に特化した仮想マシン向け |
GPU | 高い負荷のグラフィカルのレンダリングやビデオ編集、機械学習など特化した仮想マシン向け |
ハイパフォーマンスコンピューティング | 高速、強力なCPUが必要な仮想マシン向け |
仮想マシンの関連リソース
仮想マシンは以下のリソースと組み合わせて作成される。
- 仮想ネットワーク
- ネットワークインターフェイス
- ディスク
- ネットワークセキュリティグループ(NSG:オプショナル)
- パブリックIPアドレス(オプショナル)
仮想マシンの障害対策
仮想マシンの可用性を高めるには可用性セットや可用性ゾーンを使用することができる。
可用性セット
可用性セットは同じリージョン内の仮想マシンをグループ分けし、仮想マシンが停止するリスクを分散する仕組みのこと。 可用性セットは障害ドメインと更新ドメインという2つの論理グループで構成される。
- 障害ドメイン
- ハードウェア障害に備えて仮想マシンを最大3つのグループに分散する仕組み
- 更新ドメイン
- メンテナンスに備えて仮想マシンを最大20のグループに分散する仕組み
可用性ゾーン
可用性ゾーンは1つのリージョンの異なるデータセンタに分散して配置できるオプション。 ゾーン単位で障害を分離できる。 データセンタレベルの障害が起こった際もシステムの運用が可能となる。
1.3.2. Azure Virtual Machine Scale Sets
Azure Virtual Machine Scale Setsは複数の仮想マシンをグループ化して管理できるサービス。
仮想マシンを冗長化する際に、同じ構成の仮想マシンを複数台まとめて作成することや、仮想マシンの管理をまとめて行うことができる。 なお1つの仮想マシンのスケールセットに設定可能な仮想マシンの最大数は1000である。
垂直スケーリングと水平スケーリング
コンピューティングリソースには2種類のスケーリング方法がある。
- 垂直スケーリング
- 仮想マシン単体の性能(CPU, メモリ)を調整してスペックを増減させること
- 水平スケーリング
- 仮想マシンの台数を増減させること
1.3.3. Azure App Service
Azure App ServiceはPaaSのサービスでユーザが作成したWebアプリを配置し運用できるサービスのこと。 PaaSなのでユーザはアプリの開発/運用に集中できる。
Azure App Serviceの料金
App Serviceでは以下の内容を設定できる。
- OSの種類
- リージョン
- 仮想マシンに数
- 仮想マシンサイズ
- 価格レベル(Free,Shared,Basic,Standard,Premium,Isolated)
なおApp Serviceを仮想ネットワークに接続するにはBasic以上、可用性ゾーンの仕組みの利用にはPremium以上の価格レベルが必要となる。
Azure App Serviceの自動スケール
App Serviceにも自動スケールと呼ばれる仮想マシンの台数を負荷に合わせて増減させる機能がある。 なおこの自動スケールはStandard以上の価格レベルで利用できる。
1.3.4. コンテナサービス
コンテナという仮想環境では実行したいアプリケーションと実行環境をコンテナ単位でまとめて移動させ実行できるもの。 コンテナでは移植性を持つのが特徴といえる。 また、コンテナは仮想環境にOSをインストールしないため仮想マシンより軽量/高速に動作する。
Azureでコンテナを実行できるサービスには以下のものがある。
- Web App for Containers
- Azure Container Instances(ACI)
- Azure Kubernetes Services(AKS)
Web App for Containers
Web App for ContainersはApp Service上でコンテナを実行できるサービス。 レジストリからWebアプリケーションのコンテナイメージを取得し、App Service上に配置し動かすことができる。
Azure Container Instances(ACI)
Azure Container Instances(ACI)はAzureでもっとも高速簡単にコンテナを実行できるサービス。 短期間で処理が完了する簡単なアプリケーションや特定の時間帯にまとめてデータを処理するプログラムを実行する基盤として利用できる。
Azure Kubernetes Services(AKS)
Azure Kubernetes Services(AKS)は複数のコンテナの運用管理に必要なサービスを提供するサービス。 AKSには以下の機能がある。
- 複数コンテナの配置
- 自動スケールと負荷分散
- 正常性監視/メンテナンス
つまりAKSにはKuberenetsによるオーケストレーション機能が備わっている。
1.3.5. Azure Functions
Azure Functionsはサーバレスコンピューティングに分類されるサービスでコードを実行できるサービス。 従量課金プランにより処理を実行した時間や回数で料金が決まる。
Azure Functionsの仕組み
Aure Fuctionsはイベント駆動型の仕組みで、イベントが発生したことをきっかけに動き出して処理を開始するということを表す。 なおどのようなイベントに反応するかはトリガーの実装で設定する。
処理が開始されるイベントは以下のようなものがある。
- ストレージアカウントというストレージサービスに画像ファイルが格納された
- Azure Functionsが持つURLが外部から呼び出された
- Azure Cosmos DBというデータベースにデータが格納された
Azure Functionsの関数
Azure Functionsはプログラミング言語で記述する。 以下の言語を中心にサポートされている。
- C#
- JavaScript
- TypeScript
- PowerShell
- Python
- Java
など...
1.3.6. Azure Virtual Desktop
Azure Virtual Desktop(AVD)はユーザが使用するためのデスクトップを仮想環境で提供するサービスのこと。
利用するにはAzure上に仮想マシンを作成し、ユーザが使用するアプリケーションなどをインストールしてデスクトップ環境を作成することでできる。
AVDの利用のメリットは以下の通り。
- ハイスペックPCのアプリケーションを実行できる
- OSやアプリケーションはAzureの仮想マシン上で管理できるため、ローカル端末の管理負荷が軽減さる
またマルチセッション機能を使用すると、仮想マシンの台数を減らすことができる。 なおAVDはアクティブ ユーザー単位に月額アクセス料金を請求する。
AVDで使用できるOSイメージ
- Windows 11 Enterprise
- Windows 10 Enterprise
- Windows 7 Enterprise
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012
Azure Virtual Desktopのホストプール
ホストプールとはAVD環境にある同じ構成の仮想マシンをまとめたグループのこと。
ホストプールには仮想マシンの台数Xセッション上限数のユーザが同時接続できる。 同じ構成の仮想マシンをホストプールにまとめておくことで、アクセス数の管理調整が行える。
ホストプールではアクセス数が少ないときは仮想マシンの台数を減らしたり、ユーザ接続を均等に分散させたりできる。
1.4. Azureのネットワークサービス
1.4.1. Azure Virtual Network(仮想ネットワーク)
Azure Virtual NetworkはAzureに作成するプライベートネットワークのこと。 仮想マシンなどのリソースを配置しVnet上に配置してネットワーク機能を提供する。
作成した仮想ネットワークはAzureの他の仮想ネットワークやインターネット、Azure他のクラウドサービスやオンプレミスの物理ネットワークなどと相互接続できる。
またAzure Virtual Networkは最低でも1つのサブネットが必要で、複数のサブネットを作成すると、ネットワークを分割できる。
なおサブネットで分割したネットワーク間の通信は、仮想ネットワーク同士を接続して通信させる必要がある。
専用のサブネット
使用するサービスによっては専用サブネットが必要になる場合があり、以下のサービスが主なその対象になる。
- VPNゲートウェイ
- Azure FireWall
- Azure Bastion
仮想ネットワークの作成
仮想ネットワークの作成には以下項目を指定する必要がある。
- サブスクリプション
- リソースグループ
- 仮想ネットワークの名称
- 地域(リージョン)
仮想ネットワーク同士の通信
同じ仮想ネットワーク内に配置したリソースは、サブネットが異なっていても互いに通信が可能となっている。
ただし、仮想ネットワークが複数ある場合は、仮想ネットワークが互いに独立しているため互いに通信することができない。
通信させたくないは異なる仮想ネットワークに配置すると良い。
1.4.2. NetWork Security Group(NSG)
ネットワークセキュリティグループはインターネットやAzure内部通信の通信を制限したい場合に使用できるフィルタリング機能のこと。
NSGの使用により、宛先や送信元IPアドレスやポート番号を指定してトラフィックの許可/拒否したりすることができる。
ネットワークセキュリティグループの構成
ネットワークセキュリティグループの基本設定手順は以下の通り。
- ネットワークセキュリティグループの作成
- セキュリティ規則の実装
- ネットワークセキュリティグループの関連付け
1.4.3. 仮想ネットワーク間の接続
仮想ネットワークピアリング
仮想ネットワークピアリングはAzureの2つの仮想ネットワークをMicrosoftのバックボーンを使用して接続する機能のこと。
この機能で接続すること仮想ネットワークはあたかも同じ仮想ネットワークのようにふるまい、異なる仮想ネットワークに配置されている仮想マシンもプライベートIPアドレスで通信できるようになる。
なお接続にはAzureバックボーンが使用されるため帯域制限などないため広帯域接続できる。
なおピアリングの種類は以下のものがある
ピアリング | 説明 |
---|---|
仮想ネットワークピアリング | 同じリージョンにある仮想ネットワークで接続されたもの |
グローバル仮想ネットワークピアリング | 異なるリージョンにある仮想ネットワーク間を接続されたもの |
VNet間接続
Vnet間接続は2つのAzure仮想ネットワークをVPNで接続する方法のこと。
仮想ネットワークをVPNで接続するにはVPNゲートウェイが必要となる。 なお、VNet接続の料金はSKU(エディション)で決まる。 この2つの仮想ネットワークが同じリージョンの場合はデータ転送料はかからない。
1.4.4. オンプレミスネットワークとの接続
仮想ネットワークとオンプレミスネットワークを接続する方法はサイト間VPNとExpressRouteがある。
サイト間VPN
VPNを使用してAzure仮想ネットワークとオンプレミスネットワークを接続する手法。 インターネット上で専用線で接続されているように見える。
ExpressRoute
Azure仮想ネットワークとオンプレミスを閉域網の専用線で接続するサービス。 非常に通信が高速となり信頼性の高い安定した接続が可能。
利用には接続プロバイダと別途契約が必要になる。
VPNゲートウェイ
VPNゲートウェイはVnet間接続/サイト間VPN/ポイント対サイトVPNの接続で利用する。
1.4.5. Azureの名前解決
Azure DNSゾーン
Azure DNSはインターネットにおける名前解決を行うサービス。 使用するメリットは以下の通り。
- Azureで管理されたDNSサーバを使用できる
- Azureの強固なセキュリティ/管理機能が使える
- グローバルネットワークによる応答速度向上
プライベートDNSゾーン
プライベートDNSゾーンはAzure内部用の名前解決サービス。 プライベートDNSゾーンの使用では仮想ネットワーク間の通信接続を仮想マシンの名前で解決することができる。
DNSゾーンと異なり、ドメインレジストラで取得したドメイン名を用意する必要はない。
1.4.6. プライベートエンドポイント
プライベートエンドポイントはAzure仮想ネットワーク内のサービスに接続するために利用する接点となる機能のこと。 Azure仮想ネットワークのプライベート IP アドレスを使用するネットワーク インターフェイスとして設置する。
プライベートエンドポイントによりサービスに非公開で安全に接続することができる。
プライベートエンドポイントを利用する Azure サービスは以下の通り。
- Azure Storage
- Azure Cosmos DB
- Azure SQLデータベース
- Private Linkを使用する独自サービス
1.5. Azureのストレージサービス
1.5.1. ストレージアカウント
ストレージアカウントはHTTP/HTTPS経由でアクセスできるPaaSのストレージサービスのこと。 最大5PiBのデータを保持できる。
ストレージアカウントの料金
ストレージアカウントに関わる料金の決定要素は以下の通り。
- リージョン
- ストレージアカウントパフォーマンス
- データストレージ料金
- アクセス料金
- 冗長性
- データ転送料金
ストレージアカウントに格納できるデータ種類
種類 | 説明 |
---|---|
Azure Blob | ファイル形式(バイナリデータ)を格納できるサービス、仮想マシンディスクとしても利用できる |
Azure Files | ファイル共有サービス |
Azure Queue | メッセージング処理機能を提供する |
Azure Table | テーブル形式でデータを格納できるサービス。DBより構成がシンプル |
ストレージアカウントのパフォーマンス/種類
ストレージアカウントを作成できる際のパフォーマンスは以下の2種類。
- Standard ... HDDが使用される
- Premium ... SSDが使用される。高速読み書きが可能
またストレージアカウントの種類は以下の4種類がある。
- Standard 汎用v2 ... Blob,Files,Table,Queueが利用できる
- Premium ブロック BLOB ... Blob専用、バックアップデータやファイル格納に適している
- Premium ファイル共有 ... ファイル共有専用、NFSをサポート
- Premium ページBLOB ... 仮想マシンのディスク保持に使用
ストレージアカウントの冗長オプション
ストレージアカウントは最低、3つのレプリカを自動保持する仕組みになっている。 冗長オプションは以下の6種類から選択する。
- ローカル冗長ストレージ(LRS)
- リージョン内の1つのデータセンターに3つのデータコピーを保持
- ゾーン冗長ストレージ(ZRS)
- データのコピーが1つのリージョンの3つのデータセンターに分散配置される
- ジオ冗長ストレージ(GRS)
- リージョンレベルの障害に備えることのできるオプション
- 主となるリージョンをプライマリ、サブのリージョンをセカンダリとしてそれぞれ3つ、計6つ保持する
- ジオゾーン冗長ストレージ(GZRS)
- プライマリリージョンがZRS、セカンダリリージョンがLRSとなる構成
- 読み取り専用アクセスジオ冗長ストレージ(RA-GRS)
- フェールオーバーにより読み取り専用が切り替わる
- 読み取りアクセスジオゾーン冗長ストレージ(GA-GZRS)
冗長オプションの冗長性は以下順で高くなる
- LRS
- ZRS
- GRS
- GZRS
- RA-GRS
- RA-GZRS
1.5.2. BLOBコンテナ
Azure Blobの利用にはストレージアカウントでコンテナを作成する必要がある。
Blobのアクセス層
Standard 汎用v2のAzure Blobではアクセス層が3種類あり、アクセス層によりアクセスk壮図とストレージコストが異なる。
アクセス層 | アクセスコスト | ストレージコスト |
---|---|---|
ホット層 | 最安 | 最高 |
クール層 | ホットより高い、アーカイブより安い | ホットより安い、アーカイブより高い |
コールド層 | クールより高い、アーカイブより安い | クールより安い、アーカイブより高い |
アーカイブ層 | 最も高い | 最も安い |
- アクセス層は頻繁に読み書きが行われるデータに最適化
- クール層は30日以上保存されるデータに最適化
- コールド層は90日以上保存されるデータに最適化
- アーカイブ層は180日以上保存されるデータに最適化
なお所定日未満でデータを削除するとペナルティが発生する。
Blobのライフサイクル管理ポリシ
ストレージアカウントにはライフサイクル管理ポリシという機能を設定できる。 この機能を使用するとアクセス層の変更/データ削除等を行える。
1.5.3. Azure Files(ファイル共有)
ファイル共有の作成にはストレージアカウントのファイル共有で行う。
作成したファイル共有はネットワークドライブ割り当てを行うことができる。
1.5.4. サービスエンドポイント
ストレージアカウントは「アクセスキー」などの接続に必要な情報を知っていればだれでもアクセスできる。 しかしながら、Azureの特定仮想ネットワークからのみアクセスさせたい場合などがある。
こうした場合にサービスエンドポイントを使用すると仮想ネットワークにあるリソースからストレージアカウントへの通信を許可することができる。 こうして構成されたストレージアカウントは外部や他ネットワークからのアクセスは禁止できる。
1.6. ストレージ管理に使用できるツール
ストレージアカウントの操作は以下の3つのツールが使用できる。
- Azure Storage Explorer
- AzCopy
- Azure File Sync
1.6.1. Azure Storage Explorer
ストレージアカウントをGUIで操作できるアプリケーション。 Windows,Linux,MacOSで使用できる。
認証にはAzure AD(Entra ID)認証やSAS URL等でアクセスできる。
1.6.2. AzCopy
AzCopyはストレージアカウントにデータをコピーするためにCLIツール。 ストレージアカウント間、オンプレミス、他クラウドサービスからデータコピーを行える。
ストレージアカウントにファイルをコピーするには初めにazcopy login
を行う必要がある。
1.6.3. Azure File Sync
Azure File SyncはオンプレミスのWindowsファイルサーバ上の共有フォルダを同期し、Azure Files上で組織のファイル共有を一元管理できるサービス。
このサービスの利用によりファイルデータをクラウド側に保存し、キャッシュデータをオンプレミスのサーバに保存できる。これにより高速にファイル共有のデータにアクセスできる。
ユーザがキャッシュを更新した際はAzure File Syncの同期機能でクラウド側に変更内容が同期される。 また、Azure File Syncはマルチサイトアクセスの構成ができる。
マルチサイトアクセス: 1つのファイル共有を複数のWindowsサーバと同期し、拠点にいるユーザで同じファイルを共有できる
1.7. オンプレミスからの移行
1.7.1. Azure Migrate
Azure Migrateはオンプレミスの仮想マシンをAzureに移行できるか判断し、移行をサポートするプラットフォームのこと。
移行対象は以下の通り。
- 仮想マシン
- データベース
- Webアプリケーション
- 仮想デスクトップ
1.7.2. Azure Data Box
Azure Data Boxはオンプレミス上の大量データを安全にAzureに移行するサービス。 Azure Data Boxでは物理的なハードディスクに大量のデータを保存して配送を行う。 そのためオフラインでのデータ移行が行える。
なお最大100TBのデータを転送できる。
1.8. Azure AD(Microsoft Entra ID)とセキュリティ
1.8.1. 認証と認可
- 認証 ... システム利用者がだれか確認するプロセス
- 認可 ... 認証ユーザに対し適切な権限を与えるプロセス
1.8.2. Azure Active Directory(Microsoft Entra ID)
Azure AD(Entra ID)はMicrosoftのセキュリティ基盤であり、クラウドアプリの認証を行う。 またMicrosoft 365などの認証も行う。
SSO(シングルサインオン)
シングルサインオンは一度の認証により複数のクラウドアプリにサインインなしで利用になる仕組みのこと。
Azure AD(Entra ID)による認証フロー
利用者がAzure portal等にアクセスすると認証を行うAzure ADにリダイレクトする。
- ユーザが認証に必要な情報を入力する
- Azure ADが認証の証(セキュリティトークン)をユーザに発行する
- セキュリティトークンを接続先アプリに提示する
- アクセスが許可
Azure AD(Entra ID)へのユーザ登録
Azure ADにはAzure portalの「新しいユーザ」からユーザ登録を行う。
必要項目は以下の通り。
- ユーザ名
- 名前
- 初期パスワード
- 役割(管理者権限)
- 役職
- 部署
1.8.3. Azure Directory Domain Services
Azure Directory Domain Services(AD DS)はオンプレミス環境の認証サービス。 AD DSはWindows Serverが提供するサービスであり、Windows ServerにはAD DSの機能を追加すると サーバはドメインコントローラになる。
ドメインコントローラはアカウント情報を登録するデータベースを持ち、データ追加でオンプレミスユーザを認証できる。
1.8.4. AzureADとAD DSの比較
Azure AD | AD DS | |
---|---|---|
用途 | クラウドの認証サービス | オンプレミスの認証サービス |
プロトコル | Open_ID_Connect, Oauth2.0, SAML | Keroberos認証 |
なお、Azure AD Connectというサービスの利用でAD-DSのユーザをAzure ADに同期させることができる。
1.8.5. Azure Active Directory Domain Services (Microsoft Entra Domain Service)
Azure AD DSはAzureにAD DSを構築できるサービスのこと。 Azure AD DSの作成ではオンプレミスから移行したアプリを引き続き利用できるようになる。
1.8.6. Azure AD(ENtra ID)のライセンスと機能
Azure ADには以下の4つのライセンスがある。
- Azure AD Free(Entra ID Free)
- Microsoft 365アプリ
- Azure AD Premium P1
- Azure AD premium P2
多要素認証(MFA)
MFAはパスワードなど知っているものと持っているもの、ユーザ自身の3要素から2要素を組み合わせた認証を行う手法のこと。
Azure AD条件付きアクセス(Entra ID 条件付きアクセス)
条件付きアクセスは認証完了後の正当ユーザに対しアプリケーションへのアクセスを細かく制御できる機能のこと。 使用例は以下の通り。
- Azure AD管理者権限を持つユーザがAzure Portal等にアクセスする際に多要素認証を要求
- 特定アプリに対し、社外からアクセスをブロック
- 特定アプリに対し、会社セキュリティ要件を満たすデバイスからのみアクセスを許可する
制御のためには条件付きアクセスポリシーを作成し行う。 組み合わせる要素は以下の通り。
- 人
- 場所
- アプリ
- デバイス
- 許可/拒否
Azure AD Identity Protection(Entra ID Identity Protection)
Identity Protection はAzureにおいて利用するIDを利用したアクセスの際に、セキュリティを高めるサービスのこと。 Identity Protectionを利用することで条件付きのアクセスを設定することができる。
それによって、ユーザーが匿名IPアドレスを使用してインターネットからアクセスする際に、パスワードの変更を要求するといった設定が可能となる。 Identity Protection では次の 3 つの主要なタスクを実行できる。
- ID ベースのリスクの検出と修復を自動化する
- ポータルのデータを使用してリスクを調査できる
- 詳細な分析のために、サードパーティ製ユーティリティにリスク検出データをエクスポートする
1.8.7. Azureのアクセス管理
Azure AD(Entra ID)で作成されたユーザにロールを与えることでユーザに管理権限が割り当てられ、Azureリソースを管理することができるようになる。
ロール
ロールはAzureリソースに管理権限を与えるためのアクセス許可のコレクションのこと。 このロールベースによるアクセス制御はRBACと呼ばれる。
Azureのロール
Azureには様々な種類のロールがあるが代表的な3種類のロールを記載する。
- 所有者 ....リソースの作成/設定変更/削除など全操作が行える
- 共同作成者 .... 所有者と同じだがロール割り当てが行えない
- 閲覧者 ... 設定値の閲覧は可能。作成/削除はできない
また規定値を組み合わせてJSONで独自ロールを作成することも出来る。
ロールを割り当てる際の要素
ロールを割り当てるには以下の3要素を組み合わせて設定する。
- スコープ ... ロール割り当て範囲のこと
- 上位層に設定したロールは階層に継承される
- ロール ... ロールそのもののこと
- セキュリティプリンシパル ... ロールを設定するユーザやグループなどを指定するオブジェクト
ロールを割り当てる方法
ロールを割り当てるには「アクセス制御(IAM)」から行う。
1.8.8. Azureのセキュリティ
ゼロトラストモデル
ゼロトラストモデルは決して信頼せず常に検証するという考え方に基づいたセキュリティ実装の方針のこと。 以前は境界防衛と呼ばれるFWで区切りセキュリティを考える考え方が主流であった。
多層防衛
多層防衛は情報セキュリティ対策方針の1つで複数のレイヤごとにセキュリティ対策を施すという考え方のこと。 以下のような層でセキュリティを考える。
- 物理的セキュリティ
- 入室管理/パーティション
- IDとアクセス
- 複雑なパスワード/アクセス権設定
- 境界
- FW/DDoS保護
- ネットワーク
- ネットワークの暗号化/不正パケット検知
- コンピューティング
- OSのセキュリティパッチ/ウィルス対策/バックアップ
- アプリケーション
- アプリケーション制御/セキュリティパッチ
- データ
- データの暗号化
1.8.9. Microsoft Defender for Cloud
Microsoft Defender for Cloudはクラウドネイティブアプリケーション保護プラットフォームのこと。 様々なサイバー脅威や脆弱性からリソースを保護するのに役立つ。
具体的にはセキュリティログを収集し、機械学習により監視/評価が行われる。 CNAPPは以下の指標で成り立つ。
- クラウドセキュリティ態勢管理(CSPM)
- 問題の評価/検出/レポートの作成まで自動的に行う
- セキュリティ設定が正しいか判断する
- クラウドワークロード保護(CWP)
- 脆弱性チェック/アンチウィルス/振る舞い検知/IDS,IPSを組み合わせて保護する
Microsoft Defender for Cloudのプラン
Microsoft Defender for CloudのCSPMには2つのプランがある。
- Foundatinal CSPM (無料版)
- セキュリティに関する推奨事項の表示/セキュリティスコア/Microsoftクラウドベンチマークなどが提供される
- Defender CSPM (有償版)
- エージェントレスの脆弱性スキャン、攻撃パス分析、統合されたデータ対応セキュリティ態勢が提供される
またMicrosoft Defender for CloudのCWPには10つのプランがある。
Microsoft Defender for Cloudの機能
Microsoft Defenderの機能名は以下のようなものがある。
- セキュリティスコア
- Azureリソースの設定値をスコア化
- 推奨事項の提示
- セキュリティを高めるための推奨事項の表示
- 規制コンプライアンスダッシュボード
- ISO27001などのコンプライアンス要件を満たしているか確認
- セキュリティアラーム
- 攻撃を検知して管理者に通知する機能
- Just in Time VMアクセス
- RDPやSSHは普段拒否しておき、必要なときのみ許可する仕組み
1.8.10 Azure DDoS Protection
Azure DDoS ProtectionはDDoS攻撃からアプリケーションとリソースを保護する機能のこと。 通常時のトラフィック量に合わせて自動的に調整されるプロファイルを使用して、DDoS攻撃を特定して監視する。
Azure DDoS Protectionのプラン
Azure DDoS Protectionには以下のプランがある。
- ネットワーク保護プラン ... 仮想ネットワーク (VNet) レベルで有効
- IP保護プラン
1.7. Azureのガバナンス管理と監視ツール
1.7.1. Azureのガバナンス/コンプライアンスツール
Azure Policy
Azure PolicyはAzure環境に様々なルールを適用できる仕組み。 会社のルールに合わせた運用を行うことができる。
例えば以下のようなことが可能
- 作成できる仮想マシンのサイズ制限
- 仮想マシンなどの特定リソースの作成拒否
- 使用できるリージョン制限
ポリシ定義/イニシアチブ定義
- ポリシ定義
- 個々のポリシのこと
- イニシアチブ定義
- ポリシ定義がグループ化された集合体のこと
ポリシ適用範囲
ポリシ定義やイニシアチブ定義は管理グループ/サブスクリプション/リソースグループ、特定のリソースに割り当て使用できる。 なお上位の階層に割り当てると下位の改装に継承される。
Azure Policyの操作
Azure Policyの操作にはポータルメニューから「ポリシ」を選択する。
1.7.2. リソースロック
リソースロックは他の管理者による重要なリソース削除や変更を防ぐ機能のこと。 これにより他人のミスなどによる意図しない削除や変更が行われることを阻止できる。
リソースロックの種類
- 削除ロック ... 削除操作を禁止するロック
- 読み取り専用ロック ... リソースの読み取り操作しかできないもの
1.7.3. Azure BluePrints
Azure BluePrintsはサブスクリプション単位でARMテンプレート、Azure Policy,RBAC, リソースグループを構成できるもの。 なお料金は発生しない。
この機能はサブスクリプション単位で本番/検証を分けている場合などに素早くコンプライアンスに従った環境を構築できる。
Azure BluePrintsで定義できること
- リソースグループ
- ARMテンプレート
- ロール割り当て
- Azure Policyの割り当て
1.7.4. Service Trust Portalとトラストセンタ
Service Trust Portal
Service Trust PortalはMicrosoftが取得したIOSなどの国際規格の監査レポートなどを公開しているサイト。コンプライアンス要件に関して確認できる。 具体的には、Microsoft のセキュリティ、プライバシー、およびコンプライアンスに関するレポートなどのコンテンツやツールなどのリソースを提供されている。
また、Service Trust Portal内のテストとセキュリティ評価項目では、独立したサードパーティによるペネトレーションテスト(侵入テスト)の結果を見ることができる。
トラストセンタ
トラストセンタはMicrosoftのクラウドサービスにおけるセキュリティ/コンプライアンス/プライバシーに関sヌル要塞情報を公開しているサイト。
1.8. Azureの監視
1.8.1. Azure Advisor
Azure AdvisorはAzureのベストプラクティスに従いリソースの構築/運用に関するアドバイスを行うサービス。 具体的にはAzure リソースに関して、費用対効果、パフォーマンス、信頼性、およびセキュリティを向上させるための推奨事項を提示する。
Azure Advisorが提供する推奨事項は以下のカテゴリーに分類される。
- コスト
- セキュリティ
- 信頼性(高可用性)
- パフォーマンス
- オペレーショナルエクセレンス
1.8.2. Azure Service Health(サービス正常性)
Azure Service HealthはAzureリージョンのサービスごとの障害情報やメンテナンスの予定などを公開するサービス。
3つのサービスで構成される。
- Azureの状態
- Service Health
- Resource Health
1.8.3. Azure Monitor
Azure Monitorは監視サービスでAzureリソース/オンプレサーバから情報収集する。
Azure monitorは収集したデータをメトリック、ログの形でストアする。
- メトリック ... リソースのパフォーマンスに関する数値データ
- ログ ... システム内で発生したイベントのテキストデータ
- アクティビティログ ... 管理操作ログ
- リソースログ ... リソース固有情報ログ
Log Analytics
Azure Monitorが収集したログやメトリックデータを分析するサービス。
Azure Monitorアラート
Azureリソースで問題が発生した際に管理者に通知を送信したり、問題に対応するためのアクションを実行したりすることができる機能。
アラートの作成にはアラートルールを作成する必要がある。
Application Insights
Webアプリケーションを監視できるサービス。 取得できる情報は以下の通り。
- アプリケーションの要求数/応答時間
- アプリケーションで発生したエラーの回数と詳細
- アプリケーションが連携している外部サービスの呼び出し時間
- CPU/メモリ/ネットワークの使用率