2016年2月14日日曜日

新ポータルでAzure Storageのカスタムドメインを設定する / CustomDomain setting for azure storage new azure portal made.

mainpicture

最近では金融や教育などの分野においても、システムを構築するためにクラウドを利用することが多くなってきました。

小さく始めるWebサービス、資産としてサーバーを保持するのが予算上厳しいスタートアップ、バックエンドの管理や自動化をこなす開発人数が確保できない場合などクラウドを利用するのは合理的な判断であると思います。

私の開発ではMicrosoft azureを利用することが多いです。

このazureを管理するための管理ポータルなのですが、最近新しくなりました。

しかし、まだ新ポータルの方には足りない機能があったりするため、旧ポータルと行ったり来たりしています。

この新旧ポータルの違いから一つはまったのでまとめておきます。


新旧PortalにおけるAzure Storage

azureにはstorageという名称のストレージSaaSを提供しています。(awsでいうとS3)

実はこのstorage serviceを旧ポータルで作った場合と新ポータルで作った場合では、異なったものとして認識されるようです。

下の図は新ポータルでStorageアカウントを作成した時の画像です。

newportal

最下部にストレージアカウントがありますね。

こちらが、そのままの状態で旧ポータルに遷移してきた時の画像です。

classicportal

ストレージアカウントが見えなくなっています。

見えないということ自体は新ポータルから設定を確認・変更するだけなので大きな問題では無いのですが、今回一つハマりました。

カスタムドメインが設定できない

実は新ポータルの機能ではStorage blobのデフォルトドメインをカスタムドメインに変更することができません。

notcustomdomain

このように2016/02/14の時点では開発中のようです。

Azure storage non Classic (V2) - How to configure custom domain -stacktrace-

にも現段階では無理そうとの記載がありました。

旧ポータルでのカスタムドメインの設定方法はここに載っています。

AzureResourceExplorer(Preview)を利用して設定する

そこで今回は無理やりアカウントの状態を変えて対応してみることにしました。

利用は自己責任でお願いします。

内容確認

あまり目立たないかもしれないですが、AzureResourceExplorer(Preview)というサービスがazureのドキュメントから辿り着くことが出来ました。

このページ上部のSearchにstorageアカウントの名称を入力して検索します。

選択するとstorageアカウントの設定が以下の様なjsonで表示されます。

{
  "id": "secret",
  "location": "Japan West",
  "name": "storagename",
  "properties": {
    "accountType": "Standard_LRS",
    "creationTime": "2015-12-01T00:00:00.000000Z",
    "primaryEndpoints": {
      "blob": "https://storagename.blob.core.windows.net/",
      "file": "https://storagename.file.core.windows.net/",
      "queue": "https://storagename.queue.core.windows.net/",
      "table": "https://storagename.table.core.windows.net/"
    },
    "primaryLocation": "Japan West",
    "provisioningState": "Succeeded",
    "statusOfPrimary": "available"
  },
  "tags": {},
  "type": "Microsoft.Storage/storageAccounts"
}

旧ポータルでstorageアカウントを作成すると、一番下のtypeが違うものになっているはずです。

変更する

jsonが表示されている上にEditというボタンがあります。
これをクリックし、編集モードに入ります。

現在表示されているものを全て削除し、以下のように書き換えます。

{
  "properties": {
    "customDomain": {
      "name": "your.custom.domain.here",
      "useSubDomain": "true"
    }
  }
}

properties.customDomain.nameを希望のカスタムドメインに変更します。

最後にPATCHをクリックして終了です。

AzureResourceExplorer

DNSレコード設定

ここまでくれば、あと一息です。

旧ポータルで作られたblobへのカスタムドメイン設定方法にある設定を行います。

ドキュメントの中にある中間 asverify サブドメインを使用したストレージ アカウントのカスタム ドメインの登録という箇所を参考に行ってください。

追加するのは二つのCNAMEです。

  • sub.customdomain CNAME mystorage.blob.core.windows.net
  • asverify.sub.customdomain CNAME asverify.mystorage.blob.core.windows.net

sub: カスタムドメインのサブドメイン
customdomain: カスタムドメイン
mystorage.blob.core.windows.net: storageアカウントのend point
asverify: Azureが設定のために利用するらしい

これでしばらく待てば(DNSの反映まで時間がかかる可能性があります)、カスタムドメインから自分のstorageアカウントにアクセスが出来るようになります。

では、良いインプットと良いプログラミングを。

0 件のコメント:

コメントを投稿