読者です 読者をやめる 読者になる 読者になる

続 カッコの付け方

AWSを始めとしたクラウドコンピューティング全般と、唯一神emacsにおける()の付け方についてだらだら書きます

ELB & Route53 Aliasレコード (ipv6も!)

AWS ELB IPv6 Route53

トップレベルドメインに対してCNAME相当を使うときに、Route53 の Aliasを使います。ELBはIPアドレスが可変であるため、Aレコードは実質使えないためです。Aliasとは、CNAMEっぽいAレコードです。

 

Private DNSが対応の検証前に、ちょっとマネジメントコンソールに変更があったみたいなので、書いておきます。

 

トップレベルドメイン名(Amazon的には zone apex というらしい)はCNAMEが使えません。www.example.com だと wwwが付かないやつのことです。ELBのエンドポイントを独自ドメインで運用、しかもトップレベルドメインとなると、Route53を使うことになります。(そうじゃなくてもRoute53は便利ですが)

 

マネジメントコンソールの操作としては

 

まず、ELBのエンドポイントを記録します。

f:id:iga-ninja:20141223144827p:plain

 

そしてRoute53にAレコード Alias = yes として、ELBのエンドポイントを入れます

f:id:iga-ninja:20141223144828p:plain

 

が、最近までこんなことがなかったのですが、elbのドメイン名を指定すると、勝手に頭にdualstack. がついてしまいます。

これはなんぞや?ということで調べたら、ipv6のためのELBエンドポイントが予め用意されているようです。

ipv6.hogehoge は AAAAレコードのみ

dualstack.hogehoge はA & AAAA 両方返す。

この機能は2011年頃から既にできているようです。で、マネジメントコンソールが勝手に付けてくれるdualstack.は AもAAAAレコードも返すので、間違いではなく正常に動きます。

が、例えばexample.com の Aレコードに Alias として dualstack付きを指定しただけでは、 example.comのAAAAレコードは出来ません。もしもexample.comのリクエストに対して、AもAAAAも両方返すのであれば(そんな奴おらへんやろというのは置いといて)、もう一つレコードを追加し、今度はAAAAレコードでAliasを指してやる必要があります。

 

ちなみに、aws-cli や boto でレコードの書き換えした場合は、勝手にdualstack.が付くことは無いようです。

 

ついでに2014年現在のipv6対応状況ですが、

  • ELB 対応済み (EC2-Classicに限る)
  • EC2 外向きは未対応(EC2単体で外向けipv6やるなら何かしらのしかけが要ります)

  •  S3 未対応 

EC2はELBがあるのでさておき、EC2-VPCはELBで対応出来ず、S3が未対応という点にご注意。