AWS(Amazon Route 53&S3)で日本語ドメインをホスティングする方法

cloudpackエバンジェリストの吉田真吾@yoshidashingo)です。

.comとか.jpのようなasciiなドメインが当たり前だった世界に、Unicodeで表現できる範囲のドメイン、つまり多言語なドメインが増え始めたのでどう扱うか、「.みんな」ドメインを例に話します。


.みんなドメインとは

2011年以降、ICANN(Internet Corporation for Assigned Names and Numbers)では新しいgTLD(Generic Top Level Domain)の申請を受け付けています。この中では日本語を含む各国言語によるTLDも申請が可能です。そしてGoogleが2012年に承認されていた「.みんな」ドメインを2014/3/5から一般提供開始しました。
f:id:yoshidashingo:20140320143621p:plain

今日はこれを使ってS3でWebサイトをホスティングしてみようというお話。
画面の操作方法のキャプチャ画像を見ながら進めたい人は先週のJAWS DAYSでやったハンズオン内容を見ながらやるといいと思います。




ドメイン名の取得

今回は「おれとおまえと.みんな」というドメイン名を取得しました。

.みんなドメイン登録 | 世界のドメイン取得、コンサルティングならGonbei Domain(ゴンベエドメイン)


Punycode(ピュニコード)とは?

上記のドメイン名を「S3で同名バケット作成」「Route 53でホストゾーンとして設定」する必要がありますが、現在ここに日本語は使えません。ということでここで出番となるのがPunycodeです。Punycodeとは、RFC 3492で定義されているUnicodeで表現されるドメイン名をDNSで扱うための符号化方式です。

Punycode - Wikipedia

確認してみると「おれとおまえと.みんな」=「xn--r8jda3jc4k0d.xn--q9jyb4c」であることが分かります。


S3の設定

「おれとおまえと.みんな」バケットの作成・設定

  • xn--r8jda3jc4k0d.xn--q9jyb4c でバケットを作成
  • バケットの「Properties」から「Permissions」を選択して「Edit bucket policy」 を選択
  • バケットの「Properties」から「Static Website Hosting」を選択して「Enable website hosting」を有効化します。

f:id:yoshidashingo:20140320150638p:plain

「www.おれとおまえと.みんな」バケットの作成・設定

  • www.xn--r8jda3jc4k0d.xn--q9jyb4c でバケットを作成
  • バケットの「Properties」から「Static Website Hosting」を選択して「Redirect all request to another host name」を選択し「xn--r8jda3jc4k0d.xn--q9jyb4c」に転送する設定にします。

f:id:yoshidashingo:20140320151137p:plain


Route 53の設定

ホストゾーンを作る

  • xn--r8jda3jc4k0d.xn--q9jyb4c でホストゾーンを作成
  • Aレコード追加/Alias[Yes]/Target:xn--r8jda3jc4k0d.xn--q9jyb4cバケット で設定します。
  • CNAMEレコード追加/Alias[No]Value:xn--r8jda3jc4k0d.xn--q9jyb4cバケットのEndpoint で設定します。

f:id:yoshidashingo:20140320152126p:plain


レジストラの設定

最後にRoute 53にNSレコードにある4つのネームサーバーの値をレジストラの管理画面で設定してあげればOK
f:id:yoshidashingo:20140320152242p:plain


アクセスしてみる

「おれとおまえと.みんな」バケットにコンテンツをアップロードしたら、アクセスしてみる。
f:id:yoshidashingo:20140320152434p:plain



以上、小ネタでした。