3
0

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 1 year has passed since last update.

Azure スケーラブルウェブサイト構築

Posted at

はじめに

Windowsとの互換性か、Open AIの流行からかAzureの名前を聞くことが増えてきたのでAzureも勉強する必要がでてきました。。
資格勉強は基本すぐ飽きてしまうので、とりあえずあるあるっぽいアーキテクチャ考えて構築してみました。
(手を動かすのは大事。)
Azureはまとまった記事が少ないので大変でしたね、、笑笑

やること

AWSで最初に学ぶであろう↓をAzureで再現しようと思います。
AWS Hands-on for Beginners 〜 スケーラブルウェブサイト構築編 〜
image.png

前回、前々回で構築したものが近いですかね。
僕のブログではPHPインストールしてDBのデータ表示するとこまでやってますよお👀
AWS学習ステップを使用した構築のお勉強③
AWS学習ステップを使用した構築のお勉強④

アーキテクチャ

AWSとAzureの違いに苦戦しながらとりあえず考えてみました。(アイコンミスってたらごめんなさい)
image.png

注意点

  • AWSでいうALB=Application Gateway
     →SSL化する場合AzureのLoad Balancerでは不可(NLBのため)
     →v2推奨だがめちゃ高い。今回はv1で構成
  • Application Gatewayには専用のサブネットが必要
     →自動スケールとかできるらしい。そのためVMと共同のサブネットは不可
  • DBは逆にサブネットが必要ない
     →Basicプランではインターネット経由でDBに接続する必要がある。
      DB付属のFirewallで接続元IPを絞ることは可能
     →本来やとアーキテクチャのようにEndpoint→PrivateLinkが望ましいが予算の都合上カット。
  • ロードバランサ用の無料SSL証明書がない。
     →App Serviceにはありそう。今回は検証のためカット。

構築開始

とりあえず構築してみます。
タグ管理が便利そうだったので、リソースグループにタグ強制付与ポリシーを作っておきます。
1.PNG

ネットワーク作成

Application Gateway用, VM用×2のサブネットを持ったVNETを作成しました。
2.PNG

仮想マシン(VM)作成

VMをとりあえず1台作成しました。ここにApacheをインストールしてWEBサーバにします。
サイズは「B1ls」より「B1ms」の方が良いと思います。「B1ls」はスペック低すぎました。
その後VM1をコピーしてVM2を作成します。
3.PNG

セキュリティグループ作成

Azureではデフォルトでインバウンド(VNET, LoadBalancer)、アウトバウンド(VNET, LoadBalancer, internet)が設定されているので、SSHで接続するために穴を開ける必要があります。
また、AWSと異なりAzureはサブネット・NICともにセキュリティグループで制御します。
作成したサブネットはVM1,VM2サブネットに紐づけています。
5.PNG

接続確認

Tera TermからVMに入ってみます。
4.PNG

ここからのAWSでもAzureでも変わらないので以下参照。
AWS学習ステップを使用した構築のお勉強①

2台目の仮想マシン作成

Azure VMを複製するためには「スナップショット作成」→「マネージドディスク作成」→「VM作成」の手順が必要になります。

スナップショット作成

VM1の画面からスナップショットを作成します。
7.PNG

マネージドディスク作成

先ほど作成したスナップショットを選択し、マネージドディスクを作成します。
8.PNG

仮想マシン複製

マネージドディスクからVMを作成します。
サブネットはVM2を選択しましょう。
9.PNG

接続確認

AWS同様ですね。
VM1
10.PNG
VM2
11.PNG

Application Gateway作成

AWS ELBを触ったことがあれば道なりに沿って設定すればいけます。まじで。
15.PNG

Application Gatewayのセキュリティグループ作成

80番ポートのインターネットアクセスを許可します。
17.PNG

仮想マシンのセキュリティグループ更新

Application Gatewayからの80番ポートを許可しておきます。
16.PNG

Application GatewayのパブリックIPで接続確認

安定のF5連打
10.PNG
11.PNG

DNS作成

名前は各自取得したドメイン名を記載します。
オススメ お名前.com
20.PNG

レコードの登録

AレコードにApplication GatewayのIPアドレス。
お名前.comのネームサーバにNSレコードの値を登録します。
ネームサーバ登録方法→AWS学習ステップを使用した構築のお勉強②
21.PNG

接続確認

名前解決できているか確認します。
F5連打。
10.PNG
11.PNG

DB作成

作りました。構築以外の作業はAWSとほぼ変わらないのでカット。
割と高いのと実用するにはBasicでは機能が足らなさそう。
24.PNG

おわり!!

1度AWSで同じような環境作成したことあったら簡単にできると思います。
ただ、Application GatewayとかDBが高いし、Firewall立てたりってなるとさらに料金がかさむ。。
AWSで良くねってなるかも。(要件がWin10とか、OpenAIとの連携が無ければ)

リソースグループで管理できるのとか、構築時のUIはAzureの方が好きかも。
ただAzureはApp Serviceとかコンテナ周り、Azure DevOpsが優秀そうなのでその辺を触ってみたいところ。
シンプルなサーバとかサーバレスあたりはAWSかなあ笑笑

削除

リソースグループで一括削除はマジで便利。検証後の作業が楽。
26.PNG

3
0
0

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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?