Azure の学習リソース

# はじめに

動機は以下。

* Azure を学習しはじめたが、情報量が膨大であるため、初期の学習用リソースを整理しておきたい
* よく使う URL や世の中一般に使われているツールなどをまとめて残しておき、自分の学習効率を上げたい
* 情報のソースは公式ドキュメントが中心。ネット上の検索で取得できる一般公開されている情報から得られる情報をもとにしている
* 自分が特定機能に注力して学習したい場合は、それ用の章を設けて、今後育てていく。ここからリンク貼るようにしておく。

# 使い始め

何から始めたらいいかがよくわからない、という場合、まずは Microsoft Learn　から使ってみると、とっかかりにはなるだろう。
そのうちに Portal を使いながらいろいろ試していき、不明点やより高度な内容は Docs で補っていく、というのが良さそうである。

## Microsoft Learn

* [Microsoft Learn](https://docs.microsoft.com/ja-jp/learn/)
* 初級コース、それこそクラウドの基本から、段階的な学習ができる、公式の学習サイト。
* 各種ラーニングパスで系統的な学習ができる。
* たとえば [ラーニングパス「Azure の基礎」](https://docs.microsoft.com/ja-jp/learn/paths/azure-fundamentals/) を一通り学習すれば AZ900 Microsoft Azure の基礎試験 の前提知識が得られる、といったように、資格とコンテンツの関連も記載されている。

## Azure Portal

* [Azure Portal](https://portal.azure.com/)
* 無料でアカウントを作成し、機能を実際に使いはじめることができる。
* Learn で実際にハンズオン的な作業が発生するものの、無料で使えるものを駆使して学習できるようになっている。
* ダッシュボードやお気に入りを編集することで効率よく使うことができる。
 * [ダッシュボードの作成と共有](https://docs.microsoft.com/ja-jp/azure/azure-portal/azure-portal-dashboards)
 * [お気に入りの編集方法](https://docs.microsoft.com/ja-jp/azure/azure-portal/azure-portal-add-remove-sort-favorites)

## Microsoft Docs

* [Microsoft Docs](https://docs.microsoft.com/ja-jp/)
* 上記の Learn で分からなかったところや、さらに知りたいところの文書はここで探せる
* 文書が膨大のため、整理・分類されている。

Docs にはかなりの量の文書があるので、最初にどこに何があるかざっと見ておくとよい。

たとえば Azure Active Directory に関するものであれば、ドキュメントディレクトリで Azure → ID と進めば以下の4つのドキュメントが検索された。その中にさらに詳細な記載がある。

* [Azure Active Directory](https://docs.microsoft.com/ja-jp/azure/active-directory/)
* [Azure Active Directory B2C](https://docs.microsoft.com/ja-jp/azure/active-directory-b2c/)
* [Azure AD Domain Services](https://docs.microsoft.com/ja-jp/azure/active-directory-domain-services/)
* [Azure Information Protection](https://docs.microsoft.com/ja-jp/azure/information-protection/)

# 環境整備

[Microsoft Learn](https://docs.microsoft.com/ja-jp/learn/) の中で、Azure リソース、Azure ADを操作する箇所が出てくると、いくつかのツールを通して操作をすることになる。
以下はその例。同じやりたいことについて、複数の手段が用意されている。

* Azure portal から Azure Cloud Shell にてコマンド実行
* PowerShell からコマンド実行
* Azure CLI による操作

Azure PowerShell , Azure CLI などは Windows 10 インストール直後からデフォルトの設定で使えるようにはなっていなくて、最初に使えるようになるまで、インストールなど少し環境整備が必要だったりする。

## Azure Cloud Shell

* ブラウザー ベースのコマンド ライン エクスペリエンスで、Azure Portal からシェルを使ってリソース操作できる。
* Azure CLI があらかじめ利用できるようになっており、Cloud Shell を起動直後から、すぐに Azure CLI を利用できる。Bash から which az を実行してみよう。
* [Azure Cloud Shell の Bash のクイックスタート](https://docs.microsoft.com/ja-jp/azure/cloud-shell/quickstart)
* ファイル編集にエディター(codeというCloud Shellのエディタ)を使うことができる。vim, nano, emacsも使える
* [Azure Cloud Shell エディターの使用](https://docs.microsoft.com/ja-jp/azure/cloud-shell/using-cloud-shell-editor)
* [Cloud Shellで利用できるツール](https://docs.microsoft.com/ja-jp/azure/cloud-shell/features#tools)

## PowerShell

* [PowerShell](https://docs.microsoft.com/ja-jp/powershell/)
 * コマンドの使い方がよくわからない場合 Get-Help を使ってみる。たとえば Get-Help Get-Help と実行してみるとヘルプに何が出てくるかわかる。関連リンクも含まれていて結構、親切。
 * Learn に出てくるコマンドで Cloud Shell から実行してうまくいかなかった場合、同じこと（同じやりたいこと）を PowerShell から実行してみるとうまくいったりする。試してみよう。
 * [PowerShell ドキュメント](https://docs.microsoft.com/ja-jp/powershell/)
 * [Windows PowerShell のインストール](https://docs.microsoft.com/ja-jp/powershell/scripting/install/installing-windows-powershell?view=powershell-7)
* ギャラリー
 * [PowerShell ギャラリーとは](https://docs.microsoft.com/ja-jp/powershell/scripting/gallery/overview?view=powershell-7)
 * [Welcome to the PowerShell Gallery](https://www.powershellgallery.com/)
* [Azure PowerShell](https://docs.microsoft.com/ja-jp/powershell/azure/?view=azps-3.8.0)
 * PowerShell から Azure リソースを管理するコマンドレットの集まり
 * Learn の中でコマンドを叩くことも多く、その際に必要になる
* [Azure Active Directory の PowerShell モジュール](https://docs.microsoft.com/ja-jp/archive/blogs/jpazureid/aad-powershell)
 * Azure AD への操作で使用するモジュール

## Azure CLI

* CLI によるAzure リソースの操作もあるので、各 OS 用の CLI をインストールしておく
* [Azure CLI ドキュメント](https://docs.microsoft.com/ja-jp/cli/azure/?view=azure-cli-latest)
* [Azure CLI のインストール](https://docs.microsoft.com/ja-jp/cli/azure/install-azure-cli?view=azure-cli-latest)

コマンド例は [Azure CLI コマンド例](https://qiita.com/niiku-y/items/6d30eb5a66b006fee4c4) を参照。


# 管理や動作確認用のページ

書籍で Azure Active Directory を学習していると、いくつか動作確認などのために使う管理用ページがあったので、追加しておく。

* [Office 365 管理画面](https://login.microsoftonline.com/)
* [Office 365 portal](https://portal.office.com/)
* [Azure AD のアクセスパネル](https://myapplications.microsoft.com/)
* [Azure AD のアクセスパネル](https://myapps.microsoft.com/)
* [Azure AD 管理センター](https://aad.portal.azure.com/)

# その他

## IaaS 

* [Azure のリージョン](https://azure.microsoft.com/ja-jp/regions/)
 * 地理的な領域で、複数DCから成る。
 * AAD、Azure DNS、Azure Traffic Manager などグローバルなサービスはリージョンを選択する必要なし
 * 大きい区分から順に、地域(エリア)　→　リージョンペア　→　リージョン　→　可用性ゾーン　→　データセンター
 * リージョンペア：地域レベルの大規模な災害やメンテナンスの影響を受けないように冗長化している
 * 可用性ゾーン：複数DCから成る。1リージョンに最低3つのゾーンがある。リソースをゾーンにピン留めしたり、複数ゾーンでレプリケートしたりといった使い方ができる
* 仮想マシン
 * 可用性セット：VMの論理的なグループ。
 * 更新ドメイン：VM と同時に再起動できる物理HWのグループ。各DCの部分集合
 * 障害ドメイン：局所化された、障害を受ける単位で、サーバーラックと考えてよい。
 * 仮想マシン スケール セット：負荷分散されるVMの集合
* [Azure DNS](https://docs.microsoft.com/ja-jp/azure/dns/)
* 参考 : [Google Domains](https://domains.google/intl/ja_jp/)
 * カスタムドメイン名の設定では外部 DNS に TXT レコードか MX レコードの登録が必要
 * レコード登録先として [Azure DNS](https://docs.microsoft.com/ja-jp/azure/dns/) を使えるが、ドメインの購入はできないため、他でドメインを購入してから、ゾーンのレコードを登録する
 * Google Domains の場合、 DNS 設定のページにて、「カスタム ネームサーバーを使用する」設定にし、ドメインの権威ネームサーバーとして Azure の DNS サーバーを複数、指定する。
 * Azure の DNS サーバーは、Azure DNS ゾーン の NS レコードの値に入っている DNS サーバーを指定する。
* [Resource Explorer](https://resources.azure.com/)
 * JSON の書き換えなどに使える。トラブル時に便利
* [azcopy](https://docs.microsoft.com/ja-jp/azure/storage/common/storage-ref-azcopy)
 * [AzCopy のダウンロード](https://docs.microsoft.com/ja-jp/azure/storage/common/storage-use-azcopy-v10)
 * まずストレージアカウントを作成
 * ファイル共有を新規作成し、ファイルの入れ物としてフォルダ（ディレクトリ）を作る。フォルダのURLは調べておく
 * key生成して、SASトークンを把握する
 * たとえばWindows Server 2016 Datacenter に AzCopy をインストールし、ローカルのファイルを　Azure Files のフォルダの URL に送付、などできる
  * 送付先は、フォルダのURLと、SASをくっつけたもの。
* ARM (リソースマネージャー)
 * 自動化に便利
 * たとえばLBつきのスケールアウトが用意な仮想マシン群を作成できる。閾値によりスケールアウト、スケールインのタイミングはコントロール可能

## Office 365

* [Office 365 E5](https://www.microsoft.com/ja-jp/microsoft-365/business/office-365-enterprise-e5-business-software?activetab=pivot%3aoverviewtab)
 * 無料試用版あり

## Azure AD

* [Azure AD の学習リソース](https://qiita.com/niiku-y/items/0c8061de4ecf797bb747) を参照。
 * 概要レベルの記事へのリンク
 * 具体的に構成するときのヒントになりそうな記事やツール

## サンプルコード

* [Azure-Samples](https://github.com/Azure-Samples/)

ID管理に関連するものを学習した際に必要だったものを中心に書いているので、ほかに追加で必要なリソースもあるかもしれない。初期で準備しておいたほうがよいものがあれば、今後、随時追加していきたい。

以上