kazuakix の日記

Windows Phone とか好きです

Office 365 のドメインを Azure DNS に移してみる

Azure DNS Preview が使えるようになったので Office 365 のドメインを Azure DNS で管理するようにしてみます。

Azure DNS でのゾーン情報作成

まずは Office 365 で使うドメインのゾーン情報を作ります。

使用するドメインはいつぞやの kazuakix.jp を使います。

New-AzureDnsZone -Name kazuakix.jp -ResourceGroupName DnsResourceGroup

ドメイン名の他にリソースグループ名が必要になるので前もってこんな感じで作作っておきました。

New-AzureResourceGroup -Name DnsResourceGroup -location "japanwest"

Get-AzureDnsRecordSet で内容を確認してみます。

PS C:\> Get-AzureDnsRecordSet -ZoneName kazuakix.jp -ResourceGroupName DnsResourceGroup 

Name              : @
ZoneName          : kazuakix.jp
ResourceGroupName : DnsResourceGroup
Ttl               : 3600
Etag              : 22d1b6b6-ea60-4921-9085-f0909e08d401
RecordType        : SOA
Records           : {[edge1.azuredns-cloud.net,msnhst.microsoft.com,900,300,604800,300]}
Tags              : {}

Name              : @
ZoneName          : kazuakix.jp
ResourceGroupName : DnsResourceGroup
Ttl               : 3600
Etag              : 4e5186c9-584d-46dc-95a7-cd8c0b27dfd7
RecordType        : NS
Records           : {ns1-08.azure-dns.com, ns2-08.azure-dns.net, ns3-08.azure-dns.org, ns4-08.azure-dns.info}
Tags              : {}

SOA と NS レコードができていますね。
 

レコードの作成

その他 Office 365 に必要なレコードはドメインの登録中に指定されます。

f:id:kazuakix:20150509005424j:plain

これらのレコードについても順番に作成していきましょう。

BIND なんかだと 1 レコードは "@ 3600 IN MX 0 hogehoge.outlook.com." みたいな感じで 1 行で書きますが、Azure DNS はレコードセットという入れ物を作って その中にレコードを追加するという手順になります。例えば MX のレコードセットを作ってその中に優先順位をつけて複数のメールサーバーをレコードとして登録するようなイメージです。

MX レコードの作成

とりあえず MX レコードを作ってみます。画面の指示だと @ (ここではドメイン名) に対して優先度 0, TTL 3,600 秒で kazuakix-jp.mail.protection.outlook.com を指定するようになっていました。

最初に @ に対する MX レコードセットを作成します。

$rs=New-AzureDnsRecordSet -Name "@" -RecordType MX -ZoneName kazuakix.jp -ResourceGroupName DnsResourceGroup -Ttl 3600

この時点ではレコードセットはこんな状態になっていました。

PS C:\> $rs

Name              : @
ZoneName          : kazuakix.jp
ResourceGroupName : DnsResourceGroup
Ttl               : 3600
Etag              : ba55b5fc-2585-4955-96c2-947ca79c18ac
RecordType        : MX
Records           : {}
Tags              : {}

作成したレコードセットにレコードを追加します。

Add-AzureDnsRecordConfig -Exchange kazuakix-jp.mail.protection.outlook.com -Preference 0 -RecordSet $rs

中身を見るとレコードが追加されている事がわかります。

PS C:\> $rs

Name              : @
ZoneName          : kazuakix.jp
ResourceGroupName : DnsResourceGroup
Ttl               : 3600
Etag              : ba55b5fc-2585-4955-96c2-947ca79c18ac
RecordType        : MX
Records           : {[0,kazuakix-jp.mail.protection.outlook.com]}
Tags              : {}

最後にレコードセットの内容をゾーンに反映させます。

Set-AzureDnsRecordSet -RecordSet $rs

以下、同じような作業の繰り返しになります。

CNAME レコードの作成

画面の指示に従って 4 つの CNAME を作成します。

$rs=New-AzureDnsRecordSet -Name autodiscover -RecordType CNAME -ZoneName kazuakix.jp -ResourceGroupName DnsResourceGroup  -Ttl 3600
Add-AzureDnsRecordConfig -Cname autodiscover.outlook.com -RecordSet $rs
Set-AzureDnsRecordSet -RecordSet $rs

$rs=New-AzureDnsRecordSet -Name sip -RecordType CNAME -ZoneName kazuakix.jp -ResourceGroupName DnsResourceGroup  -Ttl 3600
Add-AzureDnsRecordConfig -Cname sipdir.online.lync.com -RecordSet $rs
Set-AzureDnsRecordSet -RecordSet $rs

$rs=New-AzureDnsRecordSet -Name lyncdiscover -RecordType CNAME -ZoneName kazuakix.jp -ResourceGroupName DnsResourceGroup  -Ttl 3600
Add-AzureDnsRecordConfig -Cname webdir.online.lync.com -RecordSet $rs
Set-AzureDnsRecordSet -RecordSet $rs

$rs=New-AzureDnsRecordSet -Name msoid -RecordType CNAME -ZoneName kazuakix.jp -ResourceGroupName DnsResourceGroup  -Ttl 3600
Add-AzureDnsRecordConfig -Cname clientconfig.microsoftonline-p.net -RecordSet $rs
Set-AzureDnsRecordSet -RecordSet $rs

 

TXT レコードの作成

@ に対する TXT レコードを追加します。 MX レコードのときもそうですが @ は "" で囲まないとエラーになりました。

$rs=New-AzureDnsRecordSet -Name "@" -RecordType TXT -ZoneName kazuakix.jp -ResourceGroupName DnsResourceGroup  -Ttl 3600
Add-AzureDnsRecordConfig -Value "v=spf1 include:spf.protection.outlook.com -all" -RecordSet $rs
Set-AzureDnsRecordSet -RecordSet $rs

 

SRV レコードの作成

最後に SRV レコード。サービスとプロトコル名を繋いだものが名前になります。

$rs=New-AzureDnsRecordSet -Name "_sip._tls" -RecordType SRV -ZoneName kazuakix.jp -ResourceGroupName DnsResourceGroup  -Ttl 3600
Add-AzureDnsRecordConfig -Port 443 -Weight 1 -Priority 100 -Target sipdir.online.lync.com -RecordSet $rs
Set-AzureDnsRecordSet -RecordSet $rs

$rs=New-AzureDnsRecordSet -Name "_sipfederationtls._tcp" -RecordType SRV -ZoneName kazuakix.jp -ResourceGroupName DnsResourceGroup  -Ttl 3600
Add-AzureDnsRecordConfig -Port 5061 -Weight 1 -Priority 100 -Target sipfed.online.lync.com -RecordSet $rs
Set-AzureDnsRecordSet -RecordSet $rs

 

ネームサーバーの変更

登録が終わったらドメインのレジストラ側でネームサーバーを変更します。ネームサーバーは Get-AzureDnsRecordSet を実行した際に NS レコードに表示されるサーバーすべてを指定します。

今回は お名前.com でドメインを取得していたので こんな感じで指定しました。

f:id:kazuakix:20150509012125j:plain
 

Office 365 での確認

ネームサーバーが切り替わるのを待って Office 365 の画面に戻って「レコードを追加しました」のリンクをクリックすることで DNS の内容がチェックされます。エラーがなければ完了画面になって無事終了になります。

f:id:kazuakix:20150509013048j:plain