Azure StorageのBLOBアクセスにカスタムドメインを利用する -Azure DNSを添えて-

Azure Storageにカスタムドメインを設定して利用する必要がありました。

同じテーマで以前記事を書いた気もしたのですが、その際はAzure Storageの静的Webサイトに対するカスタムドメインの設定でした。

blog.jbs.co.jp

BLOBへのアクセスに対するカスタムドメイン設定は書いたことが無かったので、改めてまとめてみました。

前提

今回は以下の前提で進めます。

  • Azure Storageは汎用 v2で作成
  • ドメイン管理はAzure DNSを利用(すでに作成・移管済み)
  • HTTPアクセスのみとする*1
  • カスタムドメイン設定時のダウンタイムは許容する

下記のドキュメントを参考に進めます。

learn.microsoft.com

ストレージ エンドポイントのホスト名を取得

まず、ストレージアカウントのエンドポイントのBLOBアクセス時のホスト名を確認し、値を控えます。

実際に取得できる値はこのようになりますが

https://<storageaccountname>.blob.core.windows.net/

あとで利用する値では冒頭のhttps://や末尾の/は不要なので、あらかじめメモ帳などで加工しておくと便利です。

<storageaccountname>.blob.core.windows.net

Azure DNSでCNAMEレコードを作成する

続いて、Azure DNSでCNAMEレコードを作成します。

今回は、以下の名前にしました。*2

blob.*****.fnk.tokyo

エイリアスの部分に、先ほど控えた<storageaccountname>.blob.core.windows.netを入力します。

DNSゾーンに追加されたことを確認します。

ストレージアカウントにカスタムドメイン名を設定する

ストレージアカウントの設定に戻ります。[ネットワーク] - [カスタム ドメイン]で、先ほどCNAMEを設定したblob.*****.fnk.tokyoを入力して保存します。

HTTPアクセスを許可する

既定の設定だとHTTPアクセスが無効になっています。今回はHTTPでしかカスタムドメインでのアクセスが出来ないので、ストレージアカウント側のHTTPアクセスを有効にします*3

ストレージアカウントの[構成]で[安全な転送が必要]を「無効」にします。

カスタムドメインでのアクセスをテストする

あらかじめ、匿名アクセスレベルを「BLOB」にした「share」というコンテナを用意しておき、そこに「test.txt」を用意しておきます。

ファイルのプロパティを開くとURLが取得できますが、残念ながらこちらはカスタムドメインにはなっておらず、<storageaccountname>.blob.core.windows.netの形式のままです。

そのため、手動でカスタムドメインに書き換えてアクセスを試します。

無事、カスタムドメインでアクセスする事が出来ました。

おわりに

OneDriveが利用できない状況で、研修用に使う個人情報などが含まれてないテンプレートファイルを、なるべく楽に配布するために設定しました。

今回は用途的にHTTPアクセスで割り切れたのですが、実際にはHTTPSアクセスが求められるケースもあると思います。その場合はAzure Front DoorやAzure CDNが必要になり、一気に敷居が高くなる印象です。

また、Azure側から取得できる値が書き換わるわけではないので、都度書き換えが必要なのは手間がかかるところかと思います。

なお、Azure Storageの静的Webサイトに対するカスタムドメインの設定との併用はできませんでした。同じストレージアカウントで併用するケースも少ないと思いますが、注意が必要かと思います。

利用シーンは限定的かもしれませんが、設定自体は楽なので、ニーズに合えばぜひ使ってみてください。

*1:HTTPSアクセスが理想ですが手順が複雑になる事と、今回扱うデータではそこまで求められない事もあり今回は割愛

*2:blobにする必要はありませんが、今回は分かりやすくするためにこの名前にしました

*3:実際に利用する場合は用途に応じてHTTPSアクセスを検討してください

執筆担当者プロフィール
舟越 匠

舟越 匠(日本ビジネスシステムズ株式会社)

人材開発部に所属。社内向けの技術研修をメインにしつつ、JBS Tech BlogやMS認定資格取得の推進役もやっています。資格としてはAzure Solutions Architect Expertを所持。好きなサービスはPower Automate / Logic Apps。好きなアーティストはZABADAK。

担当記事一覧