試験 70-533: Microsoft Azure Infrastructure Solutions の実装について

# マイクロソフト認定資格の試験 70-533: Microsoft Azure Infrastructure Solutions の実装について

公式 https://www.microsoft.com/ja-jp/learning/exam-70-533.aspx

注)記載内容は自己責任でオネシャス

# 概要

試験時間・・・120分
問題数・・・・53問
合格点・・・・700点以上
試験範囲は以下の通り。

# 試験範囲

1. Azure Appサービスアプリケーションの設計と実装 (10-15%)・・・5～8問
2. 計算リソースの作成と管理（20〜25％）・・・10～13問
3. ストレージ戦略の設計と実装（10-15％）・・・5問～8問
4. 仮想ネットワークを実装する（15-20%）・・・8～11問
5. ARMテンプレートの設計と展開（10-15％）・・・5問～8問
6. Azureセキュリティと回復サービスを管理する（25〜30％）・・・13～16問
7. Azure操作を管理する・・・？
8. Azureのアイデンティティを管理する・・・？

# 試験範囲(旧)

2018/1頃までは、以下の範囲だった模様。

1. Azure App Service アプリの設計と実装 (15-20%)
2. Azure Resource Manager 仮想マシンの作成および管理 (20-25%)
3. ストレージ戦略の設計と実装 (20-25%)
4. Azure Active Directory の実装 (15-20%)
5. 仮想ネットワークの実装 (10-15%)
6. ARM テンプレートの設計とデプロイ (10-15%)

# 試験範囲比較

|項目|旧|新|傾向|
|:--|--:|--:|:--|
|Azure Appサービスアプリケーションの設計と実装|15-20%|10-15%|▲5%|
|計算リソースの作成と管理|20-25%|20-25%|同|
|ストレージ戦略の設計と実装|20-25%|10-15%|▲10%|
|仮想ネットワークを実装する|10-15%|15-20%|△5%|
|ARMテンプレートの設計と展開|10-15%|10-15%|同|
|Azureセキュリティと回復サービスを管理する|0%|25-30%|△25%|
|Azure操作を管理する|0%|?%|△?%|
|Azureのアイデンティティを管理する|0%|?%|△?%|
|Azure Active Directory の実装|15-20%|0%|▲20%|

# 個々の詳細範囲

## Azure Appサービスアプリケーションの設計と実装(10-15%)

参考：https://docs.microsoft.com/ja-jp/azure/app-service/

### Web アプリを展開する
- デプロイメントスロットを定義する
- ロールバック展開する
- 事前雇用と雇用後措置を実施する
- パッケージの作成、構成、および展開する
- Appサービスプランを作成する
- App Apps計画間でWeb Appsを移行する
- Appサービスプラン内にWeb Appを作成する
- アプリケーションサービス環境（ASE）をいつ使用するかを決定する
- Git、FTP、クラウドサービスなどの適切なデプロイメントメソッドを選択して使用する

### Web アプリを構成する
- アプリケーション設定、接続文字列、ハンドラ、および仮想ディレクトリを定義して使用する
- 証明書とカスタムドメインを構成する
- SSLバインディングと実行時設定を構成する
- Azure PowerShellとAzure-CLIを使用してWebアプリケーションを管理する
- App Serviceのバックアップを管理する
- Web Appsの認証と認可を設定する

### 診断、監視、および分析を構成する

- 診断データを取得する
- ストリーミングログを表示する
- エンドポイント監視を設定する
- アラートを設定する
- 診断を設定する
- リモートデバッグを使用する
- Webアプリケーションのリソースを監視する

### スケーラブルで復元性がある Web アプリを構成する
- ビルトインおよびカスタムスケジュールを使用して自動スケールを設定する
- メトリックで構成する
- インスタンスのサイズを変更する
- トラフィックマネージャを設定する

### メモ
- アプリ数>10 or カスタムドメインはShared、アプリ数>100 or カスタムドメイン(SSL)はBasic、ストレージ>10GBは標準、ストレージ>50GBはPremium
- ルートドメインはAレコード。サブドメインはCNAMEレコード
- スロットの追加とスワップ
- CDNは配置しユーザはキャッシュを使用し高速配信

## 計算リソースの作成と管理(20-25%)

参考：https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/

### Azure Resource Manager (ARM) 仮想マシン (VM) にワークロードを展開する
- デプロイできるワークロードと展開できないワークロードを特定する。
- Microsoftを含むワークロードの実行、Linuxを含むワークロードの実行、 VMを作成する。
- Windows / Linux VMに接続する。
- 作業負荷を配備する。
- デベロッパー独自のライセンス（BYOL）イメージを展開する

### 構成管理を実行する
- PowerShell Desired State Configuration（DSC）とVM Agent（カスタムスクリプト拡張）を使用して構成管理を自動化する
- リモートデバッグを有効にする

### VM 記憶域を設計および実装する
- ディスクキャッシュを構成する。
- ストレージ容量を計画する。
- オペレーティングシステムのディスク冗長性を構成する。
- Azureファイルサービスを使用して共有ストレージを設定する。
- Azure File Shareスナップショットを設定する。
- ジオレプリケーションを設定する。
- ディスクを暗号化する。
- 標準およびプレミアムストレージでARM VMを実装する

### ARM VM を監視する
- ARM VMの監視を構成する
- アラートを設定する
- 診断の設定と保存場所の監視する

### ARM VM の可用性を管理する
- 複数のARM VMを冗長性のための可用性セットに構成する
- 各アプリケーション層を個別の可用性セットに構成する
- Load Balancerと可用性セットを結合する
- フォルトドメインの構成とドメインの更新

### ARM VM をスケールする
- VMサイズを拡大縮小する
- ARM VMスケールセット（VMSS）を配備する
- ARM VMSSの自動スケールを設定する

### Azureコンテナサービス（ACS）でコンテナを管理する
- KubernetesクラスタをACSに展開する
- コンテナイメージの作成と管理 Docker、DC / OS、Swarm、またはKubernetesを使用するsScaleアプリケーション
- オープンソースツールを設定する
Azureとのコンテナワークロードの移行 Microsoft Operations Management Suite（OMS）を使用してKubernetesを監視する
Azureコンテナレジストリを実装する

### メモ
- Azure PowerShell https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/quick-create-powershell
    - New-AzureRmResourceGroup -Name{resource-group-name} -Location {location}
    - AzureRmResourceGroupDeployment -Name {deployment-name} -ResourceGroupName {resource-group-name} -TemplateUri "https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/{template-name}/azuredeploy.json"
- Azure CLI https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/quick-create-cli
    - az group create --name {resource-group-name} --location {location}
    - azure group deployment create --template-uri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/{template-name}/azuredeploy.json {resource-group-name} {deployment-name}
- Kubernetes出るの・・・？
    - https://docs.microsoft.com/ja-jp/azure/aks/
    - 手順(AzureADでサービスプリンシパル作成.AKS クラスターの作成.kubectlでクラスターへの接続.yamlでマニフェストを作成しkubectl createアプリ実行.

## ストレージ戦略の設計と実装(10-15%)

参考：https://docs.microsoft.com/ja-jp/azure/storage/

### AzureストレージブロブとAzureファイルを実装する

- 特定のストレージ要件に適したBLOBタイプを特定する
- データを読み込む
- データを変更する
- コンテナにメタデータを設定する
- ブロックおよびページブロブを使用してデータを格納する
- ブロブを使用したストリームデータ
- ブロブに安全にアクセスする
- 非同期ブロブコピーを実装する
- コンテンツ配信ネットワーク（CDN）を設定する
- ブロブ階層を設計する
- カスタムドメインを設定する
- 大規模なブロブストレージ
- SMBファイルストレージを管理する

### アクセスの管理
- 共有アクセスシグネチャの作成と管理、保存されたアクセスポリシーの使用、鍵の再生成、 Azure Key Vaultの統合を使用して鍵を暗号化する

### 診断、監視、および分析を構成する
- 保持ポリシーとログ出力レベルの設定、ログの分析

### ストレージの暗号化を実装する
- Azureストレージサービス暗号化（SSE）を使用して、Azureストレージに書き込まれたデータを暗号化する
- Azure Data Lake Storeで管理されているデータに対して暗号化されたロールベースのセキュリティを実装する

### メモ

- テーブルとキューは範囲外？
- SQL Databaseも範囲外？
- ページBLOBとブロックBLOB
- アクセスキー、共有アクセス署名、アクセスポリシー、アクセスの種類(プライベート/BLOB/コンテナ)
- ログのアクセスhttps://accountname.blob.core.windows.net/$logs/blob/2011/07/31/1800/000001.log
- Azureファイルは共有を作成し、cmdkeyで永続化する。net use desired-drive-letter: \\storage-account-name.file.core.windows.net\share-name storage-account-key /user:Azure\storage-account-name でマウントする
- ローカル冗長、ジオ冗長、ゾーン冗長、読み取りアクセスジオ冗長は、『Azureセキュリティと回復サービスを管理する』にて？

## 仮想ネットワークを実装する(15-20%)

参考：https://docs.microsoft.com/ja-jp/azure/networking/networking-overview

### 仮想ネットワークを構成する
- 仮想ネットワークにVMを展開する
- 外部および内部ロードバランシングを構成する
- アプリケーションゲートウェイを実装する
- サブネットを設計する
- 静的IPアドレス、パブリックIPアドレス、プライベートIPアドレスを設定する
- ネットワーク・セキュリティ・グループ（NSG）、仮想ネットワーク・レベルでのDNS、HTTPおよびTCPヘルス・プローブ、パブリックIP、ユーザー定義経路（UDR）、ファイアウォール・ルール、およびダイレクト・サーバー・リターンを設定する
- 仮想ネットワークピアリングによってVNetsを接続する
- PuppetやChefなどの構成管理ツールを使用してVMを構成する

### マルチサイトまたはハイブリッドネットワーク接続の設計と実装
- ExpressRoute、サイトツーサイト、およびポイントサイトの間の適切なソリューションを選択する
- 適切なゲートウェイを選択する
- サポートされているデバイスとソフトウェアのVPNソリューションを特定する
- ネットワーキングの前提条件を特定する
- 仮想ネットワークとマルチサイト仮想ネットワークを構成する
- 仮想ネットワークピアリングとサービス連鎖を実装する
- ハイブリッド接続を実装してオンプレミスデータソースにアクセスし、S2S VPNを活用してオンプレミスインフラストラクチャに接続する

### ARM VM ネットワークを構成する
- スタティックIPアドレス、NSG（Network Security Group）、DNS、UDR（User Defined Routes）、HTTPおよびTCPヘルスプローブによる外部および内部ロードバランシング、パブリックIP、ファイアウォールルール、およびダイレクトサーバリターンを設定します
- アプリケーションゲートウェイの設計と実装

### 接続戦略の設計と実装
- ハイブリッド接続を実装して、オンプレミスのデータソースにアクセスする
- オンプレミスインフラストラクチャに接続するためにS2S VPNを活用する

### メモ
- サブネットCIDR 表記のアドレス数-5 /24=256-5=251,/27=32-5=27
- NSGの適用順は、受信はサブネット->NIC、送信はNIC->サブネット
- 仮想ネットワーク ピアリング、サイト対サイト接続、ポイント対サイト接続、ExpressRoute

## ARMテンプレートの設計と展開(10-15%)

参考：https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/

### ARM テンプレートを実装する
- ARMテンプレートを作成する
- カウントテンプレートを使用して異なるタイプの複数のARMリソースプロバイダリソースを展開するためのARMテンプレートを作成する
- PowerShell、Azure CLI、Azure Portal、およびREST APIを使用したテンプレートの展開

### コントロールアクセス
- ARM 認証によるサービス プリンシパルの利用、ARM による Azure Active Directory 認証の使用、管理ポリシーの設定、リソースのロック

### ロールベースのアクセス制御 (RBAC) 戦略の設計
- ソース スコープ (VM や Azure Web Apps を作成できることなど) のセキュリティ保護、Azure の RBAC の標準ロールの実装、Azure RBAC カスタム ロールの設計

## Azureセキュリティと回復サービスを管理する(25-30%)

### データ保護とセキュリティコンプライアンスの管理
参考：
https://docs.microsoft.com/ja-jp/azure/key-vault/
https://docs.microsoft.com/ja-jp/azure/security-center/
https://docs.microsoft.com/ja-jp/azure/active-directory/

- Key Vaultを使用して暗号化キーを作成およびインポートする
- SSL / TLS証明書のタスクを自動化する
- Azure Security Centerでセキュリティ上の脅威を防止し、対応する
- フェデレーションとパスワードベースのSaaSアプリケーションでシングルサインオンを設定する
- ユーザーとグループをアプリケーションに追加する
- SaaSアプリケーションへのアクセスを取り消す
- アクセスを設定する
- FacebookやGoogleなどのパブリックコンシューマIDプロバイダでフェデレーションを構成する

### リカバリ サービスを実装する
参考：
https://docs.microsoft.com/ja-jp/azure/backup/
https://docs.microsoft.com/ja-jp/azure/site-recovery/

- バックアップ格納域を作成する。
- バックアップエージェントを導入する。
- データのバックアップと復元、スナップショットとジオレプリケーションによる復旧、 DRをサービスとして実装する。
- Azure Site Recovery（ASR）エージェントを展開し、ASRを設定する。
- ASRワンクリック・フェイルオーバーの構成

### メモ
- Azure Backupの手順(Recovery Services コンテナー作成、資格情報ダウンロード、エージェント、インストール、サーバの登録)
- Azure Site Recovery(ASR)の手順(インフラストラクチャの準備、アプリケーションのレプリケート、Recovery Planの管理)

## Azure操作を管理する(?%)

### 自動化によるクラウド管理の強化
- PowerShellランブックを実装する
- Azure AutomationとWeb Appsを統合する
- PowerShell Desired State Configurations（DSC）の作成と管理
- DSCリソースをインポートする
- DSCノード構成を生成する
- Azure Automation DSでマシン構成を監視し、自動的に更新する

### クラウド環境とオンプレミス環境でリソースによって生成されたデータの収集と分析
- 複数のシステムからデータソースを収集して検索する
- カスタムビジュアライゼーションを構築する
- Azureのリソースを複数のサブスクリプションに視覚化する
- Azureのアクティビティデータと管理対象のリソースデータを柔軟な検索クエリを使用した洞察に変換する
- システムのアップデートとマルウェアの状態を監視する
- Azure Log Analyticsを使用してサーバー構成の変更を追跡する

## Azureのアイデンティティを管理する(?%)

### Azure AD Connect Healthを使用してオンプレミスのIDインフラストラクチャと同期サービスを監視する
- AD FSプロキシおよびWebアプリケーションプロキシサーバーを監視する
- 重要なアラートの電子メール通知をセットアップする
- 利用報告書を作成する
- 同期エンジンを監視する
- ドメインコントローラを監視する
- 複製を監視する

### Azure Active Directoryドメインサービスでドメインを管理する
- Azure仮想マシンをドメインに参加させ、グループポリシーを使用してドメインに参加した仮想マシンを安全に管理する
- オンプレミスアプリをAzureに移行する
- 従来のディレクトリ対応アプリケーションをSaaSアプリケーションとともに扱う

### Azure Active Directoryとの統合（Azure AD）
- オンプレミスのWindows Server 2016 R2でAzure AD Connectとシングルサインオンを実装する
- カスタムドメインを追加する
- Azure AD、MFA、Azure ADドメイン参加のWindows 10を監視する
- Azure ADの統合をWebアプリケーションとデスクトップアプリケーションに実装する
- Microsoft Graph APIを活用する

### Azure AD B2CとAzure AD B2Bを実装する
- Azure AD B2C ディレクトリの作成、アプリケーションの登録、ソーシャル ID プロバイダー認証の実装、Multi-Factor Authentication の有効化、セルフサービスのパスワード リセットの設定、B2B コラボレーションの実装、パートナー ユーザーの構成、アプリケーションとの統合

# 神問題集

http://hackerlife.blog.fc2.com/blog-entry-54.html

# 関連
https://qiita.com/y_ohr/items/26181b59fef4ca6d1d4b
https://channel9.msdn.com/Events/Ignite/2016/BRK3262
https://qiita.com/shingo_kawahara/items/2038b63a537b925bab8f
https://qiita.com/akiyoshi-t/items/662c9dd7dcb80f16d600
https://channel9.msdn.com/Events/Ignite/Microsoft-Ignite-Orlando-2017/BRK3168