はじめに

IDCFのILB(Infinite Load Balancer)では、直接 Zone Apexへの負荷分散を行う事はできません。( 参照:ILB サービス仕様
一方、AWSのELB(Elastic Load Balancing)は、この問題をRoute 53のエイリアスレコードで解決することができます。( 参照:Amazon Route 53 開発者ガイド
IDCFのILBでもZone APEXの負荷分散ができるようにしてみよう!という事で、DNSimple のエイリアスレコードを使って名前解決を試みます。

■ Zone APEXとは?

(DNS)ゾーンAPEX(エイペックス)とは、example.jp のように www などのサブドメインを含まないドメイン名を指します。

■ IDCFのILBでZone Apexへの負荷分散ができない理由

Zone APEXに対しては以下の理由からCNameが使えません。

  • CNAMEレコードは他のデータと共存できない
  • DNSドメインの設定では、最低でもZone apexに対してNS(ネームサーバ)レコードの指定が必要
  • よって、Zone apexに対してCNAMEをマップできない

一方、ILBをDNSに登録するには、FQDNをCNAMEに登録する必要があります。
参照:ILB サービス全般 | Q. DNSにはどのように登録すればよいのでしょうか?

このため、ILBでは直接Zone APEXの負荷分散ができない、ということになるわけです。

やってみよう

では、早速もろもろ設定してみましょう。

ILBによる負荷分散環境の構築

IDCF上にWebサーバー2台とILBを設置して、ロードバランシングが行えるように設定します。
設定方法等は以下サイトに丁寧に説明がありますので、割愛。
IDCFご利用ガイド | 高機能ロードバランサー「ILB」を活用したWebサーバーの負荷分散
ILBを使ってWebサーバーをバランシング!構成事例もご紹介

ILBのロードバランサーを作成する際に指定したFQDNが、サーバーにアクセスするためのURLとなります。

FQDNをURLに指定して、ブラウザでアクセスできることを確認しておきましょう。
ブラウザの更新行うと、それぞれのVMに振り分けされてページが切り替わることが確認できます。

DNSimpleでドメインとエイリアスレコードの追加

次はZone Apex(ドメイン名)でアクセスできるように、DNSの設定をしていきます。

使用するドメインを DNSimple の管理下に追加します。
DNSimpleでドメインを取得することもできますが、既にドメインを取得済みでDNSimpleをDNSサーバとして使用する場合は、下図右側の「Use domain services」をクリックし、ドメイン名を入力してDNSサービスの利用を開始します。

次に、DNSレコードを追加します。DNSレコードの種類に「ALIAS」を選択し、「Alias for」にFQDNを入力します。

(あ、TTLがデフォルト値のままでしたがテストの時は短めに…。)

ドメインのネームサーバー変更

まずはDNSinple側で、設定するべきネームサーバーを確認を確認します。

上記のネームサーバ名を お名前.com 等のドメイン管理側に設定します。

ブラウザで確認

ブラウザで Zone Apex(ドメイン名)を指定してアクセスします。
ブラウザの更新行うとページが切り替わり、Zone Apexに対してILBで負荷分散できることが確認できました。