【忙しい人のための】Azureの基礎第2部(前編)【Azureの仮想マシン・ネットワークサービス】

AzureについてMS Learnで勉強される場合、第2部は2時間40分のラーニングパスになっています。
ここでは、自身の勉強の復習も兼ねて、MS Learn Azureの基礎第2部の要点をまとめておきますので、Azureの情報を素早く知りたいという方の参考になれば幸いです。
自身の勉強の力点を踏まえて記述するので、詳細な情報を得たい方はMS Learnにアクセスください。

本家様

https://docs.microsoft.com/ja-jp/learn/paths/az-900-describe-core-azure-services/

第1部の記事はこちら

https://qiita.com/enurinri/items/e55ab63d3d62ca634248

第2部後編はこちら

https://qiita.com/enurinri/items/d84b563bf8d082491f69

# Azureの主要サービスに関する概略
## Azure VM
Azure VMはAzureで提供されている**仮想マシン**機能。
仮想マシンとは、オンプレミスのサーバ機能をクラウドで動作させるときに利用するサービス。
OSの総合的制御や、カスタムソフトウェアを実行する機能、カスタムホスティング構成の使用が必要なときに最適なソリューション。
VMをスケーリングする時は、仮想マシンスケールセットやAzure Batchを利用。

### 仮想マシンスケールセット
同じVMのセットをデプロイして管理するために使用できるAzureコンピューティングリソース。
大量のVMを手動もしくは自動で一元管理・構成・更新することができ、アプリケーションの可用性を高めることが可能。

### Azure Batch
大量のVMにスケーリングできる大規模な並列処理により、ハイパフォーマンスコンピューティング（HPC）を実現。

## Azure App Service
Azure App Serviceはアプリケーションをビルド・デプロイ・スケーリングできるPaasオファリング。
自動スケーリングと高可用性を持ち、Windows, Linuxがサポートする。
GitHub, Azure DexOps, Gitリポジトリから自動デプロイできるので、開発者はWebサイトとAPIロジックに専念可能。
アプリによって使用される Azure コンピューティング リソースに対して料金を支払う。
Webアプリ・APIアプリ・WebJobs・モバイルアプリをホスト可能。

## Azure Container Instances(ACI)
Azure Container InstancesはDocker社の**コンテナ**技術をAzure上で実装したもの。
コンテナとはアプリケーションを実行する仮想化環境であり、特徴は、軽量で動的に作成・スケールアウト・停止を行い、問題発生時も迅速に再起動が可能。
VMの管理やサービスの追加導入の必要なしに、Azureでコンテナを実行。

## Azure Kubernetes Service
Azure Kubernetes ServiceはKubernetesをAzure上に実装したもの。
コンテナのための**オーケストレーション**サービス。
オーケストレーションとは多数のコンテナの実行環境を自動的に管理すること。

## サーバレスコンピューティング
ユーザがインフラストラクチャに関する責任を負わず、スケーリングとパフォーマンスが自動処理されるアプリケーションの実行環境。
サーバレスコンピューティングには、サーバの抽象化、イベントドリブンスケール、マイクロリビングが含まれる。

### Azure Functions
Azure Functionsは、コードを書いて作成した関数を実行可能。
サービスを実行しているコードにのみ関心があり、もとのプラットフォームやインフラストラクチャを問題としない場合に最適なソリューション。
自動的にスケーリングされ、関数の実行中に使用されたCPU時間に対して料金が発生。
コード優先（命令型）の開発で、ローカルかクラウドで実行可能。

### Azure Logic Apps
Azure Logic Appsは、ビジネスシナリオを自動化するために設計されて、事前定義されたロジックブロックから構築されたワークフローを実行。
ワークフローはAzure PortalかVisual Studioで作成し、トリガーにより起動可能。
デザイナー優先 (宣言型)の開発で、クラウドで実行可能。

## Azure Virtual Desktop
Azure Virtual Desktopはクラウド上で実行できるデスクトップおよびアプリケーションの仮想化サービス。
任意のOSを保持するデバイスで作動し、クラウドでホストされたバージョンのWindowsを任意の場所から利用可能。
Azure ADによりユーザのデスクトップにおけるセキュリティを一元管理し、データとアプリはローカルのハードウェアから切り離される。
管理はAzure Monitorにより１つのインターフェースで問題を特定。

# Azureネットワークサービス
## Azure Virtual Network
Azure Virtual Networkは他のAzureリソースとリンクするリソースのセット。主要なネットワーク機能として、

* 分離とセグメント化
* インターネット通信
* Azureリソース間の通信
* オンプレミスリソースの通信
* ネットワークトラフィックのルーティング
* ネットワークトラフィックのフィルター処理
* 仮想ネットワーク間の接続

が含まれる。特に、**分離とセグメント化**では分離された仮想ネットワークを複数作成し、**Azureリソース間の通信**では仮想ネットワークかサービスエンドポイントを使用してリソース間の安全な通信を確立し、**仮想ネットワーク間の接続**ではピアリング(直接接続)かVNET間接続(**仮想ネットワークゲートウェイ**を使用した接続)を用いた仮想ネットワーク同士のリンクを構築。
Azureにおいて仮想ネットワークゲートウェイとはAzure VPN GatewayとAzure Express Routeの総称。

### Azure VPN Gateway
Azure VPN Gatewayは、サイト間接続やVNET間接続を提供。
VPN接続の中継装置であり、転送データはインターネット中では暗号化される。
VPN Gatewayをデプロイするときは**ポリシーベース**か**ルートベース**のVPNを選択可能。
ポリシーベースのVPNは、各接続(VPNにおけるトンネル)間で暗号化する必要があるパケットのIPアドレスを静的に指定して使用し、ルートベースのVPNは、IPアドレスを定義することが煩雑な場合に使用。

### Azure Express Route
Azure Express Routeは、通信プロバイダが提供するプライベート接続を介して、オンプレミスのネットワークをMicrosoftクラウドに拡張したもの。
Microsoftクラウドのサービスに関して、

* Microsoft Office 365
* Microsoft Dynamics 365
* Azure VMなどのAzureコンピューティングサービス
* Azure Cosmos BD, Azure StorageなどのAzureクラウドサービス

に直接アクセス可能。
接続モデルとして、

* Cloud Exchangeコロケーション
* Point to Pointのイーサネット接続
* Any-to-Any接続

をサポート。