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の設定単位が異なります。
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のルートユーザに相当するのがAzureのMicrosoftアカウントになります。
Azrueのユーザ管理はAzureADで実施しますが、Microsoftアカウントはそこにはいません。MicrosoftアカウントのMFA設定をする場合は「Microsoftアカウント」からアクセスする必要があります。
##③操作ログ証跡の作成
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にしかないメリットもあります。
##⑤パスワードポリシーの設定
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 |
#■■ 基本環境作成 ■■
ここから環境構築に入ります。
最初に説明した通り、以下のようなシンプルな構成で作成します。
##①リソースグループの作成
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を分割した冗長化構成にしたい場合は、以下のようになります。
##④インターネットゲートウェイ(IGW)を作成
AWSではIGWを作成します。インターネットに接続する場合はVPCにIGWをアタッチする必要があります。Azureは逆で標準でインターネット接続が可能です。その為、インターネット接続をさせたくない場合にFW等で通信抑止する必要があります。
区分 | 手順 | 機能 |
---|---|---|
AWS | インターネットゲートウェイ(IGW)を作成 | VPC-IGW |
Azure | なし | なし |
##⑤ルートテーブル作成
AWSはDefultルートテーブルとカスタムルートテーブルを選択可能です。
Azureは必ずシステムルートがサブネットに設定されます。変更したい場合はカスタムルートを上書きする形で設定可能です。
区分 | 手順 | 機能 |
---|---|---|
AWS | ルートテーブル作成 | VPC-ルートテーブル |
Azure | ルートテーブル作成 ※変更が必要な場合実施 |
仮想ネットワーク-ルートテーブル |
なお、Azureのシステムルートは以下の通りです。
赤枠で囲っているのがインターネットへの接続設定となります。
##⑥ルートテーブルとIGWの関連付け
AWSはルートテーブルにIGWをアタッチすることにより「パブリック用のルートテーブル」になります。
区分 | 手順 | 機能 |
---|---|---|
AWS | ルートテーブルとIGWの関連付け | VPC-ルートテーブル |
Azure | なし | なし |
##⑦ルートテーブルとサブネットの関連付け
AWSでは「パブリック用のルートテーブル」を関連付けられたサブネットは「パブリックサブネット」になります。これは、インターネット接続が可能なサブネットになったということです。
Azureは当初からインターネット接続が可能なので、この作業はありません。
区分 | 手順 | 機能 |
---|---|---|
AWS | ルートテーブルとサブネットの関連付け | VPC-サブネット |
Azure | なし | なし |
##⑧セキュリティグループの作成
AWSとAzureの両方ともセキュリティグループを作成します。
RDPのプロトコルの許可を与えます。
区分 | 手順 | 機能 |
---|---|---|
AWS | セキュリティグループの作成 | VPC-セキュリティグループ |
Azure | NSGの作成 | NSG |
なお、FW機能であるセキュリティグループおよびACLの設定内容は以下の通りです。
AWS側は今回の作業ではネットワークACLは利用しません。
##⑨フローログ発行用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の仮想マシンには幾つか違いがあるので記載します。
###ディスク領域について
AWSはディスク領域をEBSで設定します。ディスク容量等も設定できます。
Azureはイメージ内にOSディスク領域が含まれており、サイズに一時ディスク領域が含まれています。それぞれを選択すると容量も自動的に決まるため、容量変更はできません。
容量指定が必要な場合は、仮想マシン作成後に「サイズおよびパフォーマンス」からディスクのサイズを変更する必要があります。また、Azureのディスク領域はデフォルトで暗号化されています。
区分 | CPU | メモリ | ディスク |
---|---|---|---|
AWS | 〇 | 〇 | ×(EBS) |
Azure | 〇 | 〇 | 〇(C,Dドライブ自動作成、暗号化済) C:OS領域(128GB等、イメージにより固定) D:一時領域(サイズにより固定) |
もう少しAzureについて補足します。
Azureのイメージについては以下のように表示されており、OSディスクの容量は解りません。
AzureのOSディスクの容量は次のルールがあります。以下はWindows2019の例です。
名前にsmalldiskとついているかどうかで容量が変わります。
イメージ | OSディスク容量 |
---|---|
Windows Server 2019 Datacenter -Gen 1 | 128 GB |
[smalldisk]Windows Server 2019 Datacenter -Gen 1 | 30 GB |
Azureの一時ディスクの容量は仮想マシン作成後の「サイズ」画面で表示されます。
データ自体置いてはいけない領域なので、あまり意識する必要はないかと思います。
※以下の「データディスク」が一時ディスクを指しています。
###AZ(可用性ゾーン)について
AZについてはAWSがサブネットで設定していますが、Azureは仮想マシン単位で設定します。AzureではAZのことを可用性ゾーンと言います。
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だと仕様が異なるところがあり、戸惑うかと思います。
今回の記事を参考にして頂ければと思います。
また、時間があれば監視・バックアップ等に関しても比較資料を作成したいと思います。
以 上