Weitere ähnliche Inhalte Ähnlich wie Azure 入門 AzureCLI2.0 で作る ネットワーク 環境 (20) Azure 入門 AzureCLI2.0 で作る ネットワーク 環境5. 今回やること
• 「MS Azure」を使用して以下の環境を構築。
1. ネットワーク環境とサーバ環境
2. 構築サーバからメール送信(Gmail)
3. PowerShellを使用したコマンドラインでの構築(N/W,Server)
4. 異なるネットワーク間での通信
ピアリング
AA.AA.AA.XX/24
Host : WS-A-VM-01
OS : Win2k16-DC-JPN
用途 : WEB,Mail,Azure
BB.BB.BB.XX/24
AzureCLI
でコマンド作成 Host : Demo-B-VM-01
OS : Win2k16-DC-JPN
用途 : ---
IISからの
Mail送信
Sendgrid
9. 構築の流れ
• どうやってネットワーク環境を作るか
– 初めにVNETを作成しサブネットを作成し、ルールを付与していく
作業タスク 作成方法
1 RG(リソースグループ)内に仮想ネットワーク(VNET)を作成 ・Azure Portal
・Azure Cli(コマンド)
上記二つのいづれかで作成2 VNETの中にサブネットを作成
3 ネットワークセキュリティグループ(NSG)を作成
4 作成したNSGとサブネットの関連付けを行う
5 NSGに対してルールを作成する
WorkShop既存作成済み
WorkShop-A-VNaz network vnet create [--vnet-name]
WorkShop-A-SN
Subnet
az network vnet create [--subnet-name]
【作成】az network nsg create [--nsg-name]
【関連】az network vnet subnet update
10. NSGルール
• ルールとはいわゆる「ファイアウォール」。ルールの付与を行う際は下記に記載する
注意点を考慮しないと設計と構築に差分が発生する
注意点
1 デフォルトポート NSG作成時にデフォルトで作られるルール。設定変更不可能
2 ソースと宛先のタグ 「ソース」「宛先」に付与することができるアドレス範囲。
3 優先度 同一NSG内での適用の順番
4 適用範囲と順番 「NSG」を仕掛ける箇所。設定個所により適用範囲が変わる
【デフォルトポート】 ルール 優先度 ソース 宛先 アクセス 許可設定
AllowVNetInBound 65000 VirtualNetwork Any Inbound Allow
AllowVNetoutBound 65000 VirtualNetwork Any Outbound Allow
AllowAzureLoadBalance
rInBound
65001 AzureLoadBalanc
er
Any Inbound Allow
AllowInternetOutBound 65001 Any Internet Outbound Allow
DenyAllInBound 65500 Any Any Inbound Deny
DenyAllOutBound 65500 Any Any Outbound Deny
初めに[全部禁止]、次に「インターネットOK」、最後は「プライベートをOK」
②インターネットを許可
①全部禁止
③ロードバランサの許可
④Private通信の許可
22. ルール作成
• 以下の要件で「A」,「B」シリーズの通信要件を作成
1. 「A」シリーズは外からのWEB通信とメール送信を行い。外からのRDPを許可する
2. 「B」シリーズは「A」シリーズからのRDPのみ許可をする
ルール名 優先度 向き先 ソース 宛先 サービス ポート アクション
A-RDP-IN 100 受信 Any Any RDP 3389 Allow
A-HTTP-IN 200 受信 Any Any HTTP 80 Allow
A-HTTPS-IN 300 受信 Any Any HTTPS 443 Allow
A-Private-IN 4096 受信 Virtual
Network
Virtual
Network
ALL 0-65535
(Any)
Deny
A-SMTP-OUT 100 送信 Any Any SMTP 25 Allow
A-Private-OUT 4096 送信 Virtual
Network
Virtual
Network
ALL 0-65535
(Any)
Deny
ルール名 優先度 向き先 ソース 宛先 サービス ポート アクション
B-RDP-IN 100 受信 AA.AA.AA.0
/24
Any RDP 3389 Allow
B-Private-IN 4096 受信 Virtual
Network
Virtual
Network
ALL 0-65535
(Any)
Deny
B-Private-OUT 4096 送信 Virtual
Network
Virtual
Network
ALL 0-65535
(Any)
Deny
25. 構築の流れ
• どうやってVMを作るか
– ただ作ればいいだけ
作業タスク 作成方法
1 仮想マシンの作成 ・Azure Portal
・Azure Cli(コマンド)
上記二つのいづれかで作成
仮想マシン作成と同時にNIC、DISK,PUBLICIPも作成されます
ResourceGroup:WS-RG
【作成イメージ】
VNET:WS-VNET-A-01
SUBNET:WS-SN-A-01
仮想マシン DISC NIC PublicIP
①コマンドの場合
az vm create [Option]
VM作成と同時に作成される。
※削除するときにこれらも
削除しないとダメ
26. VM作成
項番 作業タスク 備考
1 VM作成 ・手動で作成する場合は以下の入力を行う
手動設定項目 意味 コマンドオプション
名前 VMの名前 --name
VMディスクの種類 SSD OR HDD
ユーザー名 ログインユーザ名 --admin-username
サブスクリプション 上記パスワード --admin-password
リソースグループ 所属するリソースグループ --resource-group
場所 リージョン --location
サイズ プラン別に選択する
基本は「Dシリーズ」
--size
VNET 仮想ネットワークの指定 --vnet-name
SUBNET 上記設定内サブネットの指定 --subnet
PublicIP PublicIPの付与 --public-ip-address
ネットワークセキュリティグループ NSGの指定 --nsg
作成手段 作成方法
手動 「Azure Portal」より作成
AzureCLI az vm create [option]
• NICを付与する場合、「NSG」が同時に作成され、「RDP」のみ許可設定が加わる。
33. PowerShell使用コマンド
• 重複チェックのためにListコマンドを使用、作成にCreateコマンドを使用
• 付与するオプションにより細部の設定を行う
No コマンド 意味
1 az network vnet create [Option] Vnetの作成
2 az network vnet list –o table Vnetの確認
3 az network nsg create [Option] NSGの作成
4 az network vnet list -o table NSGの確認
5 az network nsg rule create [Option] NSGのルール作成
6 az network vnet subnet update [Option] サブネット-NSG関連付け
7 az vm create [Option] VMの作成
8 az vm list –o table VMの確認
もっと知りたい人は・・・
https://docs.microsoft.com/ja-jp/cli/azure/
34. Powershellの実行
_/_/_/_/_/_/_/_/VNET Information_/_/_/_/_/_/_/_/
MakeNunber: 1
ResourceGroup: Workshop
Vnet-Name: Workshop-B-VN
Vnet-Location: japaneast
Vnet-Address: 10.2.0.0/16
Vnet-Subnet: Workshop-B-SN
Vnet-SubnetAddress: 10.2.1.0/24
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
<Check>
Action Or No ??
[Y] Yes [N] No [?] Help (default is "Y"): y
2017/08/25 00:45 [Info],[MakeVnet Check]
2017/08/25 00:45 [Info],[ Workshop-B-VN MakeVnet Start]
2017/08/25 00:45 [Info],[ Workshop-B-VN MakeVnet End]
2017/08/25 00:45 [Info],[ Workshop-B-VN MakeVnet Check]
2017/08/25 00:45 ---------------------------------------------
<略>
2017/08/25 00:45 ---------------------------------------------
2017/08/25 00:46 [Info],[found the csv]
読み込み処理
実行判断
重複確認
実行処理
結果確認
35. • 「Aシリーズ」からWEBを通じてGmail送信
– 「A」シリーズには事前に「IIS」「SMTP」「PHP」を仕込んでいます
– (成功条件)メールが送信されること
• URL : http://AA.AA.AA.AA/format.html
• To : osuban3get20man@gmail.com
• From : 1doujimanoryuu@gmail.com
確認(Mail送信)
結果 ⇒ 失敗!
⇒メールは送信されるが迷惑メールになってる
• 「Aシリーズ」から「RDP」を行い、「B」シリーズにログイン
– 作業端末からのRDPは禁止 (接続できなければ成功)
– 「A」シリーズからのRDPは許可する (接続できれば成功)
結果 ⇒ 失敗!
⇒見事にどこからもアクセスできない環境が完成した!!
37. Vnet間の通信不可の原因
理由 : Azureでは基本的にVNET通信を許可していない
対策 : 以下二つの設定のいづれかが必要となる
・VNET Peering :バックボーンネットワークを使用し通信を行う。
同一リージョンで対応可能。通信も早く設定も簡単!
VNET
SUBNET
【VNET Peering】
リージョンリージョン
VNET
SUBNET
VNET
SUBNET
VNET
SUBNET
リージョン
VNET
SUBNET
リージョン
VNET
SUBNET
【Azure VPN Gateway 】
リージョン
・Azure VPN Gateway :VnetにGatewayを設定する。オンプレミスでも対応可能。
異なるリソースグループでも問題ない
38. リージョン
VNET B
SUBNET
VNET A
SUBNET
VnetPeering設定
VNET A-B通信設定
VNET B-A通信設定
「VNET Peering」設定は片方だけではなく両方に対して設定を行う必要がある。作成方
法はコマンドとリソースマネージャがあるが今回はリソースマネージャから作成する
作業内容 設定の意味
1 名前 ピアリングの名前を設定する
2 サブスクリプ
ション
ピアリングのVNETのサブスクリプションを
指定する
3 仮想ネット
ワーク
ピアリングの相手側のVNETを指定する
4 構成 必要な場合は以下にチェックを入れる
チェック項目
1 仮想ネットワークのアクセス許可
2 転送トラフィックの許可
3 ゲートウェイ転送を許可
4 リモートゲートウェイを使用する
自分自身と相手側の双方に設定を行う
39. メール送信不可原因
• 理由: Azure環境で且つDNSに登録されていないサーバから飛ばしているため
• 対策: 次の二つの設定のいづれかが必要となる
・DNSサーバの登録 :公開されているDNSを通過させる。
・Sendgridの使用 :Azureの「Sendgrid Email Deliverry」を使用し「SMTP」をリ
レーさせる
【SendgridEmaiDeliverry】
Azure
Azure側で公開
されていないため
スパムと認識
Sendgrid で経由
する事でスパムを
回避
スパム
迷惑メール
受信トレイ
Suc
40. Sendgrid Mail Delivery
• Sendgrid Mail Deliveryの設定はリソースマネージャより行う。設定項目は以下の通
りで特につまるところは存在しない
作業内容
1 「リソースマネージャ」より「Sendgrid Mail Delivery」を選択し以下の指定項目を入力
入力項目 作成方法
NAME 作成するSendgridの名前
Password 自動作成されるUSERNAMEのパスワード
サブスクリプション リソースが存在するサブスクリプションを指定
ResourceGroup 各グループにつき一つ指定可能
Prycing Tiar(課金プラン) 無料枠では25000件送信可能(月)
※選択したプランにより差分がある
Contact Information(個人情報) 個人情報(別に偽名でも平気)
法律条項 これを許可しないと先に進めない
【Sendgrid Mail Delivery】設定
41. • 「Aシリーズ」からWEBを通じてGmail送信
– URL : http://AA.AA.AA.AA/format.html
– To : osuban3get20man@gmail.com
– From : 1doujimanoryuu@gmail.com
再確認
成功!
• 「Aシリーズ」から「RDP」を行い、「B」シリーズにログイン
– 作業端末からのRDPは禁止 (接続できなければ成功)
– 「A」シリーズからのRDPは許可する (接続できれば成功)
成功!