NEXTSCAPE blog

株式会社ネクストスケープの社員による会社公式ブログです。ネスケラボでは、社員が日頃どのようなことに興味をもっているのか、仕事を通してどのような面白いことに取り組んでいるのかなど、会社や技術に関する情報をマイペースに紹介しています。

MENU

サービスエンドポイントを使ってStorageに外部接続制限をしてみた

こんにちは。

7月にAzure関連のMCP資格(MCSA/MCSE)の記事を記載しましたが、 ついに・・・!!MCSE資格を取得した開發です。
インフラ隊長という名前を頂きましたので、Azure インフラ周りを注力してブログ記載していこうかと思います。

この記事はネクストスケープ クラウド事業本部 Advent Calendar 2017の4日目となります。
そろそろ、毎日の更新が楽しみになってきている方がいらっしゃるのでは・・・!?

さて、Azureの PaaS はインターネットからアクセス可能なエンドポイントを持っていますが、
IaaSとPaaSを組み合わて構成したいけれども、PaaSのセキュリティ面を考慮した時にどう利用すればよいか迷いませんか?

今回、そんな時に役立つサービスとして、Ignite 2017で発表された「仮想ネットワーク(Vnet)のサービスエンドポイント」について紹介します。

f:id:nextscape_blog:20210911002343p:plain



仮想ネットワークのサービスエンドポイント

 

Azure SQL Database やAzure Storage は PaaSですので、インターネットからアクセス可能なエンドポイント(外部公開URL)を持っているPaaSです。

実は仮想ネットワークのサービスエンドポイントを使用する事で、なんと・・指定した仮想ネットワーク内サブネットからのアクセスのみに制限させる事ができます。

これにより、仮想ネットワークからPaaSへのトラフィックをAzueバックボーンネットワーク内に閉じ込めておけるため、セキュリティ面で安全性が向上します。

f:id:nextscape_blog:20210911002404p:plain


早速、サービスエンドポイントを利用してStorageへのアクセスを実際に試してみようと思いますが・・っとその前に!


●事前準備


サービスエンドポイントを設定する仮想ネットワークとStorageアカウントは同じリージョンにする必要があります。
新しいサービスやプレビュー版を利用する場合はに、使用したいリージョンが対応しているかどうか気になりますよね。
今回のように事前に確認することをおすすめします。
通常は、こちらから確認が可能だったりしますが、今回はオプション機能であるからか記載が無いので PowerShellでチェックしておきます。

#リージョン選択
$location =(Get-AzureRMLocation | Out-GridView -PassThru).Location
#サービスエンドポイント Get-AzureRmVirtualNetworkAvailableEndpointService -Location $location

今回テストで使用するのは米国西部2ですが、西日本、東日本とも対応したようです。
(追記:確認したところ10/27に全リージョンで対応しました!)

では、利用可能なリージョンを確認したので作ってみましょう。
設定項目にピックアップして解説していきます。

仮想ネットワークの作成と設定

 

f:id:nextscape_blog:20210911002458p:plain

まずは、図左の仮想ネットワーク、サブネット、サービスエンドポイントの設定を行います。
新しく仮想ネットワークを作成する際に、この3つの作成および設定が同時に可能です。


f:id:nextscape_blog:20210911002519p:plain


場所:すでに作成済みのストレージにサービスエンドポイントでアクセスする場合は、同じリージョンに合わせてください。
サービスエンドポイント:有効
後は、サービスエンドポイントを使用するAzureサービスを指定するだけでOKです。


Storageの作成と設定

 

f:id:nextscape_blog:20210911002541p:plain




図右下のストレージアカウント、サービスエンドポイントの設定を行います。
新しくストレージアカウントを作成する際に、この2つの作成および設定が同時に可能です。


f:id:nextscape_blog:20210911002601p:plain


デプロイモデル:ResoureManager (クラシックは非サポートです)
アカウントの種類:汎用・BlOBストレージ の 両方に対応しています。
場所:仮想ネットワークと同じリージョン
仮想ネットワークを構成します:有効
後は、仮想ネットワークとサブネットを指定します。


検証

では、ストレージにファイルを置いて、下記のファイルアクセスの検証を行います。

1.インターネットからのアクセス
2.同じネットワークのサブネットにある仮想マシンからのアクセス

では、確認してみましょう!


1.インターネットからアクセス

 

f:id:nextscape_blog:20210911002632p:plain



f:id:nextscape_blog:20210911002658p:plain

ブラウザからBlobファイルのURLを入れると、AuthorizationFailure(承認エラー)が出ました。
アクセスが制限されている事が確認できます。


2.同じネットワークのサブネットにある仮想マシンからのアクセス

 

f:id:nextscape_blog:20210911002757p:plain


同じ仮想ネットワークサブネット内に仮想マシンを作成し、そこからアクセスしてみます。

f:id:nextscape_blog:20210911002814p:plain


アクセスができ、画像が表示されました!



メモ

Blobストレージアカウントにサービスエンドポイントを設定すると、AzurePortalであっても Overview(概要)がアクセス出来なくなります。(別ネットワークからのインターネットアクセス)

f:id:nextscape_blog:20210911002831p:plain

ですので、Storageアカウント作成後にBlob設計を行う場合は、同じ仮想ネットワーク内で行うか、ストレージのファイアーウォール設定で後からサービスエンドポイントを有効にするか、社内IPなどをパブリックIPに指定しておくと良いでしょう。




最後に

今回の検証の大半は、弊社の有志が主催している Azureもくもく会@新宿 の時にもくもくした内容を再検証し、まとめたものになります。
このもくもく会は、ほぼ毎月行っておりますので、ぜひお越しください!
一緒にAzureでもくもくしましょう!AzureMVPのメンバーも参加してます!


また、Azureにもっと詳しくなりたい!という方に朗報!
弊社エバンジェリスト&Azure MVPの上坂が、なんと本日(12/4)17:00- Schooの生放送で登壇します!
「Microsoft Azure 白熱講義 by 日本Microsoft & Nextscape」
12/4 17:00-  Azureクラウドデザインパターン -IaaS基本編-
ぜひ、ご視聴ください!




■Azure関連記事
Azure SQL Database の便利機能!!使わないと損ですよ!!
Global 接続ができるようになった Microsoft Azure の仮想ネットワーク Peering を試してみたよ
Azure Web Apps で WAF(Azure Application Gateway) がサポートされたのでやってみた
...Azure関連記事一覧へ