Microsoft Certified: Azure Fundamentals(AZ-900)で求められる知識を整理する


以下の資格を取得しました。

[AZ-900: Microsoft Azure Fundamentals](https://docs.microsoft.com/ja-jp/learn/certifications/exams/az-900)

下記で報告したAI系の2資格についで3つ目の取得になります。

[Azure AI系サービスの概要を学ぶ(Azure Cognitive Services, Azure Machine Learningなど)](https://qiita.com/nvtomo1029/items/e28ede62964a98e39430)

公開の順序が逆になりましたが...下記の資格を4つ目として取得済です。

[Microsoft Certified: Azure Data Fundamentals(DP-900)で求められる知識を整理する](https://qiita.com/nvtomo1029/items/baf7d8e8ac05fe932768)

本記事は、資格取得の過程で得た自身の知識の整理、定着化を狙って作成したものです。
今後、Azureを利用される方、資格取得を目指している方のお役に立てれば幸いです。

なお、章立てはAZ-900: Microsoft Azure Fundamentals試験スキルのアウトライン(2020/11/9更新版)に沿っていますが、一部割愛している箇所がございます。
ご了承ください。

# ■1.Azure の主要概念

## 概要

- 1.クラウドサービスを使用する利点と考慮事項を特定する
- 2.クラウドサービスのカテゴリ間の違いを説明する
- 3.クラウドコンピューティングの種類の違いを説明する

## ■1-1.クラウドサービスを使用する利点と考慮事項を特定する

### クラウドサービスのメリットを特定する

- **高可用性:** サービス提供が出来なくなる事態の発生頻度が少ないこと
    - 問題が発生した場合でも、クラウドベースのアプリであれば、明らかなダウンタイムを発生させることなくユーザーエクスペリエンスを継続的に提供できる(ただし、選択するサービスレベルアグリーメント(SLA)による)
- **動的なスケーラビリティ、拡張性:** クラウド内のリソースを必要に応じて拡張できる性質のこと
    - ニーズに応じてリソースを拡張/縮小できること
    - オンデマンドでリソースを利用できること
    - クラウド内のアプリは、"垂直方向" と "水平方向" にスケーリングできる。
        - 垂直方向のスケーリングは、仮想マシンに RAM または CPU を追加することで、コンピューティング容量を増やす。
        - 水平方向のスケーリングは、構成に VM を追加するなど、リソースのインスタンスを追加することで、コンピューティング容量を増やす。
- **柔軟性、弾力性:** クラウド内のリソースを、アプリケーションを止めることなく動的に拡張/縮小できる性質のこと
    - クラウドベースのアプリは、自動スケーリングを利用するように構成できるため、アプリで必要なリソースを常に確保することができる。
    - リソースの割り当て量を柔軟に変更できること
    - 他リージョンにDR(Disaster Recovery)構成を維持できること
- **機敏性(アジリティ):** アプリケーション要件の変更に応じて迅速にデプロイおよびリソース構成できる性質のこと
    - クラウドがオンデマンドでいつでも利用可能なことから、市場の変化に迅速に対応して、サービスを提供することができる特徴のこと 
    - クラウドベースのリソースは、アプリ要件の変更に応じて迅速にデプロイおよび構成できる
- **信頼性**
    - 問題が発生した場合でも明らかなダウンタイムを発生させることなくユーザー エクスペリエンスを継続的に提供する性質のこと
    - 自然災害または人為的災害後の重要なテクノロジーインフラストラクチャおよびシステムのリカバリまたは継続を可能にする(**ディザスターリカバリー:** 自然災害または人為的災害後の重要な技術インフラ、システム復旧、あるいは被害を最小限に抑えるための予防措置のこと)
- **回復性**
    - 障害が発生してもサービスが継続できること
    - **フォールトトレランス:** システムや機器の一部が故障・停止しても、予備の系統に切り替えるなどして機能を保ち、正常に稼働させ続ける仕組み

### 設備投資(CapEx)と運用支出(OpEx)の違いを特定する

- **設備投資(CapEx)**
    - 資本的支出とも呼ばれる
    - 物理インフラストラクチャに費やす初期費用であり、この初期費用は長期にわたって控除される。 
    - CapEx による先行投資の価値は、時間の経過と共に減少する
- **運用支出(OpEx)**
    - 運用費とも呼ばれる
    - サービスや製品の使用に費やしている費用である
    - この費用は、支出したその年に控除できる
    - サービスや製品を使用したときに料金を支払うため、初期費用はかからない

- Azureのようなクラウドサービスは、設備投資(CapEx)と運用支出(OpEx)の間の柔軟性を提供する
- それにより、データセンターのような設備コストである設備投資(CapEx)を運用コストである運用支出(OpEx)へと変換することが可能となる。 
- Azureサービスに対しての費用は、設備投資(CapEx)としても運用支出(OpEx)としても柔軟に選択することが可能である
    - 従量課金制のサブスクリプションは運用支出(OpEx)となり
    - [エンタープライズアグリーメント(EA)サブスクリプション](https://www.microsoft.com/ja-jp/licensing/licensing-programs/enterprise?activetab=enterprise-tab%3aprimaryr2)と[Azureリザーブドインスタンス](https://azure.microsoft.com/ja-jp/pricing/reserved-vm-instances/)は設備投資(CapEx)となる

### クラウド コンピューティングは、従量課金ベースの価格モデルである

- 顧客に対するサービス提供期間ではなく、サービスの使用量に基づいて課金する価格モデルのことを言う
- 従量課金ベースの価格モデルの利点
    - 初期費用は不要
    - すべての機能をユーザーが使用するかどうかわからないコストの高いインフラストラクチャを購入したり、管理したりする必要はない
    - 追加のリソースについては、必要になった場合にのみ支払うことができる
    - 必要なくなったリソースについては、支払いをやめることができる

## ■1-2.クラウドサービスのカテゴリ間の違いを説明する

### IaaS、PaaS、SaaSについて説明する

- IaaS：サービスとしてのインフラストラクチャ
    - このクラウドサービスモデルは、物理サーバーの管理に最も近いものである。
    - クラウドプロバイダーはハードウェアを最新の状態に保つが、オペレーティングシステムのメンテナンスとネットワーク構成はクラウドテナントに委ねられる。
    - 代表例：Azure Virtual Machines 
- PaaS：サービスとしてのプラットフォーム
    - このクラウドサービスモデルは、マネージドホスティング環境である。
    - クラウドプロバイダーが仮想マシンとネットワークリソースを管理し、クラウドのテナントはマネージドホスティング環境にアプリケーションをデプロイする。
    - アプリケーションソフトが稼動するためのハードウェアやOSなどのプラットフォーム一式をサービスとして提供するクラウド形式である。
    - ユーザーは基盤となるインフラストラクチャ（通常はハードウェアとオペレーティングシステム）を管理する必要がなくなり、アプリケーションの展開と管理に集中できる。
    - これにより、リソースの調達、キャパシティプランニング、ソフトウェアメンテナンス、パッチの適用、またはアプリケーションの実行に関連する作業を心配する必要がなくなるため、より効率的になる。
    - 代表例：Azure App Services
- SaaS：サービスとしてのソフトウェア
    - このクラウドサービス モデルを使用すると、アプリケーション環境のあらゆる側面 (仮想マシン、ネットワーク リソース、データ ストレージ、アプリケーションなど) は、クラウドプロバイダーによって管理される。 
    - クラウドのテナントは、クラウドプロバイダーによって管理されるアプリケーションにデータを提供するだけで済む。
    - 必要な機能やサービスを必要な分だけサービスとして利用できるようにしたクラウド形式のソフトウェアのことである。
    - インターネット経由で利用できるソフトウェアを示すこともある。
    - 代表例：Microsoft Office 365

### 責任分担モデルについて説明する

![shared-responsibility-76efbc1e.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/70897/7e8aa377-3383-81aa-29db-167af5a5b4c2.png)
[出典元](https://docs.microsoft.com/ja-jp/learn/azure-fundamentals/fundamental-azure-concepts/media/shared-responsibility-76efbc1e.png)

## ■1-3.クラウドコンピューティングの種類の違いを説明する

### クラウドコンピューティングを定義する

- クラウド コンピューティングには、"パブリック クラウド"、"プライベート クラウド"、"ハイブリッド クラウド" の 3 つのデプロイ モデルがある。
- デプロイ モデルごとに、クラウドに移行するときに考慮する必要がある側面が異なる。

### パブリッククラウドについて説明する

- サービスはパブリック インターネット経由で提供され、サービスの購入希望者はだれでもサービスを利用できる。 
- サーバーやストレージなどのクラウド リソースは、サードパーティのクラウド サービスプロバイダーによって所有および運用され、インターネット経由で提供される。
- スケールアップのための設備投資が不要。
- アプリケーションをすばやくプロビジョニング/プロビジョニング解除できる。
- 組織が支払うのは使用した分に対してのみ。

### プライベートクラウドについて説明する

- 1 つの企業または組織に属する特定のユーザー専用のコンピューティング リソースで構成される。
- 組織のオンサイト (オンプレミス) のデータセンターに物理的に配置することも、サードパーティのサービス プロバイダーがホストすることもできる。
- スタートアップとメンテナンスのためのハードウェアを購入する必要がある。
- 組織がリソースとセキュリティを完全に制御する。
- 組織がハードウェアのメンテナンスと更新の責任を負う。

### ハイブリッドクラウドについて説明する

- パブリッククラウドとプライベートクラウドまたはオンプレミス環境を組み合わせ、それらのクラウド間でデータとアプリケーションを共有できるようにしたコンピューティング環境である。
    - パブリッククラウド + プライベートクラウド
    - パブリッククラウド + オンプレミス環境
    - パブリッククラウド(Azure) + パブリッククラウド(AWS)
    - などが組み合わせとして考えられる
- 最も柔軟性が高い。
- アプリケーションの実行場所は組織が決める。
- 組織がセキュリティ、コンプライアンス、法的要件を制御。
- **ハイブリッドクラウド利用やパブリッククラウドへのアクセスについて**
    - 企業はパブリッククラウドを使用して内部ネットワークの容量を拡張することができる。
    - 企業が追加のリソースを必要とする場合にパブリッククラウドのネットワーク内部にリソースを展開することができるため、それによって内部ネットワークを拡張できる。


# ■2.Azure の主要サービス

## 概要

- 1.コアAzureアーキテクチャコンポーネントについて説明する
- 2.Azureで利用可能なコアリソースについて説明する

## ■2-1.コアAzureアーキテクチャコンポーネントについて説明する

### リージョンとリージョンペアの利点と使用法を説明する

- Azureは世界各地にあるデータセンターで構成されている。
- サービスを使用したり、SQL データベースや仮想マシンなどのリソースを作成したりする場合、これらの 1 つ以上の場所に配置されている物理的な機器を使用している。
- これらの具体的なデータセンターは、ユーザーに直接公開されない。
- 代わりに、Azureによりそれらはリージョンに編成される。 

#### Azure リージョン

- "リージョン" とは、少なくとも 1つのデータセンターを含む地球上の地理的領域である。
- Azure リージョンは、待機時間で定義された境界内でデプロイされ、低遅延の専用リージョン ネットワークを使用して接続された一連のデータセンターである。
- Azureにおいて地理的に隣接している高速なネットワークで接続された一連のデータセンターのグループをリージョンと呼ぶ。
- 各リージョンは地理的に離れた場所に設置されている。
- **リージョンは少なくとも３つ以上のAvailability Zones(後述)によって構成されている。**
- 全てのリージョンには複数のデータセンターがある。
- リージョン間は専用線ではなく、ネットワークを経由して接続されている。
- 特定のリージョンでのみ利用できるAzureサービスが存在しており、全てのリージョンで全く同じサービスを利用できるわけではない。
- リージョン内及び、リージョン間のトラフィック
    - **同じリージョン内でのデータ転送(トラフィック)は無料である。**
    - リージョン間のトラフィックやゾーン間のトラフィックでは、追加コストが発生する。
    - 異なるリージョンのリソースにデータを転送するとAzureはユーザーにアウトバウンドデータ転送の料金を請求することになる。
    - **アウトバウンド転送は課金されるが、インバウンド転送は無料となる。**
- 各 Azure リージョンは、同じ地域内 (米国、ヨーロッパ、アジアなど) の少なくとも 300 マイル離れている別のリージョンと組み合わされており、これを**リージョンのペア** と呼ぶ。
    - こうすることで、地域を超えてリソース (仮想マシンのストレージなど) をレプリケートして、両方のリージョンに同時に影響を与える自然災害、暴動、停電、または物理ネットワークの停止などのために中断が発生するおそれを低減することができる。
    - 例えば、あるペアのリージョンが自然災害の影響を受けた場合、サービスはそのリージョン ペア内の他のリージョンに自動的にフェールオーバーされる。
- **Azure Global**
    - 誰でも利用可能なリージョンであり、一般的なユーザーはこれを利用する。
- **Azure Government**
    - 米国の政府機関やパートナー用にネットワークを物理的および論理的に分離した Azure インスタンスである。
    - 米国連邦政府、州政府、地方自治体、部族政府、およびそのパートナーのみが、選別された米国市民によって管理されるこの専用インスタンスと操作にアクセスできる。
- 中国
    - Microsoft と 21Vianet 間の特異なパートナーシップを通じて利用できる。
    - このパートナーシップにより、Microsoft はこれらのデータ センターを直接管理しない。

### Availability Zones(可用性ゾーン)の利点と使用法を説明する

- Availability Zones(可用性ゾーン)とは、Azure リージョン内の物理的に分離されたデータセンターのことである。
- それぞれの可用性ゾーンは、独立した電源、冷却手段、ネットワークを備えた 1 つまたは複数のデータセンターで構成されている。
    - Azure データセンターは、ネットワークに接続されたコンピューター サーバーのグループを収容する、世界中に存在する一意の物理的な建物である。
- 可用性ゾーンは、"分離境界" として設定され、1つのゾーンがダウンした場合、他が動作を継続する。
- 可用性ゾーンは、高速のプライベート光ファイバーネットワークを介して接続される。
- 可用性ゾーンは、1つ以上のデータセンターを使用して作成される。
- 1つのリージョンには、少なくとも 3つの可用性ゾーンがある。
- 可用性ゾーンはリージョン内で物理的に分離されているため、施設レベルで問題が発生した場合でもアプリとデータを保護できる。
- ゾーン冗長サービスによって Azure Availability Zones 全体にアプリとデータがレプリケートされるため、単一障害点から保護される。

### リソースグループの利点と使用法を説明する

リソースグループは、Azureソリューションの関連するリソースを保持する論理コンテナーである。

- リソースグループは、Azureリソースの管理と整理に役立てるために存在している。
- リソースはすべてリソース グループに属する必要がある。
- リソースをプロビジョニング(作成)するには、先にそのリソースを置くリソース グループを用意する必要がある。
- **1つのリソースは、1つのリソース グループにのみ属することができる。**
- リソースグループを入れ子にすることはできない。
- リソース グループを削除すると、その中に含まれているリソースもすべて削除される。 
- 別のリソースグループ内のリソースへのアクセスを制限されていない。
- リソースグループには複数のAzureリージョンのリソースを含めることができる。
- リソースグループは、ロールベースのアクセス制御(RBAC)のアクセス許可を適用するための範囲でもある。
    - RBAC アクセス許可をリソース グループに適用することで、管理が簡素化され、アクセス許可を必要なものだけに制限できる。

### サブスクリプションの利点と使用法を説明する

- Azureの使用には、Azure のサブスクリプションが必要である。
- サブスクリプションにより、Azureの製品とサービスへのアクセスが認証および承認され、リソースをプロビジョニングすることができる。
- Azureサブスクリプションは、Azureアカウントにリンクされている Azure サービスの論理ユニットであり、Azure Active Directory (Azure AD) 内または Azure ADによって信頼されるディレクトリ内の ID である。
- 使用できるサブスクリプションの境界には、次の2種類がある。
    - 課金の境界
    - アクセス制御の境界
- 1つのアカウントに、1つのサブスクリプション、または課金モデルが異なり、異なるアクセス管理ポリシーが適用される複数のサブスクリプションを設定することができる。

### 管理グループの利点と使用法を説明する

- Azureサブスクリプションをグループ化して管理することができる。
- 組織に合わせてカスタマイズした Azure 管理グループの階層を作成して、サブスクリプションとリソースを効率的に管理できる。
- 複数のサブスクリプションのアクセス、ポリシー コンプライアンスを管理するのに役立つ。
- 管理グループ内のすべてのサブスクリプションは、管理グループに適用された条件を自動的に継承する。

![tree.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/70897/13cc3e61-f714-b4d6-e705-5b82371d62a2.png)
[出典元](https://docs.microsoft.com/ja-jp/azure/governance/management-groups/media/tree.png)

### Azure Resource Managerの利点と使用法を説明する

- Azure Resource Manager は、Azureのデプロイおよび管理サービスである。
- Azureアカウント内のリソースを作成、更新、および削除できる管理レイヤーを提供する。
- デプロイ後にリソースを保護および整理するために、アクセス制御、ロック、タグなどの管理機能を使用する。

#### Azure Resource Managerを使用することで行えること

- スクリプトではなく宣言型のテンプレートを使用してインフラストラクチャを管理する。
- このテンプレートは、**Azure Resource Manager テンプレート (ARM テンプレート)** と呼ばれ、Azureにデプロイするものを定義するJSONファイルである。
- ソリューションのリソースを個別に処理するのではなく、すべてのリソースをグループとしてデプロイ、管理、監視できる。
- ソリューションを開発のライフ サイクル全体で再デプロイし、リソースは、必ず一貫した状態でデプロイされる。
- 正しい順序でデプロイされるように、リソース間の依存関係を定義する。
- タグをリソースに適用し、サブスクリプションのすべてのリソースを論理的に整理する。
- 同じタグを共有するリソース グループのコストを表示することで、組織の課金を明確にできる。

### Azureリソースについて説明する

- Azureでのリソースとは、Azureが管理するエンティティである。
- 例えば、仮想マシン、仮想ネットワーク、およびストレージアカウントはすべて、Azureリソースと呼ばれる。
- Azureの各リソースは、1つのリソースグループに属している必要がある。

## ■2-2.Azureで利用可能なコアリソースについて説明する

### 仮想マシン、Azure App Services、Azureコンテナインスタンス（ACI）、Azure Kubernetes Service（AKS）、およびWindows Virtual Desktopの利点と使用法について説明する

#### ▼Azure Virtual Machines

- Azure Virtual Machinesを使用すると、クラウドでVMを作成して使用できる。 
- Virtual Machinesによってサービスとしてのインフラストラクチャ(IaaS)が提供され、さまざまな方法で使用できる。 
- オペレーティングシステムと環境を完全に制御する必要がある場合は、VMが理想的な選択肢となる。 
- 物理コンピューターと同じように、VMで実行されているすべてのソフトウェアをカスタマイズすることができる。 
- この機能は、カスタムソフトウェアまたはカスタムホスト構成を実行するときに役立つ。
- Azure仮想マシンは利用時間に応じて分単位で料金がかかる。
- 仮想マシンのSLA
    - すべての仮想マシンに、同じAzureリージョン内の2つ以上の可用性ゾーンにまたがりデプロイした2つ以上のインスタンスがある場合、マイクロソフトは、99.99% 以上の時間において少なくとも1つのインスタンスに対する仮想マシン接続が確保されることを保証する。
    - すべての仮想マシンに、同じ可用性セットまたは同じ専用ホスト グループにデプロイした2つ以上のインスタンスがある場合、マイクロソフトは、99.95% 以上の時間において少なくとも1つのインスタンスに対する仮想マシン接続が確保されることを保証する。

##### Azure Virtual Machine Scale Sets(仮想マシンスケールセット)

- Azure Virtual Machine Scale Setsでは、負荷分散が行われるVMのグループを作成して管理することができる。
- 需要または定義されたスケジュールに応じて、VMインスタンスの数を自動的に増減させることができる。
- スケールセットは、アプリケーションの高可用性を実現する。
- また、多数のVMの一元的な管理、構成、更新を可能にする。
- 仮想マシンスケールセットを使用すると、コンピューティング、ビッグデータ、コンテナーワークロードなどの分野で大規模なサービスを構築できる。
- 仮想マシンスケールセットは、同じVMのセットをデプロイして管理するために使用できるAzureコンピューティングリソースである。
- スケールセットを利用することで、大量のVMを数分で一元的に管理、構成、更新し、アプリケーションの可用性を高めることができる。
- Azure Virtual Machine Scale Setsは、多数のVMで実行されるアプリケーションの管理機能、リソースの自動スケーリング、トラフィックの負荷分散を備えている。
- スケールセットには、次のような主な利点があります。
    - 複数のVMの作成と管理が容易である
        - スケールセットでは、すべてのVMインスタンスが同一のベースOSイメージと構成から作成される。
        - スケールセットでは、基本のレイヤー4トラフィック分散を実現する Azure Load Balancerと、より高度なレイヤー7トラフィック分散とTLSを実現するAzure Application Gatewayがサポートされている。
    - 高可用性とアプリケーションの回復性を実現する
        - 可用性を高めるために、Availability Zonesを使用できる。
        - 単一のデータセンター内または複数のデータセンターで、スケール セットのVMインスタンスを自動的に分散する。
    - リソースの需要の変化に応じた、アプリケーションの自動スケーリングを可能にする
    - 大規模に動作する
        - スケールセットでは、最大1,000 個のVMインスタンスがサポートされる。 
        - 独自のカスタムVMイメージを作成してアップロードする場合、上限は600個のVMインスタンスになる。

##### Azure 仮想マシン (VM) の可用性機能

- 可用性セットはVMの論理グループで、これによってAzureは、冗長性と可用性を提供するためにアプリケーションが構築された方法を理解することができる。
- 高可用性アプリケーションを提供し、99.95%のSLAに適合するために、1つの可用性セット内に2つ以上のVMを作成することが推奨される。
- 可用性セット自体にはコストはかからない。
- 料金は、作成した各VMインスタンスに対してのみ発生する。
- 基盤となるAzureプラットフォームにより、可用性セット内の各仮想マシンに更新ドメインと障害ドメインが割り当てられる。
- 各可用性セットは、最大3つの障害ドメインと20個の更新ドメインで構成できる。
    - 障害ドメインは共通の電源やネットワーク機器などを共有している障害分け用の範囲である。
    - 更新ドメインはAzureのメンテナンスリブートの際に影響される更新用の範囲である。

##### Azure Backup

- Azure Backupは、データをバックアップし、それを Microsoft Azureクラウドから回復するために、自動でバックアップを取ってくれるサービスである。
- Azureのクラウド上の仮想マシンや仮想マシン上で動作するSQL Serverデータベース、Azure Files、オンプレミスの仮想マシンのバックアップすることができる。

#### ▼Azure App Service

- Azure App Serviceを使用すると、任意のプラットフォームで実行されるエンタープライズ レベルのWebアプリ、モバイルアプリ、APIアプリを、すばやくビルド、デプロイ、スケーリングできる。
- パフォーマンス、拡張性、セキュリティ、コンプライアンスにおける厳しい要件を満たしながら、完全管理型プラットフォームを使用し、インフラストラクチャを保守管理できる。
- App Serviceは、サービスとしてのプラットフォーム(PaaS)オファリングである。



### 仮想ネットワーク、VPNゲートウェイ、仮想ネットワークピアリング、およびExpressRouteの利点と使用法について説明する

#### Azure Virtual Network

Azure仮想ネットワークを使用すると、VM、Webアプリ、データベースなどの Azureリソースの相互通信、インターネット上のユーザーとの通信、オンプレミスのクライアントコンピューターとの通信が可能になる。
Azureネットワークは、他のAzureリソースとリンクするリソースのセットと見なすことができる。

- 分離とセグメント化
    - Virtual Networkでは、分離された仮想ネットワークを複数作成できる。 
    - 仮想ネットワークを設定するときに、パブリックまたはプライベートのIP アドレス範囲のいずれかを使用して、プライベートIPアドレス空間を定義する。 
    - そのIPアドレス空間をサブネットに分割し、定義したアドレス空間の一部をそれぞれの名前付きサブネットに割り当てることができる。
- インターネット通信
    - Azure内のVMは、既定でインターネットに接続できる。
    - パブリックIPアドレスまたはパブリックロードバランサーを定義することで、インターネットからの受信接続を有効にできる。
    - VM管理には、Azure CLI、リモートデスクトッププロトコル、または Secure Shell経由で接続できる。
- Azureリソース間の通信
    - 仮想ネットワークでは、VMだけではなく、App Service Environment for Power Apps、Azure Kubernetes Service、Azure仮想マシンスケール セットなどの他のAzureリソースにも接続できる。
    - サービスエンドポイントを使用して、Azure SQLデータベースやストレージ アカウントなど、他のAzureリソースの種類に接続することができる。
        - この方法を使用すると、複数のAzureリソースを仮想ネットワークにリンクすることができ、セキュリティの向上とリソース間の最適なルーティングを実現できる。
- オンプレミスリソースとの通信
    - ポイント対サイト仮想プライベート ネットワーク
        - クライアントコンピューターから、暗号化されたVPN接続が開始され、そのコンピューターがAzure仮想ネットワークに接続される。
    - サイト間仮想プライベートネットワーク
        - オンプレミスのVPNデバイスまたはゲートウェイが、仮想ネットワーク内でAzure VPNゲートウェイにリンクされる。
        - 接続は暗号化され、インターネット経由で動作する。
    - Azure ExpressRoute
        - より広い帯域幅とさらに高いレベルのセキュリティが必要な環境に対して最適な方法である。
        - インターネットを経由しないAzureへの専用プライベート接続が用意される。
- ネットワークトラフィックのルーティング
    - ルートテーブルでは、トラフィックが送信される方向に関する規則を定義できる。
        - サブネット間でパケットがルーティングされる方法を制御する、カスタムルートテーブルを作成できる。
    - Border Gateway Protocol(BGP)は、Azure VPNゲートウェイまたは ExpressRouteと共に動作して、オンプレミスのBGPルートをAzure仮想ネットワークに反映させる。
- ネットワークトラフィックのフィルター処理
    - ネットワークセキュリティグループは、受信と送信に関するセキュリティ規則を複数含めることができるAzureリソースである。
        - 送信元と送信先のIPアドレス、ポート、プロトコルなどの要素に基づいて、トラフィックを許可またはブロックする各規則を定義できる。
    - ネットワーク仮想アプライアンスは、堅牢化されたネットワークアプライアンスに対応する特殊なVMである。
        - ネットワーク仮想アプライアンスにより、ファイアウォールの実行やワイドエリアネットワーク(WAN)の最適化の実行などの特定のネットワーク機能が実行される。
- 仮想ネットワークの接続
    - 仮想ネットワークの "ピアリング" を使用して、仮想ネットワーク同士をリンクできる。
    - ピアリングを使用すると、各仮想ネットワーク内のリソースを相互に通信させることができる。
    - これらの仮想ネットワークを異なるリージョンに配置し、Azureを通じてグローバルに相互接続されたネットワークを作成できる。

#### Azure VPN Gateway

- 仮想ネットワーク ゲートウェイの一種。
- Azure Virtual NetworkインスタンスにAzure VPN Gatewayインスタンスがデプロイされ、次の接続が可能になる。
    - オンプレミス データセンターを "サイト間" 接続を介して仮想ネットワークに接続する。
    - 個々のデバイスを "ポイント対サイト" 接続を介して仮想ネットワークに接続する。
    - 仮想ネットワークを "ネットワーク対ネットワーク" 接続を介して他の仮想ネットワークに接続する。
- 各仮想ネットワークにデプロイできるVPNゲートウェイは1つのみ。
- 1つのゲートウェイを使用して、他の仮想ネットワークやオンプレミスデータセンターなどの複数の場所に接続することができる。
- VPNゲートウェイをデプロイする場合は、VPNの種類として、"ポリシーベース" または"ルートベース" のいずれかを指定する。
    - ポリシーベースのVPNゲートウェイでは、各トンネル間で暗号化する必要があるパケットの IP アドレスを静的に指定する。
        - IKEv1のみのサポート。
        - "静的ルーティング" の使用。
    - 各トンネルの背後にあるIPアドレスを定義することが煩雑すぎる場合は、ルートベースのゲートウェイを使用できる。
        - IKEv2のサポート。
        - Any-to-Any(ワイルドカード)のトラフィックセレクターの使用。
        - "動的ルーティング プロトコル" を使用できる。
- これら2種類のVPNの主な違いは、暗号化するトラフィックを指定する方法である。
- Azureでは、どちらの種類のVPNゲートウェイでも、唯一の認証方法として事前共有キーが使用される。
- また、どちらの種類も、バージョン1またはバージョン2のインターネットキー交換とインターネットプロトコルセキュリティ(IPSec)に依存している。
- ローカルネットワークゲートウェイ
    - 仮想ネットワークのVPNデバイスのIPアドレスを指定するために使用されることができる。
    - これにより、VPNアプライアンスをAzure側で識別することが可能となる。 

#### Azure ExpressRoute

ExpressRouteを利用すると、接続プロバイダーが提供するプライベート接続を介して、オンプレミスのネットワークを Microsoftクラウドに拡張できる。 ExpressRouteでは、Microsoft Azure、Microsoft 365などのMicrosoftクラウドサービスへの接続を確立できる。

- 接続には、任意の環境間(IP VPN)接続、ポイントツーポイントのイーサネット接続、共有施設での接続プロバイダーによる仮想交差接続がある。 
- ExpressRoute接続はパブリックなインターネットを経由しない。
- これにより、ExpressRoute接続はインターネット経由の一般的な接続に比べて、安全性と信頼性が高く、待機時間も一定しており、高速である。
- Express Routeを使用してオンプレミスのデータセンターからAzureパブリッククラウドにデータを転送する場合、ユーザーはインバウンドデータ転送の料金を請求されることはない。

#### Azure Content Delivery Network(CDN)

- コンテンツ配信ネットワーク(CDN)は、ユーザーにWebコンテンツを効率的に配信できるサーバーの分散ネットワークである。
- Azure Content Delivery Network(CDN)を使用することで、読み込み時間の短縮、帯域幅の節約、応答性の向上が可能になる。
- Webサイトやモバイル アプリの開発と管理のほか、ストリーミングメディアやゲームのソフトウェア、ファームウェアの更新プログラム、IoTエンドポイントのエンコードと配信などを高速化することができる。
- CDNでは、待ち時間を最小限に抑えるために、エンドユーザーに近いポイントオブプレゼンス(POP)の場所のエッジサーバーに、キャッシュされたコンテンツを格納する。
- Azure Content Delivery Network(CDN)では、世界中に戦略的に配置された物理ノードにコンテンツをキャッシュすることによって、高帯域幅コンテンツをユーザーに高速配信するためのグローバルソリューションを開発者に提供する。
- さらに、Azure CDNでは、CDN POPを使って各種のネットワーク最適化を利用して、キャッシュできない動的なコンテンツも高速化できる。
- 例として、Border Gateway Protocol(BGP)をバイパスするルート最適化などがある。
- Azure CDNを使用するには、少なくとも1つの Azure サブスクリプションを所有する必要があり、少なくとも1つのCDNプロファイルを作成する必要がある。
- CDNプロファイルは、CDNエンドポイントをまとめたものである。

#### Azure の負荷分散サービス

**Front Door**

- Webアプリケーション向けのグローバル負荷分散およびサイト アクセラレーション サービスを提供するアプリケーション配信ネットワーク。
- SSLオフロード、パスベースのルーティング、高速フェールオーバー、キャッシュなどのレイヤー7機能をアプリケーションに提供して、アプリケーションのパフォーマンスと可用性を向上させる。

**Traffic Manager**

- 世界中のAzureリージョン間でサービスへのトラフィックを最適に配分しつつ、高可用性と応答性を実現するDNSベースのトラフィックロードバランサー。
- Traffic ManagerはDNSベースの負荷分散サービスであるため、負荷分散はドメインレベルでのみ行われる。
- そのため、DNS キャッシュに関連した、またDNS TTLを遵守しないシステムに関連した一般的な課題が理由で、Front Doorほど高速なフェールオーバーはできない。

**Application Gateway**

- アプリケーション配信コントローラー(ADC)をサービスとして提供することで、さまざまなレイヤー7負荷分散機能を利用できるようにする。
- これを使用して、CPUを集中的に使用するSSL終了をゲートウェイにオフロードし、Webファームの生産性を最適化できる。

**Azure Load Balancer**

- すべてのUDPとTCPプロトコル向けの高パフォーマンス、超低待機時間のレイヤー4負荷分散サービス(受信および送信)。
- これは、ソリューションの高可用性を保証しながら、1秒あたり数百万の要求を処理するように構築されている。
- Azure Load Balancerは、ゾーン冗長であるため、Availability Zones全体で高可用性を確保する。
- ロードバランサーの正常性プローブは、各VMの特定のポートを監視し、稼働しているVMにのみトラフィックを分散する。

### コンテナ（BLOB）ストレージ、ディスクストレージ、ファイルストレージおよびストレージ層の利点と使用法について説明する。

#### Azure Storageアカウント

- Azureストレージアカウントには、すべての Azure Storageデータオブジェクト(BLOB、ファイル、キュー、テーブル、およびディスク)が含まれる。
- ストレージアカウントでは、世界中のどこからでもHTTPまたはHTTPS経由でアクセスできるAzure Storageデータ用の一意の名前空間が提供される。
- ストレージアカウントの種類
    - Standard汎用v2：Blob、File、Queue、Table、Data Lake Storage
    - PremiumブロックBLOB：ブロックBLOB のみ
    - Premiumファイル共有：ファイル共有のみ
    - Premiumページ BLOB：ページBLOB のみ
- ストレージアカウントの移行
    - ストレージアカウントを別のサブスクリプションに移動する→Azure Resource Manager
    - ストレージアカウントを別のリソース グループに移動する→Azure Resource Manager
    - ストレージアカウントを別のリージョンに移動する→別のリージョンにストレージ アカウントのコピーを作成し、AzCopyまたは選択した他のツールを使用して、そのアカウントにデータを移動する。
    - 汎用v2ストレージアカウントにアップグレードする→汎用v1ストレージ アカウントまたはBLOBストレージアカウントは、汎用v2ストレージアカウントにアップグレードすることができる。**この操作は元に戻すことができない。**
- ストレージアカウントの暗号化
    - ストレージアカウント内のすべてのデータは、サービス側で自動的に暗号化される。

#### Azure Storageの冗長性

- Azure Storageでは、計画されたイベントや計画外のイベント(一時的なハードウェア障害、ネットワークの停止または停電、大規模な自然災害など)から保護するため、常にデータの複数のコピーが格納される。
- 冗長性を確保することで、障害が発生した場合でも、ストレージアカウントが可用性と耐久性に関する目標を確実に達成できる。
- 自身のシナリオに最適な冗長性オプションを決定する際に、低コストと高可用性のトレードオフを検討できる。
- どの冗長性オプションを選択するかの判断に役立つ要因。
    - プライマリリージョンでのデータのレプリケート方法
    - 地域災害から保護するため、プライマリリージョンから地理的に離れている2番目のリージョンにデータをレプリケートするかどうか
    - プライマリリージョンが何らかの理由で使用できなくなった場合に、アプリケーションがセカンダリ リージョンのレプリケートされたデータへの読み取りアクセスを必要とするかどうか

**プライマリ リージョンでの冗長性**

- Azure Storageアカウントのデータは、常にプライマリリージョンで3回レプリケートされる。
- Azure Storageには、プライマリリージョンでデータをレプリケートする方法。
    - ローカル冗長ストレージ(LRS)：
        - プライマリリージョンの1つの物理的な場所内で、データを同期的に 3 回コピーする。
        - LRSでは、オブジェクトに年間99.999999999%(9 が11個)以上の持続性が提供される。
        - LRSは最もコストのかからないレプリケーションオプションだが、高可用性を必要とするアプリケーションには推奨されない。
    - ゾーン冗長ストレージ(ZRS)：
        - プライマリリージョンの3つの Azure可用性ゾーン間でデータを同期的にコピーする。
        -  ZRSは、Azure Storageデータ オブジェクトに年間 99.9999999999% (9が12 個、トゥエルブナイン)以上の持続性を提供する。
        - 高可用性を必要とするアプリケーションでは、プライマリ リージョンでZRSを使用し、セカンダリリージョンにもレプリケートすることが推奨される。

**セカンダリ リージョンでの冗長性**

- 高可用性を必要とするアプリケーションでは、プライマリリージョンから数百キロ離れたセカンダリリージョンにストレージ アカウントのデータを追加でコピーすることもできる。
- 使用しているストレージアカウントがセカンダリリージョンにコピーされている場合は、地域全体が停電になった場合やプライマリリージョンが復旧できない災害が発生しても、データは保持される。
- ストレージアカウントの作成時に、アカウントのプライマリリージョンを選択する。
- **ペアのセカンダリリージョンはプライマリリージョンに基づいて決定され、変更することはできない。**
- Azure Storageには、セカンダリリージョンにデータをコピーするための2つのオプションが用意されている。
    - geo冗長ストレージ(GRS)：
        - LRSを使用して、プライマリ リージョンの1つの物理的な場所内で、データを同期的に3回コピーする。
        - その後、セカンダリリージョンの1つの物理的な場所にデータを非同期的にコピーする。
        - セカンダリリージョン内のデータは、LRSを使用して同期的に3回コピーされる。
        - GRSは、Azure Storageデータオブジェクトに年間 99.99999999999999% (シックスティーンナイン)以上の持続性を提供します。
    - geoゾーン冗長ストレージ(GZRS)：
        - ZRSを使用して、プライマリリージョンの3つのAzure可用性ゾーン間でデータを同期的にコピーする。
        - その後、セカンダリリージョンの1つの物理的な場所にデータを非同期的にコピーする。
        - セカンダリリージョン内のデータは、LRSを使用して同期的に3回コピーされる。
        - GZRSは、オブジェクトに年間99.99999999999999%(シックスティーンナイン)以上の持続性を確保するように設計されている。
    - GRSとGZRSの主な違いは、プライマリリージョンでのデータのレプリケート方法である。
    - GRSまたはGZRSでは、セカンダリリージョンへのフェールオーバーがない限り、セカンダリリージョンのデータを読み取りまたは書き込みアクセスに利用できない。
    - セカンダリリージョンへの読み取りアクセスについては、読み取りアクセス geo冗長ストレージ(RA-GRS)または読み取りアクセスgeo ーン冗長ストレージ(RA-GZRS)を使用するようにストレージアカウントを構成する。

#### Disk Storage

- Disk Storageは、Azure仮想マシンのディスクとして機能する。
- ディスクのサイズとパフォーマンスのレベルは多様であり、パフォーマンス性能が異なるソリッドステートドライブ(SSD)や従来の回転式ハードディスクドライブ(HDD)などがある。
- 重要度の低いワークロードにはStandard SSDおよびHDDディスクを、ミッションクリティカルな運用アプリケーションにはPremium SSDディスクを、SAP HANA、トップレベルのデータベース、トランザクションの多いワークロードなどのデータを集中的に使用するワークロードにはUltraディスクを使用することができる。

#### Azure Blob Storage

- Azure Blob Storageは、クラウド向けのオブジェクトストレージソリューションである。
- データやバイナリデータなどの大量のデータを格納できる。
- Azure Blob Storageは "構造化されていない"。
- つまり、保持できるデータの種類に制限はない。
- Blob Storageは、次の目的に最適である。
    - 画像またはドキュメントをブラウザーに直接配信する。
    - 分散アクセス用にファイルを格納する。
    - ビデオおよびオーディオをストリーミング配信する。
    - バックアップと復元、ディザスター リカバリー、アーカイブのためのデータを格納する。
    - オンプレミスサービスまたは Azureホステッドサービスで分析するデータを格納する。
    - 最大8TBの仮想マシン用のデータを格納する。

#### Azure Files

- Azure Filesはクラウドで、業界標準のサーバーメッセージブロックとネットワークファイルシステムの各プロトコルを介してアクセスできる、フルマネージドのファイル共有を提供する。
- 一般的な使用シナリオは、世界中のあらゆる場所でのファイル共有、診断データやアプリケーションデータの共有など。
-  Azure Filesによって保存時のデータが確実に暗号化され、SMBプロトコルによって転送中のデータが確実に暗号化される。
-  Azure Filesが企業のファイル共有上のファイルと異なる点の1つは、ファイルを指すURLを使用して世界中のどこからでもファイルにアクセスできることである。 
-  また、Shared Access Signature(SAS)トークンを使用して、特定の期間のプライベート資産へのアクセスを許可することもできる。

#### Azure Queue Storage

- Azure Queue storageは、多数のメッセージを格納するためのサービスである。
- メッセージには、HTTPまたはHTTPSを使用して、認証された呼び出しを介して世界中のどこからでもアクセスできる。
- キューメッセージの許容される最大サイズは64KB。
- キューには、ストレージアカウントの総容量の上限を超えない限り、数百万のメッセージを含めることができる。

#### Azure Table Storage

- Azure Table Storageは、非リレーショナル構造化データ(構造化された NoSQLデータとも呼ばれる)をクラウド内に格納するサービスであり、スキーマレスのデザインによるキーおよび属性ストアを実現する。
- Table Storageはスキーマがないため、アプリケーションの進化のニーズに合わせてデータを容易に修正できる。
- Table Storageのデータ アクセスは、多くの種類のアプリケーションにとって高速でコスト効率に優れ、また一般に、従来のSQLと比較して、同様の容量のデータを低コストで保存することができる。
- 現在は、Table Storageに対する代替のオファリングとしてAzure Cosmos DB Table APIが用意されている。

#### BLOB のアクセス層

- Azure Storageには、BLOBストレージ用のさまざまなアクセス層が用意されているため、最もコスト効率の高い方法でオブジェクトデータを格納することができる。
    - ホットアクセス層: 頻繁にアクセスされるデータ(たとえば Web サイトの画像) を格納するように最適化されている。
    - クールアクセス層: アクセスされる頻度が低く、30日以上格納されるデータ用に最適化されている(例: 顧客に対する請求書)。
    - アーカイブアクセス層: ほとんどアクセスされず、180日以上格納され、待ち時間の要件が柔軟であるデータに適している(例: 長期のバックアップ)。
- アカウントレベルで設定できるのはホットアクセス層とクールアクセス層だけである。
- アーカイブアクセス層はアカウントレベルでは使用できない。
- ホット、クール、アーカイブの各層は、アップロード中またはアップロード後に BLOBレベルで設定できる。

#### Azure Import / Export

- Azure Import/Export サービスでは、Azure データセンターにディスクドライブを送付することで、Azure Blob Storageと Azure Filesに大量のデータを安全にインポートできる。
- また、このサービスでは、Azure Blob Storageからディスク ドライブにデータを転送し、オンプレミスのサイトに送付できる。
- 1つまたは複数のディスクドライブからのデータを、Azure Blob Storageまたは Azure Filesにインポートできる。
- Azure Import / ExportサービスではファイルをストレージアカウントにコピーするためにCSVファイルを使用する必要がある。

### CosmosDB、Azure SQLデータベース、MySQL用Azureデータベース、PostgreSQL用Azureデータベース、およびSQLマネージドインスタンスの利点と使用法について説明する

#### Azure Cosmos DB

- グローバル分散型のマルチモデルデータベースサービス。
- 最新のアプリ開発に対応するフルマネージドのNoSQLデータベースサービス。
- 1桁ミリ秒の応答時間と99.999%の可用性が保証される。
- JSONドキュメントを保存することができる。 
- 世界中の任意の数のAzureリージョンにわたって、スループットとストレージを柔軟かつ個別にスケーリングすることができる。
- いくつかの一般的なAPIのいずれかを使用して、10ミリ秒未満の高速なデータ アクセスを利用することができる。
- Azure Cosmos DBにより、スループット、待機時間、可用性、整合性を保証する包括的なサービスレベルアグリーメントが提供される。
- 一番下のレベルでは、Azure Cosmos DBはAtom-Record-Sequence(ARS)形式でデータを格納する。
- データは抽象化され、データベースの作成時に指定するAPIとして投影される。
- APIは、SQL、MongoDB、Cassandra、Tables、Gremlin から選ぶことができる。
- Azure Cosmos DBを使用すると、スキーマレスデータがサポートされるため、絶えず変化するデータをサポートするための応答性に優れた"Always On"アプリケーションを構築することができる。

#### Azure SQL Database

- Microsoft SQL Serverデータベースエンジンの安定した最新バージョンに基づくリレーショナルデータベース。
- サービスとしてのプラットフォーム(PaaS)データベースエンジン。
- ユーザーの関与なしに、アップグレード、修正プログラムの適用、バックアップ、監視などのほとんどのデータベース管理機能が処理される。
- 99.99%の可用性を提供する。
- 組み込まれたPaaS機能により、利用者は、ビジネスにとって重要なドメイン固有のデータベースの管理や最適化の作業に集中することができる。
- 利用者が基になるインフラストラクチャを管理する必要はない。
- Azure Database Migration Serviceを使用すると、既存のSQL Serverデータベースを最小限のダウンタイムで移行できる。
- Microsoft Data Migration Assistantを使用して、評価レポートを生成することができる。
- これには、移行を実行する前に必要な変更について推奨される手順が記載されている。
- 必要なすべての修復を評価して解決したら、移行プロセスを開始できるようになる。
- すべての必要な手順は、Azure Database Migration Serviceにより実行される。
- 自分で行う作業は、アプリで接続文字列を変更することだけ。

#### Azure Database for MySQL

- クラウドのリレーショナル データベース サービスであり、MySQL Community Editionのデータベースエンジン バージョン5.6、5.7、8.0に基づいている。
- これを使用すると、Microsoft が管理するデータセンターのグローバル ネットワークを利用した、可用性 99.99% のAzureサービスレベルアグリーメントが適用される。
- ポイントインタイムリストアを使用して、サーバーを35日間分さかのぼって以前の状態に戻すことができる。
-  Azure Database Migration Serviceを使用して、既存の MySQL データベースを最小限のダウンタイムで移行することができる。
-  Azure Database for MySQLには複数のサービス レベルが用意されており、軽量から重量までのデータベース ワークロードをサポートするために、レベルごとに異なるパフォーマンスと機能が提供される。

#### Azure Database for PostgreSQL

- Azure Database for PostgreSQLは、クラウドのリレーショナル データベースサービスであるす。
- このサーバーソフトウェアは、オープンソースのPostgreSQLデータベースエンジンのコミュニティ版を基盤としている。
- Azure Database for PostgreSQLには、2つのデプロイ オプションがある
    - 単一サーバー
    - Hyperscale (Citus)

#### Azure SQL Managed Instance

- Azure SQL Managed Instanceは、スケーラブルなクラウド データ サービスであり、フルマネージドのサービスとしてのプラットフォームのすべての利点を含めた、幅広いSQL Serverデータベースエンジンとの互換性を提供する。 
- Azure SQL Databaseと同様に、Azure SQL Managed Instanceはサービスとしてのプラットフォーム(PaaS)データベースエンジンである。
- Azure SQL DatabaseとAzure SQL Managed Instanceには、数多くの同じ機能が用意されている。
- ただし、Azure SQL Managed Instanceには、Azure SQL Databaseでは使用できない可能性があるオプションがいくつか用意されている。 
    - [機能の比較:Azure SQL Database と Azure SQL Managed Instance](https://docs.microsoft.com/ja-jp/azure/azure-sql/database/features-comparison)

### Azure Marketplaceの利点と使用法を説明する

[概要](https://docs.microsoft.com/ja-jp/azure/marketplace/overview)

# ■3.Azure のコアソリューションおよび管理ツール

## 概要

- 1.Azureで利用可能なコアソリューションについて説明する
- 2.Azure管理ツールについて説明する

## ■3-1.Azureで利用可能なコアソリューションについて説明する

### IoT Hub、IoT Central、およびAzure Sphereの利点と使用法について説明する

#### Azure IoT Hub

- Azure IoT Hubはクラウドでホストされるマネージド サービスであり、IoTアプリケーションとそれが管理するデバイス間の双方向通信のための中央メッセージハブとして機能する。 
- Azure IoT Hubを使用すると、数百万台のIoTデバイスと、クラウドでホストされるソリューションバックエンドとの間で信頼性が高く安全な通信を行うことができるIoTソリューションを構築できる。 
- ほとんどすべてのデバイスをIoTハブに接続できる。
- IoT Hubサービスを使用すると、デバイスからクラウドと、クラウドからデバイスの両方向の通信がサポートされる。 
- また、デバイスからクラウドへのテレメトリ、デバイスからのファイルのアップロード、クラウドからデバイスを制御するための要求/応答メソッドなど、複数のメッセージパターンもサポートされる。 
- IoTハブでデバイスからメッセージが受信されると、それを他のAzureサービスにルーティングすることができる。

#### Azure IoT Central

- Azure IoT Centralは、IoTデバイスの接続、監視、管理を可能にするダッシュボードを追加することで、IoT Hub上に構築されている。
- ビジュアルユーザーインターフェイスを使用すると、簡単に新しいデバイスを接続し、テレメトリやエラーメッセージの送信開始時を監視することができる。 
- すべてのデバイスにわたってパフォーマンス全体を総合的に監視することができる。
- 特定のデバイスでメンテナンスが必要になったときに通知を送信するようにアラートを設定することができる。
- ファームウェア更新プログラムをデバイスにプッシュすることができる。

#### Azure Sphere

- Azure Sphereでは、お客様向けのエンドツーエンドの安全性の高いIoTソリューションを作成する。
- これには、デバイス上のハードウェアやオペレーティングシステムから、メッセージをデバイスからメッセージハブに送信する安全な方法まで、あらゆるものが含まれている。 
- Azure Sphereには、インターネットに接続されたデバイス用の通信とセキュリティの機能が組み込まれている。

### AzureSynapse Analytics、HDInsight、およびAzure Databricksの利点と使用法について説明する

#### Azure Synapse Analytics

- Azure Synapse Analytics(旧称 Azure SQL Data Warehouse)は、エンタープライズデータウェアハウスとビッグデータ分析を組み合わせた無制限の分析サービスである。
- サーバーレスまたはプロビジョニングされたリソースを大規模に使用することにより、各自の条件に基づいてデータを照会できる。
- 即時のBIおよび機械学習のニーズに合わせてデータの取り込み、管理、および提供を行うための統合されたエクスペリエンスが用意されている。

#### Azure HDInsight

- Azure HDInsightは、フル マネージドの、エンタープライズ向けのオープン ソースのクラウド分析サービスである。
- これは、大量のデータをより簡単かつ迅速に処理して高いコスト効率を実現できるようにするクラウドサービスである。
- 広く普及しているオープンソース フレームワークを実行し、Apache Spark、Apache Hadoop、Apache Kafka、Apache HBase、Apache Storm、Machine Learning Servicesなどの種類のクラスターを作成できる。
- HDInsightを使用すると、抽出、変換、読み込み(ETL)、データウェアハウス、機械学習、IoTなどのさまざまなシナリオもサポートされる。

#### Azure Databricks

- Azure Databricksは、すべてのデータから分析情報を引き出し、人工知能ソリューションを構築するのに役立つ。
- Apache Spark環境を数分で設定して自動スケーリングし、対話型ワークスペースで共有プロジェクトの共同作業を行うことができる。
- Azure Databricksによって、Python、R、Java、SQLだけでなく、TensorFlow、PyTorch、scikit-learnなどのデータサイエンスフレームワークおよびライブラリがサポートされる。

### Azure Machine Learning、Cognitive Services、およびAzure Bot Serviceの利点と使用法について説明する

#### Azure Machine Learning

- Azure Machine Learningは、予測を行うためのプラットフォームである。
- これは、データに接続し、モデルをトレーニングおよびテストして、将来の結果を最も正確に予測するモデルを見つけられるようにするツールおよびサービスから構成されている。
- 実験を実行してモデルをテストした後、それをデプロイして、Web APIエンドポイントを経由してリアルタイムで使用できる。
- Azure Machine Learningでは、次のことが行える。
    - データの取得方法、不足している、または不正なデータの処理方法、トレーニングセットまたはテストセットのどちらかにデータを分割する方法、データをトレーニングプロセスに配信する方法を定義するプロセスを作成する。
    - データ科学者が使い慣れたツールおよびプログラミング言語を使用して予測モデルをトレーニングおよび評価する。
    - トレーニングおよびテスト用のデータに基づいてアルゴリズムをスコア付けするために必要なコンピューティング集中型の実験を実行する場所および時期を定義するパイプラインを作成する。
    - 他のアプリケーションでリアルタイムに消費できるように、最適なパフォーマンスのアルゴリズムをエンドポイントへのAPIとしてデプロイする。
- データ科学者が、ユーザー自身のデータを使用してアルゴリズムの設計およびトレーニングを完全に制御する必要がある場合は、Azure Machine Learningを選択する。

#### Azure Cognitive Services

- Azure Cognitive Servicesには、事前に構築された機械学習モデルが用意されており、これにより、アプリケーションで見る、聞く、話す、理解する、さらには推論を開始することが可能になる。
- Azure Cognitive Servicesを使用して一般的な問題を解決することができる。
- たとえば、テキストで感情(センチメント)を分析したり、画像を分析して物や顔を認識したりすることができる。
- これらのサービスを使用するために、機械学習やデータサイエンスに関する特別な知識は必要ない。
- 開発者はAPIを使用してAzure Cognitive Servicesにアクセスし、わずか数行のコードで簡単にこれらの機能を含めることができる。
- Azure Machine Learningでは、ユーザー自身のデータを取り込み、そのデータでモデルをトレーニングする必要がありますが、Azure Cognitive Servicesでは、ほとんどの場合、予測を行うライブデータを取り込めるように事前トレーニングされたモデルを提供する。
- Azure Cognitive Servicesは、以下のカテゴリに分けることができる。
    - 言語
    - 音声
    - 視覚
    - 決定

#### Azure Bot Service

- Azure Bot ServiceおよびBot Frameworkは、人間と同様に質問を理解して返答する仮想エージェントを作成するためのプラットフォームである。
- Azure Bot Serviceには、固有のユースケースがあり、この点でAzure Machine LearningおよびAzure Cognitive Servicesとは少し異なる。
- このサービスでは、人間とインテリジェントにコミュニケーションを取ることができる仮想エージェントを作成する。
- バックグラウンドで、ビルドするボットはAzure Cognitive Servicesなどの他のAzureサービスを使用して、相手である人間が何を求めているかを理解する。
- ボットを使用すると、ディナーの予約やプロファイル情報の収集などの単純な繰り返しタスクを自動システムに移すことができ、ユーザーが直接介入する必要がなくなる可能性がある。
- ユーザーは、テキスト、対話型のカード、音声を使用してボットと会話する。
- ボットとの対話では、簡単な質問と回答や、サービスへのアクセスをインテリジェントに提供する洗練された会話などが可能である。

### Azure Functions、Logic Appsを含むサーバーレスコンピューティングソリューションの利点と使用法について説明する

#### サーバーレス テクノロジ

- サーバーレス コンピューティングはクラウドでホストされる実行環境で、ユーザーのコードを実行するが、基になるホスティング環境は抽象化されている。
- "サーバーレスコンピューティング" という用語は、適切ではなく、コードまたは必要な機能を実行するサーバー(またはサーバーのグループ)は "存在する"。
- 重要なのは、そのサーバーの設定や保守について、ユーザーは責任を負わないという考えである。
- 需要が増加してもスケーリングについて心配する必要がなく、停止する心配もない。
- ユーザーに代わってクラウドベンダーが、メンテナンスやスケーリングに関するあらゆる懸念に対処する。

#### Azure Functions

- Azure Functionsサービスを使用すると、クラウド内で一般的なプログラミング言語を使用して、イベントに応答して実行される1つのメソッドまたは関数をホストすることができる。
    - イベントの例としては、HTTP要求、キューの新しいメッセージ、タイマーのメッセージなどがある。
- Azure Functionsは、そのアトミックな性質により、アプリケーションの設計でさまざまな目的に使用することができる。
- C#、Python、JavaScript、Typescript、Java、PowerShellなど、多くの一般的なプログラミング言語を使用して記述できる。
- Azure Functionsは自動的にスケーリングされ、関数がトリガーされたときにのみ課金が発生する。
- こうした品質があるので、需要が変化する場合にはAzure Functionsが確実な選択肢になる。
- Azure Functionsはステートレス環境であり、イベントに応答するたびに再起動されたかのように動作する。

#### Azure Logic Apps

- Logic Appsは、クラウドサービスとしてホストされるローコードまたはノーコード開発プラットフォームである。
- このサービスを使用すると、企業全体または組織全体でアプリ、データ、システム、サービスを統合する必要がある場合に、タスク、ビジネスプロセス、ワークフローを自動および調整することができる。
- Logic Appsによって、クラウド、オンプレミス、またはその両方で、スケーラブルなソリューションを簡単に設計および構築できるようになる。
- このソリューションは、アプリ統合、データ統合、システム統合、エンタープライズアプリケーション統合(EAI)、および企業間(B2B)統合を対象としている。
- Azure Logic Appsは、Webベースのデザイナーで設計されており、コードを記述せずにAzureサービスによってトリガーされるロジックを実行できる。
- アプリをビルドするには、コネクタを使用してトリガーをアクションにリンクする。
- トリガーは、タイマーなどのイベントである。
- これによって、アプリを実行する、新しいメッセージをキューに送信する、またはHTTP要求を送信することができる。
- アクションは、実行可能なタスクまたはステップである。
- ほとんどのプログラミング言語で見られるようなロジックアクションがある。
- アクションの例としては、変数、デシジョンのステートメントとループ、データを解析および変更するタスクの操作などがある。
- Azure Logic Appsを使用してエンタープライズ統合ソリューションをビルドするには、200以上のコネクタのギャラリーから選択でき、この数は増え続けている。
- ギャラリーには、Salesforce、SAP、Oracle DB、ファイル共有などのサービスがあります。
- 必要なアクションまたはコネクタが見つからない場合は、カスタムコードを使用して独自にビルドすることができる。

#### Azure FunctionsとAzure Logic Appsの相違点

- Azure FunctionsをAzure Logic Appsから呼び出すことができ、その逆も可能。
- 2つのサービスの主な相違点は、その目的である。
    - Azure Functionsはサーバーレス コンピューティング サービスであり、
    - Azure Logic Appsはサーバーレス オーケストレーション サービスを目的としている。 
    - Azure Functionsを使用すると、さまざまな接続が関係する実行時間の長いビジネス プロセスを調整できますが、これは、設計時には主要なユースケースではない。
- また、2つのサービスの料金は異なります。
    - Azure Functionsの料金は、実行回数と、各実行の実行時間に基づいている。
    - Logic Appsの料金は、実行回数と、利用されるコネクタの種類に基づいている。

### Azure DevOps、GitHub、GitHub Actions、およびAzure DevTest Labsの利点と使用法について説明する

#### Azure DevOps Services

Azure DevOps Servicesは、ソフトウェア開発ライフサイクルのすべての段階に対応する一連のサービスである。

- Azure Reposは、ソフトウェア開発、DevOpsエンジニアリング、ドキュメントの専門家が、レビューやコラボレーションのためにコードを公開できる一元的なソースコードリポジトリである。
- Azure Boardsは、アジャイルなプロジェクト管理スイートであり、かんばんボード、レポート、アイデアの追跡、高度なエピックから作業項目や問題に至る作業などが含まれる。
- Azure Pipelinesは、CI/CDパイプラインオートメーションツールである。
- Azure Artifactsは、テストまたは配置パイプラインステップに渡すことができる成果物(コンパイルされたソース コードなど)をホスティングするためのリポジトリである。
- Azure Test Plansは、ソフトウェアリリースの前に品質を確保するために CI/CDパイプラインで使用できる自動テストツールである。

#### GitHub Actions

- GitHubは、オープンソースソフトウェアの世界でおそらく最も人気のあるコード リポジトリでる。
- Gitは、分散型のソースコード管理ツールだが、GitHubは、プライマリリモートとして機能する、ホステッドバージョンのGitである。
- GitHubはGit上に構築され、作業の調整、問題の報告とディスカッション、ドキュメントの提供などの関連サービスを提供する。
- このモジュールに最も関連のあるGitHub Actionsを使用すると、多くのライフサイクルイベントに対するトリガーでワークフローを自動化できる。
- そのような例の1つは、CI/CD"ツールチェーン" の自動化である。
- ツールチェーンは、システム開発のライフ サイクル全体を通じて、ソフトウェア アプリケーションのデリバリー、開発、および管理で役立つソフトウェアツールの組み合わせである。
- ツールチェーンの1つのツールの出力は、ツールチェーンの次のツールの入力になる。
- 典型的なツール機能は、自動化された依存関係の更新の実行から、ソフトウェアの構築と構成、さまざまな場所へのビルド成果物の配信、テストなどまで多岐にわたる。

#### Azure DevTest Labs

- Azure DevTest Labsでは、ソフトウェア プロジェクトのビルドを含む仮想マシン(VM)の構築、設定、破棄のプロセスを管理する自動化された手段が提供される。
- これにより、開発者やテスト担当者は、さまざまな環境とビルドについてテストを実行できるようになる。
- また、この機能はVMに限定されません。
- ARMテンプレートで Azureにデプロイできるものは、DevTest Labsからプロビジョニングできる。
- Azure DevTest Labsを使用して、高速で簡単な無駄のない開発/テスト環境を構築できる。
- 事前に必要な仮想マシン台数と設定を構成したAzure Resource Managerテンプレートを利用して、仮想マシン台数を設定することが可能となる。 

## ■3-2.Azure管理ツールについて説明する

### Azure Portal、Azure PowerShell、Azure CLI、Cloud Shell、Azure Mobile Appの機能と使用法について説明する

#### Azure portal

- Azure portalは、コマンドラインツールに代えて使用できる、Webベースの統合コンソールである。 
- Azure portalを使用すると、グラフィカルユーザーインターフェイスを使用してAzureサブスクリプションを管理できる。 
- 簡単なWebアプリから複雑なクラウドデプロイまで、すべてを構築、管理、監視することができる。
- リソースを整理して表示するカスタムダッシュボードを作成できる。
- 最適なエクスペリエンスを提供するアクセシビリティオプションを構成できる。

### Azure Advisorの機能と使用法を説明する

- Azure AdvisorによってAzureリソースが評価され、信頼性、セキュリティ、およびパフォーマンスの向上、オペレーショナルエクセレンスの実現、コストの削減に役立つレコメンデーションが作成される。
- Advisorは、クラウドの最適化にかかる時間を削減できるように設計されている。
- このレコメンデーションサービスには、すぐに実行するか、延期するか、無視することができる、推奨されるアクションが含まれている。
- レコメンデーションは、Azure portalおよびAPIから利用できる。
- また、新しいレコメンデーションを知らせる通知を設定することもできる。
-  推奨事項は、5つのカテゴリに分割されています。
    - 信頼性: ビジネスに不可欠なアプリケーションの継続性を確保し、向上させるために使用する。
    - セキュリティ: セキュリティ侵害に至る可能性がある脅威と脆弱性を検出するために使用する。
    - パフォーマンス:アプリケーションの速度を向上させるために使用する。
    - コスト:Azureの全体的な支出を最適化し、削減するために使用する。
    - オペレーショナルエクセレンス:プロセスとワークフローの効率性、リソースの管理性、デプロイに関するベストプラクティスの実現を支援する。

### Azure Resource Manager(ARM)テンプレートの機能と使用法を説明する

- Azureソリューション用にインフラストラクチャをコードとして実装するには、Azure Resource Managerテンプレート(ARM テンプレート)を使用する。 
- テンプレートはJavaScript Object Notation(JSON)ファイルであり、プロジェクトのインフラストラクチャと構成が定義されている。 
- このテンプレートでは、デプロイしようとしているものを、それを作成する一連のプログラミングコマンドを記述しなくても記述できる、宣言型の構文を使用している。 
- このテンプレートでは、デプロイするリソースとそれらのリソースのプロパティを指定する。

### Azure Monitorの機能と使用法を説明する

- Azure Monitorは、Azureとオンプレミス環境の全体でのメトリックとログデータに基づいて、収集、分析、視覚化、場合によってアクションを実行するためのプラットフォームである。
- ログとメトリックデータのソースの一覧が、アプリケーションからオペレーティングシステムおよびネットワークまで、アプリケーションアーキテクチャのすべてのレイヤーで収集され、そのログとメトリックデータが中央リポジトリに格納され、そのデータはさまざまな方法で使用される。
- アーキテクチャの各層におけるリアルタイムおよび履歴パフォーマンス、または集計された詳細情報を表示できる。
- データは、さまざまなユーザーに対してさまざまなレベルで表示される。
- Azure Monitorダッシュボードで概要レポートを表示したり、Power BIと Kustoのクエリを使用してカスタムビューを作成したりできる。
- さらに、データを使用して、SMSや電子メールなどを使用してチームに配信されるアラートによって、重大なイベントにリアルタイムで対応することができる。 
- または、しきい値を使用して自動スケール機能をトリガーし、需要に合わせてスケールアップまたはスケールダウンすることができる。
- アプリケーションのソースコードからAzureにテレメトリ情報を送信するためのサービスであるAzure Application Insightsなどの一般的な一部の製品では、Azure Monitorが内部で使用されている。
- Application Insightsでは、アプリケーション開発者がAzure Monitorの強力なデータ分析プラットフォームを活用して、アプリケーションの運用に関する詳細な分析情報を入手し、ユーザーによる報告を待たずにエラーを診断することができる。

### Azure Service Healthの機能と使用法を説明する

- Azure Service Healthによって、お使いのAzureのサービス、リージョン、リソースの正常性に関するパーソナライズされたビューが提供される。
- status.azure.com Webサイトには、Azureのお客様に幅広く影響を与える大きな問題のみが示され、全体像は提供されない。
- 一方、Azure Service Healthには、重大な問題と、より小さいローカライズされた問題の両方が示される。
- サービスの問題はめったに発生しないが、予期しないことに備えて準備することが重要である。
- サービス停止や計画メンテナンスのトリアージに役立つアラートを設定できる。
- サービス停止の発生後、Service Healthにより、根本原因の分析(RCA)と呼ばれる、関係者と共有できる正式なインシデントレポートが提供される。
- Service Healthは、いくつかのイベントの種類を監視するのに役立つ。
    - サービスの問題は、サービスの停止など、今すぐに影響があるAzureの問題である。
    - 計画メンテナンスイベントは、可用性に影響を与える場合がある。
        - 影響を受けるサービス、リージョン、詳細にドリルダウンして、イベントがどのように影響するか、および必要な操作を表示することができる。 
    - 正常性の勧告は、サービスの中断を回避するために行動する必要がある問題である。

# ■4.一般的なセキュリティ機能およびネットワークセキュリティ機能

## 概要

- 1.Azureのセキュリティ機能について説明する
- 2.Azureネットワークセキュリティについて説明する

## ■4-1.Azureのセキュリティ機能について説明する

###  Policy Compliance、Security Alerts、Secure Score、Resource Hygieneなど、Azure Security Centerの基本的な機能について

#### Azure Security Center

- Azure Security Centerは、Azureとオンプレミスの両方ですべてのサービスにわたってセキュリティ体制を可視化できる監視サービスである。 
- セキュリティ体制という用語は、サイバーセキュリティのポリシーと制御、およびセキュリティ脅威の予測、回避、対応方法を指している。
- 無料と有料それぞれでサービスを提供している。 
    - 無料利用枠は、セキュリティポリシー、継続的なセキュリティ評価、およびAzureリソースの保護に役立つ実用的なセキュリティ機能のみを提供する。
    - 有料サービスでは無料の機能を拡張し、脅威保護機能を追加する。
- Security Centerには次の機能がある。
    - オンプレミスおよびクラウドのワークロード全体のセキュリティ設定を監視する。
    - 新しいリソースがオンラインになったときに必要なセキュリティ設定を自動的に適用する。
    - 現在の構成、リソース、ネットワークに基づいてセキュリティの推奨事項を提供する。
    - リソースを継続的に監視し、自動的なセキュリティ評価を実行して、潜在的な脆弱性を悪用される前に特定する。
    - 機械学習を使用して、マルウェアが仮想マシン(VM)やその他のリソースにインストールされる前に検出してブロックする。
        - また、適応型アプリケーション制御を使用して、許可されたアプリケーションを列挙するルールを定義し、許可するアプリケーションのみを実行できるようにすることもできる。
    - 受信攻撃の可能性を検出して分析し、脅威および発生した可能性がある侵害後のアクティビティを調査する。
    - ネットワークポートのJust-In-Timeアクセス制御を提供する。
        - これにより、必要な場合に必要なトラフィックのみがネットワークで許可されるようになり、攻撃対象の領域が減る。
- Azure Security Centerから、規制順守レポートをダウンロードできる。

##### セキュリティ スコアとは

- セキュリティスコアは、組織のセキュリティ体制の測定値。
- セキュリティスコアは、セキュリティ制御(関連するセキュリティの推奨事項のグループ)に基づいている。
- スコアは、適用しているセキュリティ制御の割合に基づいて計算される。
- 適用するセキュリティ制御が多いほど、受け取るスコアが大きくなる。
- 制御内の1つのリソースに対するすべての推奨事項を修復すると、スコアが向上する。

#### Azure Policy

- Azure Policyを使用すると、リソースを制御または監査するポリシーの作成、割り当て、管理を行うことができる。
- Azure Policyを使用すると、個別のポリシーと、関連するポリシーのグループ ("イニシアティブ" と呼ばれる)の両方を定義できる。
- Azure Policyによってリソースが評価され、作成したポリシーに準拠していないリソースが明示される。
- Azure Policyを使用すると、準拠していないリソースが作成されないようにすることもできる。
- Azure Policyには、ストレージ、ネットワーク、コンピューティング、Security Center、監視などのカテゴリで使用できる組み込みのポリシーとイニシアティブの定義が多数用意されている。
- Azure Policyでのポリシーの実装は、次の3つのステップで行う。
    - 1.ポリシー定義を作成する。
    - 2.定義をリソースに割り当てる。
    - 3.評価の結果を確認する。
- Azure Policyのイニシアティブは、関連するポリシーを1つのセットにグループ化する手段。
- イニシアティブ定義には、大きな目標に対するコンプライアンスの状態を追跡するのに役立つすべてのポリシー定義が含まれる。
- イニシアティブを定義するには、Azure portalまたはコマンドラインツールを使用する。
- Azure portalでは、Azureによって既に提供されている組み込みイニシアティブの一覧を検索できる。
- 独自のカスタムポリシー定義を作成することもできる。
- コンプライアンスダッシュボードを通じて、環境の全体的な状態を評価するための集計ビューを提供する。
- これには、リソースごと、およびポリシーごとの粒度でドリルダウンできる機能が備わっている。 
- 既存のリソースの一括修復と新しいリソースの自動修復を使用して、お客様のリソースでコンプライアンスを実現するのにも便利である。

### Key Vaultの機能と使用方法の説明

Azure Key Vaultは、アプリケーションのシークレットを中央の1か所に保存するための一元的なクラウドサービスである。
アクセス制御とログ記録の機能を提供することで、機密情報への安全なアクセスを提供する。

#### Azure Key Vaultでできること

- シークレットを管理する
- 暗号化キーの管理
- SSL/TLS証明書の管理
- ハードウェアセキュリティモジュール(HSM)によってサポートされているシークレットの保存

#### Azure Key Vault を使用する利点とは

- アプリケーションシークレットが一元管理される
- シークレットとキーが安全に保存される
- アクセス監視とアクセス制御
- 簡単なアプリケーションシークレットの管理
- その他のAzureサービスとの統合

### Azure Sentinelの機能と使い方を説明

- 大規模な環境のセキュリティ管理には、専用のセキュリティ情報およびイベント管理(SIEM)システムを使用すると便利である。 
- SIEMシステムでは、さまざまなソースから(それらのソースでオープン標準のログ形式がサポートされている場合に)セキュリティ データが集計される。
- 脅威の検出と対応に必要な追加機能も提供される。
- Azure Sentinelは、MicrosoftのクラウドベースのSIEMシステムである。
- インテリジェントなセキュリティ分析と脅威分析が使用される。

#### Azure Sentinel の機能

- 大規模なクラウドデータの収集
    - オンプレミスと複数のクラウドの両方から、すべてのユーザー、デバイス、アプリケーション、インフラストラクチャのデータを収集する。
- 以前に検出されなかった脅威の検出
    - Microsoftの包括的な分析と脅威インテリジェンスを使用して、誤検知を最小限に抑える。
- 人工知能による脅威の調査
    - Microsoftの長年にわたるサイバーセキュリティ経験を活用して、疑わしいアクティビティを大規模に調査する。
- インシデントへの迅速な対応
    - 一般的なタスクの組み込みオーケストレーションと自動化を使用する。
- Azure Sentinelは、既存のさまざまなAzureサービスを基に構築され、Log AnalyticsやLogic Appsなどの実績のある基盤をネイティブに組み込んでいる。
- Azure Sentinelは、AIによる調査と検出を強化し、Microsoftの脅威インテリジェンス ストリームを提供している。
- また、ユーザーが独自の脅威インテリジェンスを取り入れることもできる。
- Azure Sentinelを有効にしたら、まずデータソースを接続する必要がある。
    - Azure Sentinelには、Microsoft 365 Defender(以前の Microsoft Threat Protection)ソリューション、Microsoft 365ソース (Office 365を含む)、Azure AD、Microsoft Defender for Identity(以前の Azure ATP)、Microsoft Cloud App Securityなど、すぐに使用でき、リアルタイム統合を提供する、Microsoftソリューション用のコネクタが多数付属している。
    - さらに、Microsoft以外のソリューション用のより広範なセキュリティ エコシステムへの組み込みコネクタがある。
    - 一般的なイベント形式(CEF)、Syslog またはREST-APIを使用して、使用中のデータソースをAzure Sentinelに接続することもできる。


### Azure Dedicated Hostsの機能と使用方法の説明

- Azure Dedicated Hostは、WindowsおよびLinux用のAzure VMをホストする専用の物理サーバーを提供する。
- Azure Dedicated Hostの利点
    - Azure VMを実行するサーバー インフラストラクチャに対する可視性と制御が提供される。
    - 分離されたサーバーにワークロードを展開することで、コンプライアンス要件に対応しやすくなる。
    - 同じホスト内でプロセッサの数、サーバーの機能、VMシリーズ、VMのサイズを選択できる。
- 専用ホストをプロビジョニングすると、そのホストはAzureによってMicrosoftのクラウドデータセンター内の物理サーバーに割り当てられる。
- デプロイするVMの数に関係なく、専用のホストごとに課金される。
    - ホストの価格は、VMファミリ、種類(ハードウェア サイズ)、リージョンに基づいて決定される。

## ■4-2.Azureネットワークセキュリティについて説明する

### 多層防御(Defense in Depth)の概念を説明する

Azureでは、多層防御という概念のすべてのレベルにセキュリティツールと機能を提供している。

>![2-defense-depth.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/70897/cfc5c359-f336-a834-ea58-187a6b3b8082.png)
>[引用元](https://docs.microsoft.com/ja-jp/learn/azure-fundamentals/secure-network-connectivity-azure/media/2-defense-depth.png)

- 物理的なセキュリティ層
    - データセンター内のコンピューティングハードウェアを保護するための防御の最前線。
- IDとアクセス層
    - インフラストラクチャへのアクセスを制御し、変更を制御する。
    - シングル サインオン(SSO)と多要素認証を使用する。
    - イベントと変更を監査する。
- 境界層
    - DDoS保護を使用して、ユーザーのシステムに対する可用性に影響が出る前に大規模な攻撃をフィルター処理する。
    - 境界ファイアウォールを使用して、ネットワークに対する悪意のある攻撃を識別し、警告する。
- Network層
    - リソース間の通信を制限する。
    - 既定で拒否する。
    - 必要に応じて、インターネットの受信アクセスを限定し、送信アクセスを制限する。
    - オンプレミスネットワークへのセキュリティで保護された接続を実装する。
- Compute層
    - 仮想マシンへのアクセスをセキュリティで保護する。
    - デバイス上にエンドポイント保護を実装し、システムに修正プログラムを適用して最新の状態に保つ。
- Application層
    - アプリケーションを確実にセキュリティで保護された脆弱性のないものにする。
    - 機密性の高いアプリケーションシークレットをセキュリティで保護されたストレージメディアに格納する。
    - セキュリティをすべてのアプリケーション開発の設計要件にする。
- データ層
    - 保護する必要があるビジネスと顧客のデータへのアクセスが制御される。

セキュリティ体制とは、セキュリティの脅威から保護し、セキュリティの脅威に対応する組織の能力であり、セキュリティ体制を定義するために使用される一般的な原則は、"機密性"、"整合性"、"可用性"(CIAと総称される)である。

- 機密性
    - "最小限の特権の原則" とは、情報へのアクセスを、各自の仕事をするために必要なレベルのアクセス権を明示的に付与されたユーザーのみに制限することを意味する。
    - この情報には、ユーザーのパスワード、電子メールのコンテンツ、およびアプリケーションと基になるインフラストラクチャへのアクセスレベルの保護が含まれる。
- 整合性
    - 情報に対する不正な変更を禁止する。
- 利用可能性
    - サービスが常に機能し、承認されたユーザーだけが確実にアクセスできるようにする。
    - "サービス拒否攻撃" は、システムの可用性を低下させてユーザーに影響を与えることを目的としている。

### ネットワークセキュリティグループ(NSG)の機能と使い方を説明する

- ネットワークセキュリティグループ(NSG)を使用して、仮想ネットワークの中で Azureリソースによって送受信されるネットワークトラフィックをフィルター処理できる。
- NSGは、内部ファイアウォールのようなものと考えることができる。
- 各NSGには、送信元と送信先のIPアドレス、ポート、およびプロトコルでリソースとのトラフィックをフィルター処理できるようにする受信と送信のセキュリティ規則を複数含めることができる。

### Azure Firewallの機能と使い方を説明する

- Azure仮想ネットワーク内のリソースを保護するクラウドベースのマネージド ネットワークセキュリティサービス。
- Azure Firewallを使用すると、複数のサブスクリプションで複数の仮想ネットワークへのトラフィックを制限できる。
- 仮想ネットワークは、ご自身のデータセンターで運用している従来のネットワークに似ている。
- 仮想マシンやその他のコンピューティングリソースの相互通信や、インターネットとオンプレミスネットワークでの安全な通信を実行できるようにするプライベートネットワークの基本的な構成要素。
- Azure Firewallは "ステートフル" ファイアウォール。
- ステートフルファイアウォールでは、ネットワークトラフィックの個々のパケットだけでなく、ネットワーク接続の完全なコンテキストが分析される。
- Azure Firewallは、高可用性と制限のないクラウドのスケーラビリティを特徴としている。
- Azure Firewallによって、サブスクリプションと仮想ネットワーク向けのアプリケーションとネットワークの接続ポリシーを作成、適用、およびログに記録するための一元的な場所が提供される。
- Azure Firewallを使用して、次のルールを構成できる。
    - アプリケーションルール: サブネットからアクセスできる完全修飾ドメイン名(FQDN)を定義する。
    - ネットワークルール: 送信元アドレス、プロトコル、宛先ポート、送信先アドレスを定義する。
    - 受信要求を変換する宛先IPアドレスとポートを定義するネットワーク アドレス変換(NAT)規則。
- Azure Application Gatewayでも、"Webアプリケーション ファイアウォール"(WAF)と呼ばれるファイアウォールが提供されている。
    - WAFでは、Webアプリケーションの一般的な悪用と脆弱性に対する一元化された受信保護が行われる。
- インバウンドインターネットトラフィックの変換とサブネットに対するフィルター処理を行うようにAzure Firewall宛先ネットワークアドレス変換(DNAT)を構成できる。
    - DNATを構成すると、NATルールコレクションの動作は、DNATに設定される。
    - その後、NATルールコレクション内の各ルールを使用して、ファイアウォールのパブリックIPアドレスおよびポートをプライベートIPアドレスおよびポートに変換できる。
    - DNATルールは、変換されたトラフィックを許可するための対応するネットワークルールを暗黙的に追加する。

### Azure DDoS Protectionの機能と使用方法の説明

- Azure DDoS ProtectionはDDoS攻撃からAzureリソースを保護するのに役立つ。
- DDoS攻撃(分散型サービス拒否攻撃)は、アプリケーションのリソースを過剰に消費して使い尽くすことによって、アプリケーションを遅くしたり、正当なユーザーに反応しない状態にしようとする。
- DDoS攻撃は、インターネット経由でパブリックに到達可能なすべてのリソース(Webサイトも含む)を標的にすることができる。
- DDoS Protectionを推奨されるアプリケーション設計プラクティスと組み合わせると、DDoS攻撃に対する防御を用意できる。
- DDoS Protectionでは、Microsoftのグローバル ネットワークのスケールと弾力性を利用して、すべてのAzureリージョンでDDoSを軽減できる。
- DDoS Protectionサービスでは、サービスの可用性に影響が及ぶ前に、Azureネットワークの境界でDDoSトラフィックを分析して破棄することによって、Azureアプリケーションを保護する。
- DDoS Protectionでは、ネットワークを過負荷にしようとする攻撃者の試みが識別され、攻撃者からのトラフィックがこれ以上Azureサービスに到達することがないようにブロックされる。
- Azure DDoS Protectionには、次のサービスレベルがある。
    - Basicサービスレベルは、Azureサブスクリプションの一部として自動的に無料で有効になる。
    - Standardサービス レベルでは、特にAzure Virtual Networkリソースに特化してチューニングされた追加の軽減機能が提供される。

# ■5.ID、ガバナンス、プライバシー、およびコンプライアンス機能

## 概要
- 1.コアAzureIDサービスについて説明する
- 2.Azureガバナンス機能について説明する
- 3.プライバシーとコンプライアンスのリソースを説明する


## ■5-1.コアAzureIDサービスについて説明する

### 認証と認可の違いを説明する

- 認証とは、リソースにアクセスする個人またはサービスの身元を確認するプロセスである。
    - 特定の当事者に対し、本物の資格情報の提示を要求する行為が含まれ、IDとアクセス制御に必要なセキュリティプリンシパルを作成するための基礎となる。
    - ユーザーが申告どおりの本人であることを確認します。
- 認証ではユーザーのIDを確認するが、認可とは、認証された個人またはサービスに付与されるアクセス権のレベルを確認するプロセスである。
    - これにより、アクセスが許可されているデータと、そのデータで実行できる操作が指定される。
    - 認可は承認とも呼ばれ、この2つは同じ意味で用いられる。

### Azure Active Directoryの定義

- Azure Active Directory(Azure AD)は、クラウドベースのIDおよびアクセス管理サービスである。
- Azure ADを使用すると、組織はビジネス要件に基づいてアプリとリソースへのアクセスを制御できるようになる。
- Azure AD(Active Directory)とActive Directoryの違い
    - オンプレミス環境の場合、Windows Serverで実行されるActive Directoryは、自分の組織によって管理されるIDおよびアクセスの管理サービスを提供する。 
    - Azure ADは、MicrosoftのクラウドベースのIDおよびアクセスの管理サービスである。 
    - Azure ADでは、ユーザーがIDアカウントを制御しますが、サービスがグローバルに利用可能であることをMicrosoftが保証する。
    - オンプレミスでActive Directoryを使用してIDをセキュリティ保護する場合、Microsoftはサインインの試行を監視しない。
    - Active DirectoryをAzure ADと接続すると、Microsoftが追加費用なしで疑わしいサインインの試行を検出することによってお客様の環境が保護される。
- Azure Active Directoryを使って開発者はセキュリティトークンを取得できる。
- Azure Active Directoryには、Identity Protectionと呼ばれる機能があり、承認されたユーザーのみがAzureポータルにサインインできるように管理する。 
- 「サインインリスクポリシー」は、多要素認証MFAと場所ここではオンプレミス)の両方を有効にすることができる。
- Azure AD Connectは、ハイブリッドIDの目標に適合し、それを達成するように設計されたMicrosoftのツールである。
- 同期機能を実行することで、オンプレミスのユーザーやグループのID情報をクラウド側と一致させることができる。
- Azure ADのライセンス
    - Microsoft 365やMicrosoft AzureなどのMicrosoft Onlineビジネス サービスでは、サインインとID保護の支援のためにAzure ADが必要になる。
    - Microsoft Onlineビジネス サービスにサブスクライブすると、自動的に Azure ADが提供されて、すべての無料機能を利用できるようになる。
    - Azure ADの実装を強化するために、Azure Active Directory Premium P1またはPremium P2ライセンスにアップグレードして、有料機能を追加することもできる。
    - Azure Active Directory Free
        - ユーザーとグループの管理、オンプレミスディレクトリ同期、基本レポート、クラウドユーザー向けのセルフサービスのパスワード変更のほか、Azure、Microsoft 365、および多くの一般的なSaaSアプリ全体のシングル サインオンを提供する。
    - Azure Active Directory Premium P1
        - P1では、Freeの機能に加えて、ハイブリッドユーザーがオンプレミスとクラウドの両方のリソースにアクセスすることもできる。
        - さらに、動的グループ、セルフサービス グループ管理、Microsoft Identity Manager(オンプレミスのIDおよびアクセス管理スイート)、オンプレミスユーザーによるセルフサービスパスワードリセットを可能にするクラウドの書き戻し機能など、高度な管理機能もサポートしている。
    - Azure Active Directory Premium P2
        - P2では、FreeおよびP1の機能に加えて、アプリや重要な企業データへのリスクベースの条件付きアクセスを提供するのに役立つAzure Active Directory Identity Protectionのほか、管理者と管理者によるリソースへのアクセスを検出、制限、監視するのに役立ち、必要に応じてジャストインタイム アクセスを提供できる Privileged Identity Managementが提供されます。
    - "従量課金制" の機能ライセンス
        - Azure Active Directory Business-to-Customer(B2C)などの機能ライセンスを別途取得することもできる。
        - B2Cは、顧客向けアプリ用のIDおよびアクセス管理ソリューションを提供するのに役立つ可能性がある。
- Azureテナント
    - Azure ADの信頼された専用インスタンスであり、組織がMicrosoft Azure、Microsoft Intune、Microsoft 365などの Microsoftクラウド サービスのサブスクリプションにサインアップしたときに自動的に作成される。
    - 1つのAzureテナントは単一の組織を表す。
- Microsoft アカウント(別称:MSA)
    - Outlook、OneDrive、Xbox LIVE、Microsoft 365など、コンシューマー向けの Microsoft 製品とクラウドサービスへのアクセスを提供する個人アカウント。
    - お使いのMicrosoft アカウントは、Microsoftが運営する Microsoft コンシューマーIDアカウントシステムを使用して作成、保存されます。
- Azure Active Directoryは無料で500,000個のオブジェクトを作成できる。
- これらのオブジェクトには、ユーザーとグループの両方が含まれる。

### Azure Active Directoryの機能と使い方を説明する

- 認証
    - これには、アプリケーションとリソースにアクセスするためのIDの確認が含まれる。
    - また、セルフサービスによるパスワードのリセット、多要素認証、禁止されているパスワードのカスタムリスト、スマートロックアウトサービスなどの機能も提供される。
- シングルサインオン(SSO)
    - SSOを使用すると、ユーザーは1つのユーザー名と1つのパスワードを記憶するだけで複数のアプリケーションにアクセスできるようになる。
    - 単一のIDがユーザーに関連付けられているため、セキュリティモデルが単純化される。
    - ユーザーがロールを変更したか、退職したときに、アクセス変更がそのIDに関連付けられ、アカウントを変更したり、無効にしたりするために必要な労力が大幅に減少する。
- アプリケーション管理
    - Azure ADを使用すると、クラウドとオンプレミスのアプリを管理できる。
- デバイス管理
    - 個々のユーザーのアカウントと共に、Azure ADはデバイスの登録をサポートしている。
    - 登録により、Microsoft Intuneなどのツールを使用してデバイスを管理できるようになる。
    - また、デバイスベースの条件付きアクセスポリシーで、要求元のユーザーアカウントに関係なく、既知のデバイスからのアクセスのみに制限することもできる。
- ドメインサービス
    - ドメインコントローラーを使用せずにドメインにAzure仮想マシンを参加させる。
- ハイブリッドID
    - Azure Active Directory ConnectとConnect Healthを使用して、場所(クラウドまたはオンプレミス)に関係なく、すべてのリソースに対する認証と認可のための単一のユーザーIDを提供する。
- Identity Governance
    - 従業員、ビジネス パートナー、ベンダー、サービス、およびアプリのアクセス制御を通じて、組織のIDを管理する。
    - アクセス レビューを実行することもできる。
- Identity Protection
    - 組織のIDに影響を及ぼす潜在的な脆弱性を検出するほか、疑わしいアクションに対応するようにポリシーを構成し、適切なアクションを行って解決する。
- Azure リソースのマネージド ID
    - Key Vaultを含む、任意のAzure ADでサポートされている認証サービスに対して認証できる、Azure ADの自動管理されたマネージドIDをAzureサービスに提供する。
- Privileged Identity Management(PIM)
    - 組織内でのアクセスを管理、制御、および監視する。
    - この機能には、Azure ADとAzureのリソースへのアクセスと、その他 Microsoft Online Services(Microsoft 365、Intuneなど)へのアクセスが含まれる。
- レポートと監視
    - 環境におけるセキュリティや使用パターンに関する分析情報を得ることができる。

### 条件付きアクセス、多要素認証(MFA)、シングルサインオン(SSO)の機能と使用方法を説明する

#### 条件付きアクセス

- 条件付きアクセスは、IDの "シグナル" に基づいてリソースへのアクセスを許可(または拒否)するために Azure Active Directoryによって使用されるツールである。
- これらのシグナルには、ユーザーが誰であるか、ユーザーの所在地、ユーザーがアクセスを要求しているデバイスなどが含まれる。
- 条件付きアクセスを使用すると、IT管理者は次のことを行うことができる。
    - ユーザーがいつでも、どこでも生産性を上げられるようにする。
    - 組織の資産を保護する。
- 条件付きアクセスにより、ユーザーに対してより細やかな多要素認証エクスペリエンスが提供される。
    - たとえば、ユーザーが既知の場所にいる場合は、2番目の認証要素が求められない可能性がある。
    - ただし、サインインシグナルが異常な場合やユーザーが予期しない場所にいる場合は、2番目の認証要素が求められることがある。
- 条件付きアクセスは、次のことを行う必要がある場合に役に立つ。
    - アプリケーションへのアクセスに多要素認証を求める。
    - 承認されたクライアントアプリケーションからのみサービスにアクセスするように求める。
    - マネージドデバイスからのみアプリケーションにアクセスするようにユーザーに求める。
    - 不明な場所または予期しない場所からのアクセスなど、信頼されていないソースからのアクセスをブロックする。
- 条件付きアクセスを使用するには、Azure AD Premium P1またはP2ライセンスが必要である。

#### Azure AD Multi-Factor Authentication

- Azure AD Multi-Factor Authenticationは、多要素認証機能を提供する Microsoftのサービスである。
- Azure AD Multi-Factor Authenticationを使用すると、ユーザーはサインイン時に追加の形式の認証(電話やモバイルアプリの通知など)を選択できる。

#### シングルサインオン(SSO)

- SSOを使用すると、ユーザーは1つのユーザー名と1つのパスワードを記憶するだけで複数のアプリケーションにアクセスできるようになる。
- 単一のIDがユーザーに関連付けられているため、セキュリティモデルが単純化される。
- ユーザーがロールを変更したか、退職したときに、アクセス変更がそのIDに関連付けられ、アカウントを変更したり、無効にしたりするために必要な労力が大幅に減少する。

#### Azure Active Directory Identity Protection

- Identity Protectionは、組織が次の3つの主要なタスクを実行できるツールである。
    - IDベースのリスクの検出と修復を自動化する。
    - ポータルのデータを使用してリスクを調査する。
    - 詳細な分析のために、サードパーティ製ユーティリティにリスク検出データをエクスポートする。  
- Identity Protectionは、Azure ADにより組織について、Microsoftアカウントによりコンシューマー領域について、そしてXboxによりゲームについて得られた学習内容を使用して、ユーザーを保護する。
- 匿名IPアドレスを使用してインターネットから署名するユーザーは、パスワードの変更と「自己修復」することを要求する。
- Azure Active Directory ID Protectionを使用すると、条件に基づいてMFA(Multi-Factor Authentication)を適用できる。
- Identity Protectionによって生成された信号、受信した信号は、条件付きアクセスなどのツールにさらに送信してアクセスに関する決定を行うことができる。
- また、セキュリティ情報とイベント管理(SIEM)ツールに送り戻して、組織の適用するポリシーに基づく詳細な調査を行うこともできる。
- Identity Protectionによって生成された信号、受信した信号は、条件付きアクセスなどのツールにさらに送信してアクセスに関する決定を行うことができる。
- Identity Protectionは、次の分類のリスクを識別する。
    - 匿名のIPアドレスからのサインイン
    - ユーザーの最近のサインインに基づき特殊と判断された場所からのサインイン。
    - マルウェアにリンクしたIPアドレスからのサインイン
    - 指定されたユーザーで最近観察されていないプロパティを使用したサインイン。
    - 資格情報の漏洩
    - パスワードスプレー
    - Azure AD脅威インテリジェンス 	

#### Azure AD Connect

- Azure AD Connectは、ハイブリッドIDの目標に適合し、それを達成するように設計されたMicrosoftのツールである。
- 特徴
    - パスワードハッシュ同期 - ユーザーのオンプレミスADパスワードのハッシュをAzure ADと同期させるサインイン方法。
    - パススルー認証 - ユーザーがオンプレミスとクラウド内で同じパスワードを使用できるようにするサインイン方法であり、フェデレーション環境の追加のインフラストラクチャは必要ない。
    - フェデレーション統合 - フェデレーションはAzure AD Connectのオプション部分であり、オンプレミスのAD FSインフラストラクチャを使ってハイブリッド環境を構成するために使用できる。
        - 証明書の更新や追加のAD FSサーバー デプロイなどのAD FS管理機能も提供される。
    - 同期 - ユーザー、グループ、およびその他のオブジェクトを作成する役割を果たす。
        - また、オンプレミスのユーザーやグループのID情報をクラウド側と一致させる役割もある。
        - この同期にはパスワードハッシュも含まれる。
    - 正常性の監視 - Azure AD Connect Healthは、堅牢な監視を提供したり、このアクティビティを表示するためのAzure Portal内の中央の場所を提供したりできる。

#### Azure AD Connect Health

- Azure Active Directory Connect Healthでは、オンプレミスIDインフラストラクチャの堅牢な監視が提供される。
- Microsoft 365やMicrosoft Online Servicesへの信頼性の高い接続を維持することができる。
- この信頼性は、主要なIDコンポーネントの監視機能を提供することで実現される。
- また、これらのコンポーネントに関する主要なデータポイントにアクセスしやすくなる。
- この情報は、Azure AD Connect Healthポータルに表示される。
-  Azure AD Connect Healthポータルを使用してアラート、パフォーマンスの監視、使用状況の分析、その他の情報を表示する。
-  Azure AD Connect Healthでは、1つのレンズで主要なIDコンポーネントの正常性をまとめて確認できる。

## ■5-2.Azureガバナンス機能について説明する

### ロールベース・アクセス・コントロール(RBAC)の機能と使い方を説明する

- Azureのロールベースのアクセス制御(Azure RBAC)を使用すると、アクセス許可を定義するロールを作成できる。
- ロールベースのアクセス制御は、このアクセスが適用されるリソースまたはリソースのセットである"スコープ"に対して適用される。
- スコープに含まれるもの
    - 管理グループ(複数のサブスクリプションのコレクション)。
    - 1つのサブスクリプション。
    - リソース グループ。
    - 1つのリソース。
- 次のことが必要なときにAzure RBACを使用する。
    - あるユーザーにサブスクリプション内のVMの管理を許可し、別のユーザーに仮想ネットワークの管理を許可する。
    - データベース管理者グループにサブスクリプション内のSQLデータベースの管理を許可する。
    - あるユーザーに、仮想マシン、Webサイト、サブネットなど、リソースグループ内のすべてのリソースの管理を許可する。
    - あるアプリケーションに、リソースグループ内のすべてのリソースへのアクセスを許可する。
- Azure RBACは、Azure Resource Managerを経由するAzureリソースに対して開始されるすべてのアクションに適用される。
- Resource Managerは、クラウドリソースを整理してセキュリティ保護する手段を提供する管理サービスである。
-  Azure RBACでは、アプリケーションレベルまたはデータレベルではアクセス許可は適用されない。
- アプリケーションのセキュリティは、アプリケーションで処理する必要がある。
- RBACでは、"許可モデル"が使用される。
- ロールを割り当てられると、RBACによって読み取り、書き込み、削除などの特定のアクションの実行を"許可"される。
- 1つのロールの割り当てによってあるリソースグループへの読み取りアクセス許可が付与されていて、別のロールの割り当てによって同じリソースグループへの書き込みアクセス許可が付与されている場合、ユーザーはそのリソースグループで読み取りと書き込みの両方のアクセス許可を持つことになる。

### リソースロックの機能と使い方を説明する

- リソースロックを使用すると、リソースが誤って削除または変更されるのを防ぐことができる。
- Azureのロールベースのアクセス制御(Azure RBAC)ポリシーが適用されていても、適切なレベルのアクセス権を持つユーザーが重要なクラウドリソースを削除するリスクがある。
- リソースロックは、リソースを削除または変更してはならないことを通知する警告システムと考えることができる。
- リソースロックは、Azure portal、PowerShell、Azure CLI、またはAzure Resource Managerテンプレートから管理できる。
- ロックは、サブスクリプション、リソースグループ、または個々のリソースに対して適用できる。
- ロックレベルはCanNotDeleteまたはReadOnlyに設定できる。
    - CanNotDeleteは、承認されたユーザーはリソースの読み取りと変更を行うことができるが、先にロックを削除しないとリソースを削除できないことを意味する。
    - ReadOnlyは、承認されたユーザーはリソースを読み取ることはできるが、リソースの削除または変更はできないことを意味する。
- 保護プロセスの堅牢性を高めるには、リソースロックとAzure Blueprintsを組み合わせることができる。
- Azure Blueprintsを使用すると、組織で必要とされる標準的なAzureリソースのセットを定義できる。

### リソースタグの機能と使い方を説明する

- リソース"タグ"は、リソースを整理するためのもう1つの方法である。
- リソースタグにより、リソースに関する追加情報(メタデータ)が提供される。
- 関連するリソースを整理する方法の1つは、それらを独自のサブスクリプションに配置することである。
- また、リソースグループを使用して、関連するリソースを管理することもできる。
- リソース タグは、PowerShell、Azure CLI、Azure Resource Managerテンプレート、REST API、またはAzure portalを使用して、追加、変更、または削除できる。
- Azure Policyを使用してタグを管理することもできる。

### Azure Policyの機能と使い方を説明する

- Azure Policyを使用すると、リソースを制御または監査するポリシーの作成、割り当て、管理を行うことができる。
- Azure Policyを使用すると、個別のポリシーと、関連するポリシーのグループ ("イニシアティブ"と呼ばれる)の両方を定義できる。
- Azure Policyによってリソースが評価され、作成したポリシーに準拠していないリソースが明示される。
- Azure Policyを使用すると、準拠していないリソースが作成されないようにすることもできる。
- Azure Policyには、ストレージ、ネットワーク、コンピューティング、Security Center、監視などのカテゴリで使用できる組み込みのポリシーとイニシアティブの定義が多数用意されている。
- Azure Policyでのポリシーの実装は、次の3つのステップで行う。
    - 1.ポリシー定義を作成。
    - 2.定義をリソースに割り当てる。
    - 3.評価の結果を確認。
- Azure Policyのイニシアティブは、関連するポリシーを1つのセットにグループ化する手段である。
- イニシアティブ定義には、大きな目標に対するコンプライアンスの状態を追跡するのに役立つすべてのポリシー定義が含まれる。
- イニシアティブを定義するには、Azure portalまたはコマンドラインツールを使用する。
- Azure portalでは、Azureによって既に提供されている組み込みイニシアティブの一覧を検索できる。
- 独自のカスタムポリシー定義を作成することもできる。
- コンプライアンスダッシュボードを通じて、環境の全体的な状態を評価するための集計ビューを提供する。
- これには、リソースごと、およびポリシーごとの粒度でドリルダウンできる機能が備わっている。 
- 既存のリソースの一括修復と新しいリソースの自動修復を使用して、お客様のリソースでコンプライアンスを実現するのにも便利である。

### Azure Blueprints の機能と使い方を説明する

- Azure Blueprintsを使用すると、組織で必要とされるガバナンスツールと標準 Azureリソースの反復可能なセットを定義できる。
- 新しいサブスクリプションごとに Azure Policyのような機能を構成する必要はなく、Azure Blueprintsを使用することで、組織で必要なガバナンスツールと標準のAzureリソースの反復可能なセットを定義できる。
- Azure Blueprintsを利用することで組織内で標準化して準拠すべき要件に基づいて、反復可能な一連のAzureリソースを定義できる。
- 具体的には以下の設定を標準化して、繰り返し利用できるように設定が可能となる。
  - ロールベースのアクセス許可
  - ポリシーの割り当て
  - Azure Resource Managerテンプレート(ARM テンプレート)
  - リソースグループ 
- Azure Blueprintsサービスの背後には、グローバルに分散されたAzure Cosmos DBがある。
- Blueprintオブジェクトは複数のAzureリージョンにレプリケートされる。
- Azure Blueprintsでどのリージョンにリソースがデプロイされても、このレプリケーションによって、Blueprintオブジェクトへのアクセスの一貫性、高可用性、短い待ち時間が実現される。

## ■5-3.プライバシーとコンプライアンスのリソースを説明する

- ### セキュリティ、プライバシー、コンプライアンスに関するマイクロソフトの基本方針を説明する
- ### Microsoft Privacy Statement、Online Services Terms(OST)、Data Protection Addendum(DPA)の目的を説明する

#### Microsoft Privacy Statement

- [Microsoftプライバシーに関する声明](https://privacy.microsoft.com/ja-jp/privacystatement)には、Microsoftがお客様のデータを収集、保護、および使用する方法についての信頼が記載されている。

### トラストセンターの目的について

- [トラストセンター](https://www.microsoft.com/ja-jp/trust-center?rtc=1)には、コンプライアンス標準とAzureがビジネスをサポートする方法に関するドキュメントが掲載されている。

### Azureコンプライアンス文書の目的を説明する

- [Azureコンプライアンスドキュメント](https://docs.microsoft.com/ja-jp/azure/compliance/)には、Azureの法律と規制の標準とコンプライアンスに関する詳細情報が記載されている。

### Azure Sovereign Regions（Azure Governmentクラウドサービス、Azure Chinaクラウドサービス）の目的を説明する

- [Azure Government の概要](https://docs.microsoft.com/ja-jp/learn/modules/intro-to-azure-government/)
- [Azure Chinaの概要](https://docs.microsoft.com/ja-jp/azure/china/overview-operations)

# ■6.Azure Cost Management およびサービスレベルアグリーメント

## 概要

- 1.コストの計画と管理の方法を説明する
- 2.Azureサービスレベルアグリーメント（SLA）とサービスライフサイクルについて説明する

## ■6-1.コストの計画と管理の方法を説明する

### コストに影響を与える要因の特定（リソースの種類、サービス、ロケーション、入出庫のトラフィック）

#### コストに影響を与える要因

- リソースの種類
- 使用状況の測定
- リソースの使用状況
- Azure サブスクリプションの種類
- 場所


### コスト削減につながる要素の特定（予約済みインスタンス、予約済み容量、ハイブリッド利用のメリット、スポット価格）


#### コストを最小限に抑えるのに役立つ推奨プラクティス

- デプロイする前に見積もりコストを理解する
- Azure Advisorを使用して使用状況を監視する
- 使用制限を使用して支出を制限する
- Azure Reservationsを使用して前払いする
- 低コストの場所およびリージョンを選択する
- 利用できるコスト削減オファーを調べる
- Azure Cost Management + Billingを使用して支出を制御する
    - Azure Cost Management + Billingは無料のサービスであり、Azure の課金の把握、アカウントとサブスクリプションの管理、Azureの支出の監視と制御、リソースの使用の最適化に役立つ。
- タグを適用してコストの所有者を識別する
- 使用率が低い仮想マシンのサイズを変更する
- 業務時間外に仮想マシンの割り当てを解除する
- 使用されていないリソースを削除する
- IaaSサービスからPaaSサービスに移行する
    - Azure SQL DatabaseなどのPaaSサービスは、多くの場合、実行コストが低くなるだけでなく、自動的に管理されるため、ソフトウェアの更新プログラム、セキュリティ修正プログラム、読み書き操作に対する物理記憶領域の最適化などについて、心配する必要がなくなる。
- ライセンスコストを節約する
    - コスト効率の高いオペレーティング システムを選択する
    - Azureハイブリッド特典を使用して、Azureでソフトウェアライセンスを別の用途に使用する

### Pricing calculatorとTotal Cost of Ownership (TCO)calculatorの機能と使用方法を説明する

#### 総保有コスト(TCO)計算ツールを使用してコストを比較する

- [TCO 計算ツール](https://azure.microsoft.com/ja-jp/pricing/tco/calculator/)を使用すると、オンプレミスのデータセンターではなく、Azureでソリューションを運用した場合の、時間の経過に伴うコストの節約を見積もることができる。
- TCO計算ツールを使用して、オンプレミスのワークロードの詳細を入力する。
- 次に、関連する運用コストについて、提案された業界の平均コスト(調整可能)を確認する。
- これらのコストには、電力、ネットワーク メンテナンス、ITの労力が含まれている。
- 次にサイドバイサイドレポートが表示される。
- このレポートを使用すると、これらのコストをAzureで実行される同じワークロードと比較できる。

### Azure Cost Managementの機能と使い方を説明する

#### Azure Cost Managementの概念

- Cost Managementは、高度な分析によって組織のコストや使用パターンを示す。
- Cost Managementのレポートには、Azureサービスとサードパーティの Marketplaceオファリングによって消費される使用量ベースのコストが表示される。
- Cost Managementは、Azure管理グループ、予算、および推奨事項を使用して、支出の編成方法やコストの削減方法を明確に示す。
- Azure portalや自動エクスポート用のさまざまなAPIを使用して、コストデータを外部システムや外部プロセスに統合することもできる。
- 課金データの自動エクスポートや、スケジュール化されたレポートも利用できる。

#### Azure Cost Management + Billing

- Azure Cost ManagementとBillingは、ワークロードのコストの分析、管理、最適化に役立つ、Microsoftが提供するツールのスイートである。
- このスイートを使用すると、組織がクラウドによってもたらされるベネフィットを確実に活用できる。
- Azureの製品とサービスでは、使用した分に応じて料金が発生する。
- Azureリソースを作成して使用すると、そのリソースに対して課金される。
- 新しいリソースのデプロイは簡単であるため、ワークロードのコストは、適切な分析や監視を行わないと急速に跳ね上がることがある。
- Azure Cost ManagementとBillingの機能は、次の目的で使用される。
    - 請求書の支払いなどの課金管理タスクを実施する
    - コストへの請求アクセスを管理する
    - 月次請求書の生成に使用されたコストと使用状況データをダウンロードする
    - コストにデータ分析を事前に適用する
    - 支出しきい値を設定する
    - 支出を最適化できるワークロードの変更の機会を特定する

#### Azure Billing の概念

- Azure Billing機能は、請求されたコストを確認し、請求情報へのアクセスを管理するために使用する。
- Azureを使用するためにサインアップすると、課金アカウントが作成される。
- 課金アカウントを使用して請求書と支払いを管理し、コストを追跡する。
- 複数の請求先アカウントにアクセスできる。
- 現在、Azure portalでは、次の種類の課金アカウントがサポートされている。
    - Microsoft Online Services Program: Azure Webサイトから Azureにサインアップすると、Microsoft Online Services Programの個別の課金アカウントが作成される。
    - マイクロソフトエンタープライズ契約:組織がAzureを使用するためにEnterprise Agreement(EA)を締結すると、Enterprise Agreementの課金アカウントが作成される。
    - Microsoft Customer Agreement: 組織がMicrosoft担当者と連携して Microsoft Customer Agreementを締結すると、Microsoft Customer Agreementの課金アカウントが作成される。
    - Microsoft Partner Agreement: Microsoft Partner Agreementの課金アカウントは、クラウドソリューションプロバイダー(CSP)パートナーが新しいコマースエクスペリエンスで顧客を管理する目的で作成される。

## ■6-2.Azureサービスレベルアグリーメント（SLA）とサービスライフサイクルについて説明する

- ### Azureサービスレベルアグリーメント（SLA）の目的を説明する
- ### SLAに影響を与える可能性のあるアクションを特定する（例：アベイラビリティー・ゾーン）

### サービス レベル アグリーメント(SLA)

- "サービスレベルアグリーメント" (SLA) とは、サービス企業と顧客の間の正式な契約のこと。
- Azureでは、この契約によって、Microsoftがお客様に対してコミットするパフォーマンス基準が定義される。
- 使用する各AzureサービスのSLAを理解することは、想定できる保証内容を把握するのに役立つ。
- Azureでアプリケーションを構築する場合、使用するサービスの可用性がアプリケーションのパフォーマンスに影響を与える可能性がある。
- 関連するSLAを理解することは、お客様が顧客に対して設定するSLAを策定するのに役立つ。
- SLAには「[サービス レベル アグリーメント](https://azure.microsoft.com/ja-jp/support/legal/sla/)」からアクセスできる。
- "サービス クレジット" とは、要求承認プロセスに従ってお客様に払い戻される、支払われた料金の割合のこと。
- SLAには、Azureサービスが仕様どおりに機能できなかった場合の Microsoft による対応方法が記載されている。
- たとえば、サービスがSLAどおりに機能できなかった場合の補償として、Azure の請求に対する割引を受けられることがある。
- 通常、サービス クレジットを受け取るにはMicrosoftに要求を申請する必要がある。
- クラウドソリューションプロバイダー(CSP)パートナーからAzureサービスを購入した場合は、通常、CSPによって要求プロセスが管理されます。
- 通常、無料の製品には SLAはない。
- 複数のSLAを組み合わせるプロセスは、一連のサービスに対する "複合 SLA" を計算するのに役立つ。
- 複合SLAを計算するには、個々のサービスのSLAを乗算する必要がある。
- 複合SLAがニーズを満たしていない場合の対処
    - 必要なSLAに適したカスタマイズ オプションを選択する
    - 可用性の要件を設計に組み込む
    - 冗長性を追加して可用性を高める

### Azure（Public PreviewおよびGeneral Availability）におけるサービスライフサイクルの説明

Azureについての明確な説明は見つけられなかったので、Microsoft365についての説明を参考として貼り付ける。

[Microsoft 365 のサービスのライフサイクルについて説明する](https://docs.microsoft.com/ja-jp/learn/modules/describe-service-life-cycle-microsoft-365/)

# ■参考資料

- [Microsoft Docs](https://docs.microsoft.com/ja-jp/)
- [Microsoft Learn](https://docs.microsoft.com/ja-jp/learn/)