クラウドエンジニアブログ

ストレージ アカウントのリージョン間サービス エンドポイントを試してみた

杉山 響

みなさん、こんにちは!杉山です。

Azure は日々進化しており、毎週新しいサービスや機能が提供されています。
先日、ストレージ アカウントで新しいサービス エンドポイントが登場しました。
今回は、その内容について実際に検証を行いながら確認してみました。


はじめに


該当の更新情報は以下になります。
Generally available: Cross-region service endpoints for Azure Storage

更新情報の概要は、ストレージ アカウントで従来のサービス エンドポイントに加えリージョン間サービス エンドポイントという新しい種類のサービス エンドポイントが登場した、という内容になります。

サービス エンドポイントとは、Azure のバックボーン ネットワークを介して Azure サービスに接続できるようになる、仮想ネットワーク (以降、VNet) の機能の 1 つです。
サービス エンドポイント経由の通信は、Azure のバックボーン ネットワーク経由の通信となるため、インターネット経由の通信より安全な通信となります。
サービス エンドポイントの詳細は Microsoft 社の公式ドキュメントをご参照ください。

仕様


サービス エンドポイントの仕様は Azure サービス毎に仕様が多少異なります。
ストレージ アカウントの従来のサービス エンドポイントは、VNet と同じリージョンおよびそのペア リージョンのストレージ アカウントのみ通信可能です。
しかし、それ以外のリージョンのストレージ アカウントにはサービス エンドポイント経由で通信はできません。



今回登場したリージョン間サービス エンドポイントでは、「VNet と同じリージョンおよびそのペア リージョンのストレージ アカウントのみ通信可能」という制限が解除されました。
つまり、全リージョンのストレージ アカウントにサービス エンドポイント経由で通信できるようになりました。


なお、注意事項として、従来のストレージ アカウントのサービス エンドポイント (Microsoft.Storage) とリージョン間サービス エンドポイント (Microsoft.Storage.Global) の両方を有効にすることはできないという仕様があります。


また、既存の設定からサービス エンドポイントの種類を変更 (従来のサービス エンドポイント ↔ リージョン間サービス エンドポイント) する際、瞬断などネットワークに影響を及ぼすことはありません。

検証


従来のサービス エンドポイント、リージョン間サービス エンドポイント経由でそれぞれ、VNet と同じリージョンおよびそのペア リージョン以外のリージョンのストレージ アカウントに接続できるか検証します。
検証方法は、東日本リージョンの VM から同リージョンのストレージ アカウントと米国東部リージョンのストレージ アカウントにそれぞれサービス エンドポイント経由で接続できるかを確認します。
接続確認は、コンテナーに配置したコンテンツにアクセスする方法で確認します。

事前準備


接続確認のために、各ストレージ アカウントのコンテナーにコンテンツをそれぞれ配置します。

東日本リージョンのストレージ アカウント

米国東部リージョンのストレージ アカウント


従来のサービス エンドポイント


ストレージ アカウントの従来のサービス エンドポイントの仕様は、VNet と同じリージョンおよびそのペア リージョンのストレージ アカウントのみ通信可能です。
ですが、同リージョンおよびペア リージョンではない VNet 間でも VNet ピアリングを構成すれば、従来のサービス エンドポイント経由でも接続可能になるのではないかと思い、検証してみました。

構成


本検証のリソース構成は以下となります。



本検証の構成図は以下となります。



設定


各リージョンの VNet でストレージ アカウントの従来のサービス エンドポイント (Microsoft.Storage) を有効にします。


東日本リージョンの VNet と米国東部リージョンの Vnet 間で VNet ピアリングを構成します。


ストレージ アカウント側のアクセス制御で、サービス エンドポイントを有効にした同リージョンの VNet 以外の通信は拒否するように構成します。

東日本リージョンのストレージ アカウント


米国東部リージョンのストレージ アカウント


接続確認


東日本リージョンに作成した VM から同リージョンのストレージ アカウントのコンテンツに接続してみます。


スカイツリーが表示されますね。

次に、東日本リージョンに作成した VM から米国東部リージョンのストレージ アカウントのコンテンツに接続してみます。


自由の女神が表示されませんね。

この結果により、ストレージ アカウントの従来のサービス エンドポイントは、同じリージョンおよびそのペア リージョン以外のリージョンの VNet 間で VNet ピアリングを構成しても接続できないことが確認できました。
検証結果を構成図に反映すると以下図のようになります。


リージョン間サービス エンドポイント


ストレージ アカウントのリージョン間サービス エンドポイントの仕様は、全リージョンのストレージ アカウントと通信可能です。
本検証では、リージョン間サービス エンドポイント経由であればリージョンに関係なくストレージ アカウントに接続できることを確認します。

構成


本検証のリソース構成は以下となります。


本検証の構成図は以下となります。



設定


東日本リージョンの VNet でストレージ アカウントのリージョン間サービス エンドポイント (Microsoft.Storage.Global) を有効にします。


また、ストレージ アカウント側のアクセス制御で、サービス エンドポイントを有効にした東日本リージョンの VNet 以外の通信は拒否するように構成します。

東日本リージョンのストレージ アカウント


米国東部リージョンのストレージ アカウント


接続確認


東日本リージョンに作成した VM から同リージョンのストレージ アカウントのコンテンツに接続してみます。


配置したスカイツリーが表示されますね。

次に、東日本リージョンに作成した VM から米国東部リージョンのストレージ アカウントのコンテンツに接続してみます。


配置した自由の女神が表示されますね。

本検証では、東日本リージョンおよび米国東部リージョン共にコンテンツが表示されました。
これは、リージョン関係なくストレージ アカウントに接続可能であるリージョン間サービス エンドポイントの仕様通りの動作となります。
検証結果を構成図に反映すると以下図のようになります。


まとめ


本検証により、ストレージ アカウントのサービス エンドポイントについて、以下 2 つを確認することができました。

  • 従来のサービス エンドポイント (Microsoft.Storage) では、VNet ピアリングを構成しても VNet と同じリージョンおよびそのペア リージョン以外のストレージ アカウントには接続することはできない。
  • リージョン間サービス エンドポイント (Microsoft.Storage.Global) では、リージョンに関係なくストレージ アカウントに接続できる。

よって、リージョンに関係なくストレージ アカウントにサービス エンドポイント経由で接続するには、今回新しく登場したリージョン間サービス エンドポイントを有効にする必要があることが分かりました。
ディザスター リカバリーやデータ保護などといった観点から、接続元の Azure リソースとは別リージョンにストレージ アカウントを作成するといった環境もあると思います。
そういった環境のストレージ アカウントに、リージョンに縛られることなく、サービス エンドポイント経由でセキュアに接続できるようになったのは便利ですね。
しかし、それと同時にリージョン間サービス エンドポイントの有効化に伴い、全リージョンのストレージ アカウントに接続できるようになります。
そのため、意図しないストレージ アカウントにも接続可能になります。
アクセス制御という観点では、NSG やストレージ アカウントのアクセス制御機能で細かく制御する必要がありそうですね。


以上です。
最後までお読みいただきありがとうございました。

お問い合わせ

製品・サービスに関するお問い合わせはお気軽にご相談ください。

ピックアップ

セミナー情報
クラウドエンジニアブログ
clouXion
メールマガジン登録