15
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AWSと比較するAzure環境構築(アカウント作成~仮想マシン起動まで)(2021年5月時点)

Last updated at Posted at 2021-05-01

AWSは知っているがAzure初心者という人は最初はAzureに戸惑うと思います。
私もその一人でした。

そこで、AWSの構築手順を前提としながら、Azureで構築した場合はどのような差異があるかを整理してみました。差異が分かると、Auzreの理解も早まるかと思います。

#■■ 筆者情報 ■■
・インフラエンジニア
・AWSは8資格取得済み(体験談①)(体験談②)(体験談③)
・AzureはAZ-900:Azure Fundamentals取得済み(体験談)

#■■ この記事を読んでほしい対象 ■■
・AWSの有識者だがAzureは初心者で、Azureに苦戦している人。

#■■ 参照にするドキュメントについて ■■
今回はそれぞれの公式ユーザガイドをベースとします。

区分 ユーザガイド
AWS AWSドキュメント
Azure Azureドキュメント

#■■ 動作検証の前提 ■■
今回は仮想マシンを1台起動させてインターネットからの接続を可能にする構成を作成します。
とてもシンプルな環境です。
ただ、このシンプルな環境を比較することで、2つのクラウドの差異が見えてきます。

まずはAWS有識者の方がAzureを利用した時に最初に感じる違和感について簡単に説明します。
以下はAWSとAzureの構成図となります。
メモで記載していますが、地域やAZの設定単位が異なります。

image.png

Azureはリソースグループ以下のリソースがすべて個別に地域を設定できます。
また、AZも仮想マシン単位で設定することになります。
AWSと大きく異なるので、ここは意識しておく必要があります。

区分 AWS Azure
課金単位 AWSアカウント単位 サブスクリプション単位
地域単位 Region単位 リソース単位
AZ単位 subnet単位 リソース単位

次にインターネット接続に関しての前提です。
Azureでは当初からインターネット接続が前提となっています。
その為、AWSのようにIGWをアタッチする必要があります。

その前提を認識した上で、以下から設定作業を実施します。

#■■ 初期設定手順 ■■
初期設定手順の比較になります。
基本的にAWSの初期設定をベースに比較しながら進めました。
##①アカウント登録
クラウドを利用する自分のアカウントを作成します。アカウント登録後から1年間の無料利用枠があるので、やる気になったタイミングで登録することをお勧めします。特にAzureは「開始30日間で¥22,500のクレジット」があります。

区分 手順 12ヵ月無料利用枠
AWS アカウント作成 無料利用枠
Azure アカウント登録 無料利用枠

##②ルートユーザのMFA設定

ルートユーザへの2要素認証設定です。
双方とも同じような処理が必要になります。

区分 手順 機能
AWS ルートユーザのMFA設定 マイセキュリティ資格情報
Azure MicrosotアカウントのMFA設定 Microsoftアカウント

AWSのユーザ管理はIAMで実施しますが、ルートユーザはそこにはいません。ルートユーザのMFA設定をする場合は「マイセキュリティ資格情報」からアクセスする必要があります。
AWS.jpg

AWSのルートユーザに相当するのがAzureのMicrosoftアカウントになります。
Azrueのユーザ管理はAzureADで実施しますが、Microsoftアカウントはそこにはいません。MicrosoftアカウントのMFA設定をする場合は「Microsoftアカウント」からアクセスする必要があります。
image.png

##③操作ログ証跡の作成
AWSもAzureも操作ログは初期設定のままで90日間は保存されますが、
それ以上の期間保存したい場合は以下の設定を実施します。
特にAWSに関しては、証跡作成を推奨しています。

区分 手順 機能 ログ保存先
AWS CloudTrail証跡作成 CloudTrail ・S3
・CloudWatch
Azure ログ保存設定 アクティビティログ-診断設定 ・ストレージ アカウント
・Log Analyticsワークスペース
・Event Hubs

##④請求アラームの設定追加
設定した金額以上に課金が発生した場合に通知してくれる設定を実施します。
AWSもAzureも同じような設定が実施できます。

区分 手順 機能
AWS 請求アラームの設定追加 CloudWatch
Azure コストアラートの追加 コストアラート

Azureは1つの予算設定の中で下記のように複数のアラートを設定ができ、アラート通知メールも日本語です。AWSは金額単位で個別にアラートを作成する必要があり、メールも英語一択なので、ここはAzureの方が使いやすいと感じました。ただ、AWSはアラートを越えた場合のアクション(サーバを停止する等)を設定できるので、運用面ではAWSにしかないメリットもあります。
image.png

##⑤パスワードポリシーの設定
AWSはパスワード条件を設定できます。
Azureはルール固定のため変更できませんが、カスタム禁止パスワードを設定することができます。

区分 手順 機能
AWS パスワードポリシーの設定 IAM
Azure カスタム禁止パスワードの構成 AzureAD

##⑥管理者ユーザ作成
最初に作成される「ルートユーザ」は普段の作業では使用しないのがAWSのベストプラクティスです。Azureの「Microsoftアカウント」に関しては、特にこの方針はないようですが、作成可能です。

区分 手順 機能 権限
AWS 管理者ユーザ作成 IAM 管理ポリシー「AdministratorAccess」
Azure ⅰ:管理者ユーザ作成

ⅱ:Azureロールの割当
ⅰ:AzureAD
ⅱ:サブスクリプション
ⅰ:AzureADロール「グローバル管理者」
ⅱ:Azureロール「所有者」

Azure環境は環境別にロールが存在します。AWSのようにIAMロール一択ではありません。どのようなロールが存在するかは「従来のサブスクリプション管理者ロール、Azure ロール、および Azure AD ロール」を参照して下さい。

##⑦管理者ユーザでログイン
作成した管理者ユーザでログインします。これ以降、基本的にルートユーザは利用しません。

区分 手順 機能
AWS 管理者ユーザでログイン IAM
Azure Azureにログイン AzureAD

#■■ 基本環境作成 ■■
ここから環境構築に入ります。
最初に説明した通り、以下のようなシンプルな構成で作成します。
image.png

##①リソースグループの作成
Azureのリソースは必ず1つのリソースグループに所属させる必要があります。
その為、リソースグループを最初に作成する必要があります。
AWSにはこの概念はありません。

区分 手順 機能
AWS なし なし
Azure リソースグループの作成 リソースグループ

##②仮想ネットワークの作成
仮想ネットワークを作成します。AWSの場合はマネージドコンソール画面でリージョンを指定してからVPCを作成します。Azureはリソース単位でリージョンを設定します。ここが大きな違いです。

区分 手順 機能 リージョンの指定
AWS VPC作成 VPC リソース単位では指定しない
Azure 仮想ネットワークの作成 仮想ネットワーク リソース単位で指定する

##③サブネット作成
サブネットを作成します。AWSはサブネットにAZを設定しますが、AzureはサブネットとAZはリンクしておらず、仮想マシンを作成する際に設定します。この前提からAzureはAZ障害が発生した場合でもサブネットは死なない、ということになり、単体サブネットの中で仮想マシン単にでAZを変更する構成が可能となります。

区分 手順 機能 AZ
AWS ②サブネット作成 VPC-サブネット 複数のAZから1つを選択
Azure 仮想ネットワークの作成 仮想ネットワーク-サブネット

例えば3つの仮想マシンのAZを分割した冗長化構成にしたい場合は、以下のようになります。
image.png

##④インターネットゲートウェイ(IGW)を作成
AWSではIGWを作成します。インターネットに接続する場合はVPCにIGWをアタッチする必要があります。Azureは逆で標準でインターネット接続が可能です。その為、インターネット接続をさせたくない場合にFW等で通信抑止する必要があります。

区分 手順 機能
AWS インターネットゲートウェイ(IGW)を作成 VPC-IGW
Azure なし なし

##⑤ルートテーブル作成
AWSはDefultルートテーブルとカスタムルートテーブルを選択可能です。
Azureは必ずシステムルートがサブネットに設定されます。変更したい場合はカスタムルートを上書きする形で設定可能です。

区分 手順 機能
AWS ルートテーブル作成 VPC-ルートテーブル
Azure ルートテーブル作成
※変更が必要な場合実施
仮想ネットワーク-ルートテーブル

なお、Azureのシステムルートは以下の通りです。
赤枠で囲っているのがインターネットへの接続設定となります。
image.png

##⑥ルートテーブルとIGWの関連付け
AWSはルートテーブルにIGWをアタッチすることにより「パブリック用のルートテーブル」になります。

区分 手順 機能
AWS ルートテーブルとIGWの関連付け VPC-ルートテーブル
Azure なし なし

##⑦ルートテーブルとサブネットの関連付け
AWSでは「パブリック用のルートテーブル」を関連付けられたサブネットは「パブリックサブネット」になります。これは、インターネット接続が可能なサブネットになったということです。
Azureは当初からインターネット接続が可能なので、この作業はありません。

区分 手順 機能
AWS ルートテーブルとサブネットの関連付け VPC-サブネット
Azure なし なし

##⑧セキュリティグループの作成
AWSとAzureの両方ともセキュリティグループを作成します。
RDPのプロトコルの許可を与えます。

区分 手順 機能
AWS セキュリティグループの作成 VPC-セキュリティグループ
Azure NSGの作成 NSG

なお、FW機能であるセキュリティグループおよびACLの設定内容は以下の通りです。
AWS側は今回の作業ではネットワークACLは利用しません。
image.png

##⑨フローログ発行用IAMロールの作成
AWS認定資格試験ではよく登場するフローログですが、出力するためには設定が必要になります。権限付与したIAMロールを作成する必要があります。

一方、AzureにはIAMロールのような必須設定はありません。近いものとしサービスプリンシパルがあります。

区分 手順 機能
AWS フローログ発行用IAMロールの作成 IAM-IAMロール
Azure なし なし

##⑩フローログの作成
AWSのフローログ作成と比較して、Azureの設定項目は非常に多いと感じました。
複数の資料を確認しないと、設定できないレベルです。

区分 手順 機能 ログ保存先
AWS フローログの作成 VPC,EC2-フローログ CloudWatch
(S3も指定可能)
Azure ⅰ.Network Watcherの有効化
ⅱ.NSG作成
ⅲ.NSG フロー ログ設定の有効化
ⅰ.Network Watcher
ⅱ.サブスクリプション
ⅲ.Network Watcher
Log Analyticsワークスペース

##⑪フローログの確認
フローログが可視化できることを確認します。

区分 手順 機能
AWS フローログの確認 Cloudwatch-logs
Azure トラフィック分析の表示 Network Watcher-Traffic Analytics

#■■ EC2起動と初期設定(WindowsOS) ■■
OSはWindowsを前提とし、私が作業がしやすくなると思う設定を実施しました。また、AWS資格試験で頻出していたフローログの設定も実施しました。

##①キーペア作成

AWSではインスタンスへの接続に必要になるキーペアを作成します。
Azureではキーペアという概念はありません。
VertualMachineを作成する際にユーザとパスワードを入力します。

区分 手順 機能
AWS キーペア作成 EC2
Azure なし なし

##②仮想マシンの起動
仮想マシンを起動します。

区分 手順 機能 価格
AWS EC2の起動 EC2 オンデマンド
Azure 仮想マシンの追加 Virtual Machines 従量制

AzureとAWSの仮想マシンには幾つか違いがあるので記載します。
image.png

###ディスク領域について
AWSはディスク領域をEBSで設定します。ディスク容量等も設定できます。
Azureはイメージ内にOSディスク領域が含まれており、サイズに一時ディスク領域が含まれています。それぞれを選択すると容量も自動的に決まるため、容量変更はできません。
容量指定が必要な場合は、仮想マシン作成後に「サイズおよびパフォーマンス」からディスクのサイズを変更する必要があります。また、Azureのディスク領域はデフォルトで暗号化されています。

区分 CPU メモリ ディスク
AWS ×(EBS)
Azure 〇(C,Dドライブ自動作成、暗号化済)
C:OS領域(128GB等、イメージにより固定)
D:一時領域(サイズにより固定)

もう少しAzureについて補足します。
Azureのイメージについては以下のように表示されており、OSディスクの容量は解りません。
image.png

AzureのOSディスクの容量は次のルールがあります。以下はWindows2019の例です。
名前にsmalldiskとついているかどうかで容量が変わります。

イメージ OSディスク容量
Windows Server 2019 Datacenter -Gen 1 128 GB
[smalldisk]Windows Server 2019 Datacenter -Gen 1 30 GB

Azureの一時ディスクの容量は仮想マシン作成後の「サイズ」画面で表示されます。
データ自体置いてはいけない領域なので、あまり意識する必要はないかと思います。
※以下の「データディスク」が一時ディスクを指しています。
image.png

###AZ(可用性ゾーン)について
AZについてはAWSがサブネットで設定していますが、Azureは仮想マシン単位で設定します。AzureではAZのことを可用性ゾーンと言います。
image.png

Azureには可用性ゾーン以外に可用性セットという冗長化方式もあります。冗長化する場合は、どちか一方を選択する必要があります。Azureの可用性セットはAWSだとスプレッドプレイスメントグループに近いイメージとなります。

その他、以下の設定が必要です。
AzureにはIAMロールのような必須ロール設定はありません。近いものとしサービスプリンシパルがありますが、追加的要素の為、説明は割愛します。

区分 プライベートIP FW設定 ロール
AWS IP設定(指定可能) セキュリティグループ IAMロール
Azure 自動IP設定(指定不可) NSG なし

なお、パブリックIPはAzureもAWSも自動でIP設定されます。

上記の点を考慮して、仮想マシンを作成します。
仮想マシンの作成が完了したら、以下の作業を継続で実施します。

##③プライベートIPアドレスの設定
Azureは仮想マシン作成時にはプライベートIPアドレスを指定できない為、仮想マシン作成後に変更します。

区分 手順 機能
AWS 不要 不要
Azure 静的プライベート IP アドレスを追加 Virtual Machines-Networking

##④OSディスクサイズの変更
Azureは仮想マシン作成時にはOSディスクの容量を指定できない為、仮想マシン作成後に変更します。

区分 手順 機能
AWS 不要 不要
Azure OSディスクサイズ変更 Virtual Machines-Disks

##⑤仮想マシンへの接続
RDPで接続します。
WindowsのOS環境が起動します。

区分 手順 機能 接続方式
AWS EC2への接続 EC2 RDP
Azure WindowsVMへの接続 Virtual Machines RDP

##⑥EC2_日本語化対応(OS)
英語のままだと解りにくいのでOSを日本語化します。

##⑦EC2_タイムゾーン変更(OS)
日本時間に変更します。

これで最低限の設定が完了し、利用可能な状況となります。

#■■ 仮想マシン運用上の注意点 ■■
運用面でAWSと仕様が異なる点があります。
AWSはOSからシャットダウンした場合はインスタンスは停止して課金が止まりますが、AzureはOSからシャットダウンした場合は、課金が止まりません。注意が必要です。

操作 Azure AWS
OSからシャットダウンした場合 「停止済み」
 (継続課金)
「停止済み」
 (課金停止)
ポータルからシャットダウンした場合 「停止済み(割り当て解除)」
 (課金停止)
「停止済み」
 (課金停止)

#■■ まとめ ■■
AWSとAzureを比較したながら仮想マシンが起動するところまで記載しました。
AWSの有識者でもAzureだと仕様が異なるところがあり、戸惑うかと思います。
今回の記事を参考にして頂ければと思います。

また、時間があれば監視・バックアップ等に関しても比較資料を作成したいと思います。

以  上

15
9
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?