Office365 独自ドメインをAzureDNSで設定したメモ – PowerShell

Office365で外部DNSを利用して、独自のドメインを利用することができると。
ポータルからはまだよく見えてなかったけど存在しているAzureDNSを使って設定したメモをマスクしながらここに残しておきます。
ただ、最近はポータルからも設定できるようになってきましたので、そもそもこれでやるメリットはそこまでないと思う。テンプレート化してというのもあるけど、ARMもあるわけで、メモ程度と考えてください
課金形態は、クエリ単位のものなので、利用者が極端に多い場合は、DNSサーバー使ったほうがいいかもしれない。けど可用性や負荷の面倒から解放されるというの機能も捨てがたいかもしれない。
また、AzureDNSは一つのゾーンで、4つのDNSサーバーを持つ様子。
おそらくは、それぞれの地域でサーバーが存在していると思われる。
(多分、それぞれの地域でIPにResolveすればわかる気がするけど、試してはいない)
最初にDNSゾーンの作成、その後レコードセットと言われるDNSのレコードを登録していきました。PowerShellの参考として考えてください。

[ゾーンの作成と確認]

New-AzureDnsZone -Name [ドメイン名] -ResourceGroupName [リソースグループ名]
Get-AzureDnsRecordSet -ZoneName [ドメイン名] -ResourceGroupName [リソースグループ名]

[レコードセットの作成 – MX]

$rsmx = New-AzureDnsRecordSet -Name "@" -RecordType "MX" -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Ttl 3600
Add-AzureDnsRecordConfig -RecordSet $rsmx -Exchange [mailホスト名].mail.protection.outlook.com -Preference 0
Set-AzureDnsRecordSet -RecordSet $rsmx

[作成済みの場合]
$rsmx = Get-AzureDnsRecordSet -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Name "@" -RecordType "MX"

[レコードセットの作成 – TXT]

$rstxt = New-AzureDnsRecordSet -Name "@" -RecordType "TXT" -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Ttl 3600
Add-AzureDnsRecordConfig -RecordSet $rstxt -Value "v=spf1 include:spf.protection.outlook.com -all"
Set-AzureDnsRecordSet -RecordSet $rstxt

[作成済みの場合]
$rstxt = Get-AzureDnsRecordSet -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Name "@" -RecordType "TXT"

[レコードセットの作成 – CNAME autodiscover]

$rscnameautodiscover = New-AzureDnsRecordSet -Name "autodiscover" -RecordType "CNAME" -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Ttl 3600
Add-AzureDnsRecordConfig -RecordSet $rscnameautodiscover -Cname "autodiscover.outlook.com"
Set-AzureDnsRecordSet -RecordSet $rscnameautodiscover 

[作成済みの場合]
$rscnameautodiscover = Get-AzureDnsRecordSet -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Name "autodiscover" -RecordType "CNAME"

[レコードセットの作成 – CNAME lyncdiscover]

$rscnamelyncdiscover = New-AzureDnsRecordSet -Name "lyncdiscover" -RecordType "CNAME" -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Ttl 3600
Add-AzureDnsRecordConfig -RecordSet $rscnamelyncdiscover -Cname "webdir.online.lync.com"
Set-AzureDnsRecordSet -RecordSet $rscnamelyncdiscover 

[作成済みの場合]
$rscnamelyncdiscover = Get-AzureDnsRecordSet -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Name "lyncdiscover" -RecordType "CNAME"

[レコードセットの作成 – CNAME msoid]

$rscnamemsoid = New-AzureDnsRecordSet -Name "msoid" -RecordType "CNAME" -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Ttl 3600
Add-AzureDnsRecordConfig -RecordSet $rscnamemsoid -Cname "clientconfig.microsoftonline-p.net"
Set-AzureDnsRecordSet -RecordSet $rscnamemsoid 

[作成済みの場合]
$rscnamemsoid = Get-AzureDnsRecordSet -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Name "msoid" -RecordType "CNAME"

[レコードセットの作成 – CNAME sip]

$rscnamesip = New-AzureDnsRecordSet -Name "sip" -RecordType "CNAME" -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Ttl 3600
Add-AzureDnsRecordConfig -RecordSet $rscnamesip -Cname "sipdir.online.lync.com"
Set-AzureDnsRecordSet -RecordSet $rscnamesip 

[作成済みの場合]
$rscnamesip = Get-AzureDnsRecordSet -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Name "sip" -RecordType "CNAME"

[レコードセットの作成 – CNAME enterpriseregistration]

$rscnameenterpriseregistration = New-AzureDnsRecordSet -Name "enterpriseregistration" -RecordType "CNAME" -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Ttl 3600
Add-AzureDnsRecordConfig -RecordSet $rscnameenterpriseregistration -Cname "enterpriseregistration.windows.net"
Set-AzureDnsRecordSet -RecordSet $rscnameenterpriseregistration 

[作成済みの場合]
$rscnameenterpriseregistration = Get-AzureDnsRecordSet -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Name "enterpriseregistration" -RecordType "CNAME"

[レコードセットの作成 – CNAME enterpriseenrollment]

$rscnameenterpriseenrollment = New-AzureDnsRecordSet -Name "enterpriseenrollment" -RecordType "CNAME" -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Ttl 3600
Add-AzureDnsRecordConfig -RecordSet $rscnameenterpriseenrollment -Cname "enterpriseenrollment.manage.microsoft.com"
Set-AzureDnsRecordSet -RecordSet $rscnameenterpriseenrollment 

[作成済みの場合]
$rscnameenterpriseenrollment = Get-AzureDnsRecordSet -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Name "enterpriseenrollment" -RecordType "CNAME"

[レコードセットの作成 – SRV _sipfederationtls._tcp]

$rssrv_sipfederationtls_tcp = New-AzureDnsRecordSet -Name "_sipfederationtls._tcp" -RecordType "SRV" -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Ttl 3600
Add-AzureDnsRecordConfig -RecordSet $rssrv_sipfederationtls_tcp –Priority 100 –Weight 1 –Port 5061 –Target "sipfed.online.lync.com"
Set-AzureDnsRecordSet -RecordSet $rssrv_sipfederationtls_tcp

[作成済みの場合]
$rssrv_sipfederationtls_tcp = Get-AzureDnsRecordSet -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Name "_sip._tls" -RecordType "SRV"

[レコードセットの作成 – SRV _sip._tls]

$rssrv_sip_tls = New-AzureDnsRecordSet -Name "_sip._tls" -RecordType "SRV" -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Ttl 3600
Add-AzureDnsRecordConfig -RecordSet $rssrv_sip_tls –Priority 100 –Weight 1 –Port 443 –Target "sipdir.online.lync.com"
Set-AzureDnsRecordSet -RecordSet $rssrv_sip_tls

[作成済みの場合]
$rssrv_sip_tls = Get-AzureDnsRecordSet -ZoneName "[ドメイン名]" -ResourceGroupName "[リソースグループ名]" -Name "_sip._tls" -RecordType "SRV"

そして、最後に確認!

Get-AzureDnsRecordSet -ZoneName [ドメイン名] -ResourceGroupName [リソースグループ名]

追記 2016/02/17

Azure No1の方がポータルでの設定をまとめていらっしゃいました

Azure DNSの管理(ポータル編)

「第13回 Office365 勉強会 ~ 北の国から2016 ~」に参加させていただきました

こんにちわ!おそくなりましたが、参加報告です。

http://jpo365ug.com/o365-meeting/meeting-13/

セッションの内容は、聞いた人によって受け取り方はさまざまだったんじゃないかと思います。機能の紹介から始まって、運用の話、開発の話と幅広い内容を4セッションで聞かせていただきました。

これは、非常に面白かったです。というのも、MicrosoftAzureは完全にプラットフォームなところですが、Office365はエンドユーザーに向けたサービスというのが一番の理由でしょうか。レイヤーでいうなら、OSとかミドルウェア、プラットフォームまでがAzureですが、Office365は完全な機能(アプリケーション)を提供するサービスです。それもAPI(Application-Plugin Interface)付き。ので、ここに携わる開発者というのはこういうサービスを作りたいという発想だけではなく、今あるものを便利にしようとか、より使い勝手をよくしようとか、活用できるようにしよう。運用からこんなことに困っているとか、営業やら運用からあがる具体的な事柄に対して立ち向かっていくというのが、開発者の一番の役目なのだなぁと感じました。

ディスカッションにおいては、まとめをしゃべる役目を承りましてマイクの電源が入っていない落ちどころからはじまって、話のオチで終わるという落ちてばかりでしたが、笑ってもらえただけありがたいと感じています。

ところで、Office365とAzureの結ぶ点にAzureADという認証を行うサービスがあったりします。Office365の視点だとあまりAzureADは、バックエンドであるため見えてきません。セッションの中でも開発を中心として紹介されていました。オンプレミスのADと連携する機能や、多要素認証・2段階認証(※別途有償だけど)、またはOAuthなどの認証サービス、。そして・・・Azureとの連携もあります。

http://msdn.microsoft.com/ja-jp/library/azure/jj573650.aspx

Azureの視点でみるなら、ここにユーザー・グループを作ってリソース管理にアクセス制御をするということ、またサービス自体の認証に使ってしまうということでWebアプリの認証としてポータルから設定することもできます。AzureAutomation用のアカウントを作ったりとかもありますね。

という具合に切っても切れない結びつきがありますので、ここつないでいったらクラウドの閉ざされたサービスというのももうちょっと面白い展開ができそうな気がしました。

それでは!

Visual Studio Dev Essentials – Azure Credits

とうとう、Visual Studio Dev Essentialsに Azureのクレジットがきたー!という嬉しさでBlog書きます。

Free Visual Studio Dev Essentials Program now includes $300 in Azure credits and Exclusive Xamarin University access

Today we’re pleased to announce two new benefits for Dev Essentials members:

  • $300 in Azure Credits: enjoy $25/month in credits for 12 months to take advantage of Azure services for your apps.). That’s enough to run a D2 Windows Virtual Machine for 95 hours a month, or try out an A3 HDInsight Cluster for 24 hours. These credits can be applied on top of the free options offered by many Azure services. Learn more here

毎月$25で12か月間、合計$300のAzureクレジットを提供する。これはVirtualMachineをD2インスタンス(仮想マシンのスペック)でWindowsを入れた場合は月に95時間使え。または、A3 HDInsightなら24時間使えますよーってみたいなことが書いてるようです。

この特典は、去年のConnect();というイベントで発表された「Visual Studio Dev Essentials」というものの一部で、それ以来Azureのサブスクリプションは「Comming soon」となっていたものでした。VSCodeまたはCommunityを開発環境として、WebサーバーまたはアプリのバックエンドはAzureでだれでも始められる環境がそろったことはすごいと思っています。

日本円で 2,550-のようですね。

 

と喜んでいたのですが、

どうやら

Sign In issues with Visual Studio Team Services – 2/4 – Investigating

現在、サインインに関して問題が発生しているようです。復旧するまでそうかからないと信じていますが、待つしかなさそうです。

 

 

 

復帰しないかなー。わくわく

・・・と何回かチャレンジするといけました。

この画面は、事前にVisual Studio Dev Essentialsの利用開始している状態です。

 

Azure $25 monthly Azure Creditの「Activate」を選びました。

しばらく待ちます・・・

「サービスの管理を開始する」でポータルデビュー!

今月は短いからいきなり28日になってますね。

3000円になってるな・・・まぁ気にしない!

サブスクリプションの購入をお知らせするメールも届いてました。

初期では、使用制限がかかっているので、課金される心配はないです。しかし、使用制限を解除して課金することで、クレジット以上使うこともできそうな感じです。(もちろん、試してない)。無料評価版で、1か月だったものより試しやすいかなぁという気がします。