Azure Functionsの登録したFunction Appの設定を変更して、
http://<Azureで定義したApp名>.azurewebsites.net
のように、ルートディレクトリに直接アクセスしたかったけど、
http://<Function App名>.azurewebsites.net/api/<funcname>
http://<Function App名>.azurewebsites.net/<funcname>
のどちらかでアクセスするしかなさそうだった。 それだと取得したドメインのトップサイトに出来ないので、
- Function AppをAzure CDN経由でアクセスできるように連携
- Azure CDNを独自ドメインと連携
のようにAzure CDNをワンステップはさんで設定してみた。
前提
下記投稿で作成したFunction Appを使用。
Function AppをAzure CDNに連携
Azure CDNを作成
Azureポータルを開き、Function Appで「ネットワーク」を選択する。
「アプリに Azure CDN を構成する」を選択する
各項目を設定して「作成」を選択する。(配信元のホスト名はFunction AppのURLが入った状態。)
作成したAzure CDNの概要で下記状態を確認する。
ホスト名 | URL |
---|---|
エンドポイントのホスト名 | https://Azure CDNのURL |
配信元のホスト名 | https://Function AppのURL |
Azure CDNをFunction Appと連携
作成したCDNの「配信元」を開き、「配信元のパス」に「/Function Appのファンクション名」を設定する。
これで、「Function App名.azurewebsites.net/Function Appのファンクション名」を、
「Azure CDN名.azureedge.net」に連携できた。
独自ドメインと連携
あとは、Azure CDNのエンドポイントのホスト名と独自ドメインを連携させる。 今回は既に外部ドメインサービスで取得していたため、下記の手順で行う。
Azure CDNでドメイン設定
Azure CDNの「カスタム ドメイン」で取得しているドメインを設定する。
ドメインサービス側では、CNAMEにAzure CDNのエンドポイントのホスト名を設定すればいい。