今さらAzureを始めてみた【始め方と初期手順】：2024年11月版

# 
## Azureを1から始めてみた

以下のような初めてAzureを利用し始める人向けのDay1設定や最小サービス構築の作業ログです。Azureを触ってみたいけど、実際にサービスを使い始められるまで何かと面倒な登録や整備があるなあと感じてる人向けです。

- 個人研鑽でAzure利用を検討・検証し始める人
- 資格のCloud PractitionerやAdministratorAssociateを取ろうとしている人

基本的に無料アカウントの200USDクレジット・利用枠内での作業です。
Web画面の説明のまま淡々と進める箇所は説明など割愛しています。

#### 注意事項

あくまでいち個人の作業ログなので、実際に作業される場合は各自で必要な設定作業やセキュリティの要件に基づいたポリシー適用をしてください。

また、2024年11月現在に作業した内容です。サービス更改で今後も変わる可能性があります。以前はAzure ADでユーザやグループを作っていたのを現在はEntraIDというメニューで作るなど、ドキュメントやCopilotに聞いてもサービス名が昔のままで現在とかみ合わないケースがありました。

## AzureのDay1対応の流れ
### 初期作成

#### Microsoftアカウントの作成

Azureのサービスを利用するには、Microsoftアカウントが必要です。"outlook"や"hotmail"のドメインのアカウントです。持っていればそれでログインし、まだ持っていない場合は、[Microsoftアカウント](https://signup.live.com/)を作成します。

#### Azureアカウントの作成

[Azureのアカウント](https://azure.microsoft.com/ja-jp/pricing/purchase-options/azure-account)の「Azureを無料で試す」から前述のMSアカウントでログインし必要情報を入力します。
クレジットカードを登録しますが、試用期間中状態であれば課金はされません。

#### Azureポータルにログインして利用開始

アカウントが作成されたら[Azureポータル](https://portal.azure.com/#home)からログインし、Azureの各種サービスを利用できるようになります。

### Azureの基本設定

#### サブスクリプションの確認

Azureにログインし、Azureサービスから「サブスクリプション」を選ぶとデフォルトで"Azure subscription 1"というものができています。サブスクリプションは課金の単位になる論理グループですが検証であればこのままこれを使うで問題ないと思います。

#### リソースグループの作成

リソースグループは、サブスクリプションから一つ下のレイヤーでAzureリソースを整理するための基本的な単位です。リソースグループを作成て、その中にリソースを追加していきます。逆にリソースグループがないとリソースは作れません。

- 作成手順

1. リソースグループを選択: 左側のメニューから「リソースグループ」を選択します。
2. 新規作成: 「リソースグループ」ページで「+ 作成」ボタンをクリックします。
3. リソースグループの詳細を入力:
    
    | 設定項目 | 説明 |　設定値例 |
    |-----------|------------|------------|
    | サブスクリプション | リソースグループを関連付けるサブスクリプションを選択します。       | Azure subscription 1      |
    | リソースグループ名    | 任意のリソースグループの名前を入力します。 | RG1 |
    | リージョン   |リソースグループを作成するリージョン（データセンターの場所）を選択します。 | (Asia  Pacific) Japan East|
    | タグの追加 (任意)  |必要に応じてタグを追加してリソースを整理します。 | 無し|
    
1. 確認と作成: 入力内容を確認し、問題がなければ「確認および作成」ボタンをクリックします。
1. 作成: 「作成」ボタンをクリックして、リソースグループの作成プロセスを開始します。

これでひとつのリソースグループが作成されます。リソースグループの分け方は組織やプロジェクト、アプリやデプロイ環境など様々な分類軸で分けることが考えられます。そこは運用や管理のニーズ次第となります。今回は検証なので全部この"RG1"に入れていきます。

#### Azureユーザの作成

最初は管理者権限のアカウントで操作していると思いますが、そちらでは極力ログインしないようにします。代わりに一般ユーザを作成しそちらに適当な権限を与える運用をします。

- 作成手順

1. メニューから「Microsoft Entra ID」を選択します（旧版の"ActiveDirectory"では検索してもヒットしません）。
2. 「+ 追加」タブから「ユーザー」を選択し「新しいユーザーの作成」をクリックします。
3. ユーザの必須欄を入力:
    - 基本
    表に記載したもの以外はすべてデフォルトや空白値です。
    
    | 設定項目 | 説明 |　設定値例 |
    |-----------|------------|------------|
    |ユーザープリンシパル名 | ユーザ名とドメイン名からなる一意の文字列です。ドメイン側は自分のMicrosoftアカウント由来の文字列が自動生成されているので、入力するのは新規に作ろうとしているユーザ名だけです。　| kangaezaru |
    |表示名   | 表示されるユーザ名を記入します。日本語もOKのようです。| かんがえざる |
    |パスワード   | ユーザのパスワードです。自動生成することもできます。| ＜任意のパスワード> |

    - プロパティ
    ActiveDirectoryと同じように様々な情報を記入できますが入力しなくても作成できます。

    - 割り当て
    グループやロールを割り当てします。当該ユーザでAzureの作業をするなら「+ ロールの追加」から必要権限やセキュリティに基づいて適切なものを選んでください。

 4. 「レビューと作成」からエラーがなければ作成します。

-  作成したazureユーザでのログイン

1. Azureポータル右上のユーザ名を選択し「別のアカウントでサインインする」をクリック
1. サインインで前述のユーザープリンシパルをドメイン含めて入力し、設定したパスワードでログイン
1. セキュリティの要件によってパスワードの更新やMFAの確認が入るので適宜入力
1. すべて完了したら新規ユーザでAzureポータルにログインし、割り当てられた権限でAzure操作ができます。

#### ストレージアカウントの作成

Azureのストレージサービスを使うためストレージアカウントを作成します。ストレージアカウントはストレージそのものやユーザカウントのようなものではなく、ある運用や設定を定義する上位の管理単位として作られ、その配下にストレージの実体の入れ物がいくつか作成・管理されるイメージです。各種ログを保存したりクラウドシェルでスクリプトやARMテンプレートをクラウド上で実行したりする場合は必要になります。

- 作成手順

1. メニューから「ストレージアカウント」を選択します。
2. 「ストレージアカウントの作成」ボタンをクリックします。
3. プロジェクトの詳細を入力:
    
    | 設定項目 | 説明 |　設定値例 |
    |-----------|------------|------------|
    | サブスクリプション | ストレージアカウントを関連付けるサブスクリプションを選択します。       | Azure subscription 1      |
    | リソースグループ名    | 関連付けるリソースグループの名前を入力します。 | RG1 |

 4. インスタンスの詳細を入力:
    
    | 設定項目 | 説明 |　設定値例 |
    |-----------|------------|------------|
    | ストレージアカウント名 | 任意のストレージアカウント名を入力します。**グローバルで一意である必要があります。** | kangaezarustorage1 |
    | リージョン    | 利用するストレージのリージョンを選択します。 | (Asia  Pacific) Japan East |
    | プライマリサービス | 利用するサービスを選択します。今回はBlobを作成します。 | Azure Blob StorageまたはAzure Data Lake Storage Gen2 |
    | パフォーマンス | 遅延要件などが無ければStandardでOKです。 | Standard |
    | 冗長性 | ローカル/グローバルなどの冗長性オプションです。今回は安価なローカル冗長とします。 | ローカル冗長ストレージ（LRS） |
   
5. 入力内容を確認し、問題がなければ「確認および作成」ボタンをクリックし作成します。

#### ストレージの穴あけ

作成されたストレージアカウントはデフォルトではパブリックに公開されています。とりあえず作業しているマシンのグローバルIPからだけアクセスできるようにします。

:::note warn 
単純にパブリックネットワークアクセスを無効にしただけでは、Azureに管理者ユーザでサインインしてAzureポータル経由で閲覧しようとしてもアクセスが拒否されます。ただしAzureサービスのログ保存はされていたようです。
:::

- 作業手順

1. メニューから「ストレージアカウント」、作成したストレージアカウント名をクリックします。
2. メニューから「セキュリティとネットワーク > ネットワーク」をクリックします。
3. "パブリック ネットワーク アクセス"の設定項目で"選択した仮想ネットワークとIPアドレスから有効"を選択します。すると各種設定項目が展開されるので、"ファイアウォール"内の"クライアントIPアドレス('xxx.xxx.xxx.xxx')の追加"にチェックを入れます。
4.  「保存」をクリックします

インターネット環境が動的IPだったりすると別のやり方になったりするかもしれませんが適宜いいようにしてください。

#### サインインログの記録

意図しないログインや第三者のログイン試行を検知するためにサインインログを保存します。

- 作業手順

1. メニューから「Microsoft Entra ID」を選択します。
2. 左のメニューから「監視 > サインインログ」をクリックします。
3. 「データ設定のエクスポート」を選択し、「+ 診断設定を追加する」クリックします。
4. 任意の診断設定の名前を設定し、取得するログの種類をチェックします。
5. "宛先の詳細"で作成したストレージアカウントを指定します。
5. [保存]をクリックします。
個人で検証するだけなら全部選択しても大した量にはならないと思います。

#### アクティビティログの記録

誰がいつ何のアクションを行ったかのアクティビティログを保存します。ログはサブスクリプション単位で生成されるので

- 作業手順

1. ポータルのメニューから「サブスクリプション」を選択します。
1. ログを保存する対象のサブスクリプションをクリックします。
2. 左のメニューから「アクティビティログ」をクリックします。
3. 「診断設定」を選択し、「+ 診断設定を追加する」クリックします。
4. 任意の診断設定の名前を設定し、取得するログの種類をチェックします。
5. "宛先の詳細"で作成したストレージアカウントを指定します。
5. [保存]をクリックします。 
個人で検証するだけなら全部選択しても大した量にはならないと思います。


#### 課金アラートの設定

Azureで課金が発生して指定額を超えたときにアラートが来るようにします。サブスクリプションで予算を設定し、その一定割合を課金額が超えた際にメール通知が来るようにします。

- 作業手順

1. ポータルのメニューから「サブスクリプション」を選択します。
1. アラートを設定する対象のサブスクリプションをクリックします。
1. メニューから「コスト管理 > 予算」をクリックします。
1. 「+ 追加」で予算の詳細・予算額を入力:
    
    | 設定項目 | 説明 |　設定値例 |
    |-----------|------------|------------|
    | 名前 | 予算の名前。 | monthly |
    | リセット期間 | 予算の評価額が0にリセットされる時間枠 | 月単位 |
    | 作成日 | 予算の評価開始日 | 2024年　11月 |
    | 有効期限 | 予算評価やアラートの停止日 | 2025年　10月　31日 |
    | 予算金額 | 予算額の閾値。MSLearnだとドルの画像だったが、日本のポータルなら日本円で設定するよう。 | 1000 |

1. 警告条件を入力:

    | 設定項目 | 説明 |　設定値例 |
    |-----------|------------|------------|
    | 種類 | 実際or予測値 |実際 |
    | 予算の割合| 予算額に対しアラート発報の閾値% |1, 10, 100 |
    | アラートの受信者（メール）| 自分のアカウントメール |自分のoutlookメール|
    | 言語の設定| メールの言語 |Japanese（japan） |


#### Azureの基本設定　終わり

以上でとりあえずAzureを使い始め方・初期設定について終わります。
人によってはさらにMFA設定や最小権限ユーザ・グループの作成、ストレージのネットワークの穴あけ等考えなければいけないかと思います。

次からは実際のクラウドサービス・リソースの作成について追記していきます。