試験 Azure 70-533 を1週間で取得 Day1

Azure 70-533資格を取得するための備忘やメモをつらつらと書いていきます
※この記事は2018年7月23日に書きました

#[Day1] Microsoft Azureの紹介
## クラウドテクノロジの概要
米国国立標準技術研究のいうクラウドソリューションの5つの特徴は下記

- オンデマンドセルフサービス
- 幅広いネットワークアクセス
- リソースの共有
- スピーディな拡張と従量課金
- サービスが計測可能であること

2018/7/18(水)に SpotifyやPokemon Goのサービスが早朝ダウン1時間ほどした
日本時間の4時くらいなので影響は少なかっただろうが、原因はGooble Cloudの障害だったそうですね

## クラウドコンピューティングのメリット（一般的な）
従来のオンプレやデータセンタベースのコンピューティングよりも優れているのは下記

- データセンタ管理の委任
- 運用コストの削減
- サーバの統合
- 柔軟性と速度の向上

実案件をやる上では上記は色々と物申したい人は多いでしょうが、
物理的な調達プロセスがクラウドだと無いのが個人的には1番大きいですね。
HPEのDL2xxは2ヶ月後納品…とかキッティング…とかやっていた時代が懐かしいです。

## クラウドサービスの種類
### SaaS
ユーザはサービスをサブスクライブして通常はwebブラウザを介して、もしくはクライアント側のアプリをインストールすることでそのアプリやサービスを利用する

例：Office 365, SKype, Microsoft Dynamics CRM online など

メリットはユーザが保守をおこなわずにサービスに簡単にアクセスできること

### PaaS
開発者に対して独自のソリューションを構築するためのリソースを提供する
↓↓↓↓↓↓↓ あなたの記事の内容
通常は構成および管理のユーザインターフェイスとAPI(Application Programming Interface)を提供する
───────
通常は構成および管理のユーザインターフェイスとAPI(Appication Programming Interface)を提供する
↑↑↑↑↑↑↑ 編集リクエストの内容

例：Azure Web AppsやAzure App Service

メリットは開発者や開発したい組織はHWやOSリソースのプロビジョニングや保守をすることなくスケーラビリティが高いカスタムアプリを作成できる
### IaaS
仮想化サーバおよびネットワークインフラを提供する

例：AWS EC2, Azure VM等

プロビジョニングや保守する、つまり管理する範囲は広いけどその分十分にスケーラビリティが高いサービスを作ることができる

# Azureの概要
## Azureデータセンタの理解
Microsoftが管理するデータセンタが世界中でAzureをホストしています
立地的に1番近いところを利用する、が基本動作ですね

Azureのリージョンは下記のリンクで参照できます
<https://azure.microsoft.com/ja-jp/global-infrastructure/regions/>

- 2018年7月23日時点では54リージョン, 140カ国が利用可能
- AWSは西日本は未だローカル扱い、Azureだけが西日本もプライマリ利用可能
- ペアリングリージョン Japan Eastと対になっているのはJapan West

##Azureサービスモデルの理解
Azureは従量課金のマルチテナントサービス

- 購入オプション
   - 従量課金
   - 年間前払いサブスクリプション
   - MSリセラーからの購入
   - エンタープライズ契約(EA)
   - Azure Compute Option

- サポートプラン
 - Developer
 - Standard
 - Professional Direct
 - Premier 

NDVM (NVIDIA)のグラフィックボード(GPU)を搭載した超高級な仮想マシン
NDシリーズは当初アメリカのみの提供サービスだったが、順次展開中だそうな

##Azureの管理ポータル
現時点(2018.7)ではすでにAzure Classic Portalは日本のリージョンでも廃止されている 

これから試験を受ける方はテキストに上記の記述が多数みつかるかもしれないけど、全部無視でOK!今の試験にはClassicは出さない方針だし、現場でもお目にかかれない

Classic JavaScriptベースだったが、現在はCSS/HTML5も利用され、よりリッチで高機能のポータルに移管されている

#Azureネットワークの実装と管理
##仮想ネットワーク
仮想マシンやロードバランサなどのAzureリソース間の接続の構成と制御に使用できるネットワークオーバーレイ

キーワードとしては下記を学んでおくこと

- プライベートIPアドレス
- パブリックIPアドレス
- サブネット
- ネットワークインターフェイスカード
- DNS
- 内部ロードバランサ
バックエンドのアプリケーションサーバやDBサーバの方に対して負荷分散に利用
- パブリックロードバランサ
フロントエンドでBtoC向けにWebアプリケーションサービスを提供している場合に利用

- Traffic Manager
DNSラウンドロビンの機能を使って負荷分散する機能
異なるリージョンのシステム間で負荷分散が可能

例：Japan East⇔Japan West、Japan East⇔East Asia
※Azureのロードバランサは同一リージョン内のみでしか負荷分散できない

- NSG (ネットワークセキュリティグループ)
いわゆるアクセスリスト

- UDR(ユーザ定義ルート)
ルートテーブルみたいなもの

- 強制トンネリング
パケット検査や企業監査を実装するシナリオで使うらしい

- Azure Virtual Network 
異なるリージョン間での通信のやりとり、Internetを利用しないExpress-route

## Azure Resource Managerのデプロイモデル
- ASMモデル(旧式)とARMモデル（現行の標準)があり、現在新規構築する場合はARMを使用

- ASMはPaaSを無理やりIaaS風に使えるようにしたイメージ、AWSやOpenStackなどの標準のIaaSと異なっていた

- ARMとAWSはテクノロジが異なるためASMからARMへの単純移行はできず再構築となる

- ASMとARMではPowerShellのコマンドレットに互換性はありません

##実際に仮想ネットワークを作ってみる
上記のような机上である程度、言葉の理解や周辺知識を補強したあと手を動かして実際に仮想ネットワークをARMで実装してみます (下記の設計パラメータを参照)

前提として利用するリージョンはEast WS 米国西部(Primary)として、East US 米国東部(Secondary)として利用する

1. ポータル上の左メニューの[すべてのサービス]から[サブスクリプション]を確認
サブスクリプションIDを確認しておく（問い合わせ時のIDになる）

2. 左から[仮想ネットワーク]をクリックして作成
3. 名前やアドレス空間、リソースグループ名、場所、サブネット、アドレス範囲を入力
※DDoS保護はDDoS対策の無償サービスや有償で高機能化、サービスエンドポイントはPaaS連携する際に利用するもの

4. 作成を押すと、ポータルがぐるぐる周り、リソースがデプロイされる状態へ遷移

Azureの仮想ネットワークは仮想マシンなどへのホストへのIP-Addrは自動的に割り当てる(DHCP)　

もちろん手動による割当も可能だが、非推奨 ActiveDirectoryドメインコントローラもIPアドレスは動的に割り当てられる

※手動の場合は New-AuzureRmNetworkInterfaceコマンドレットを-PrivateIPAddressスイッチとともに使用する
5. デプロイが完了したら、左メニューから[仮想ネットワーク]を選択してパラメータをチェック

このパラメータ画面からFirewallを仮想ネットワークに作成したりDNSの推奨値を社内サーバならば他のADに向ける等の設定が変更できる

ちなみにAzure上に作成する様々なリソースを纏めて、リソースグループといいます


---
###設計パラメータのメモ
- [West HQ] Resource group: adatum-hq-rg
    - vNet: adatum-hq-vnet
        - 10.1.0.0/24
    - Subnet: Subnet-1
        - 10.1.0.0/25
        - GW-Subnet: 10.1.0.128/28 自動的に作成
- [East BR] Resource group: adatum-br-rg
    - vNet: adatum-br-vnet
        - 10.2.0.0/24
    - Subnet: Subnet-1
        - 10.2.0.0/25
        - GW-Subnet: 10.2.0.128/28 自動的に作成
        
---

仮想マシンに動的に割り当てられたIP-Addrはポータルから仮想マシンを停止させた場合にリリースされてしまうので注意　※RDPからshutdownした場合はリリースされない、パブリックIPの場合は課金される

##Azure仮想ネットワークの計画(プロビジョニング)
- 重複しないプライベートまたはパブリック空間から選択
- サブネットの選択
    - 各サブネット内の最初の3つのIP-Addrと最後のIPアドレスは使用不可
    - 指定可能な最小のサブネットは29bitのサブネットマスクを使用
- 静的プライベートIP-Addrの使用（オプション)

ちなみに試験問題におけるPowerShellコマンドレット

- リソースの作成、管理、など出題傾向は高い
- 正しいコマンドレットの選択、パラメータやオプションの選択、実行順序の並べ替え


##仮想ネットワーク接続の構成
- ASMのリソースはIaaSv1、ARMのリソースはIaaSv2と呼ばれる
- ポイント対サイト
- サイト間
- 仮想ネットワーク間（リージョン間）
- 仮想ネットワーク間VPNは反対側のサイトの仮想ネットワークでプライベートIP-Addrに使用されているIPアドレス空間（サブネット）を指定する必要がある

- 逆側のIPアドレス空間を指定する際に「ローカルネットワーク」というリソース名と呼ぶ
- つまり逆側のくせにローカルネットワークと呼ぶので混乱しがち
- ローカルネットワークはあくまで設定で論理的なリソースではない

Azureのリソースの種類としては論理的なデバイスと設定値がある
論理的なデバイスの例：VM, vNIC, 仮想ネットワーク等
設定値の例　　　　　：パブリックIP-Addr, NSG, ローカルネットワーク(サイト間VPN)等

※ルート証明書作成手順、コマンドレットなどは試験に頻出するもの

##Azure PortalでVNet間VPN Gateway接続を構成する
参考手順 <https://docs.microsoft.com/ja-jp/azure/vpn-gateway/vpn-gateway-howto-vnet-vnet-resource-manager-portal>

1. [リソースの作成]をクリックし[ネットワーキング]を選択
2. [仮想ネットワークゲートウェイの作成]を選択
3. 名前、場所、SKU、パブリックIP等のパラメータを入力
4. [仮想ネットワーク]は対抗つまり逆側の仮想ネットワークを選ぶ
5. ゲートウェイ作るにはかなり時間がかかる（30分−60分くらい?)
6. 上記が完了しないとローカルネットワークの設定に入れないので注意

SKUはBasicを選ぶ
ルートベースに対応している物理ルータであるとAzureサイト内とネットワーク情報の交換が可能

##仮想マシンの作成
1. [Virtual Machines]からポチポチしてWindows server 2016 DCを選択
2. 基本設定の構成を実施（名前やVMディスク、ユーザ名やPW、場所を選択）
3. 仮想マシンのサイズを選択
4. 設定項目をパチパチいれて
5. 概要で最後に確認してデプロイ

作業途中に選ぶべきリージョンを間違っていることに気づき、すべて作り直す羽目に!!

とりあえずDay1はここまで

※この記事は2018年7月23日に書きました