検索
連載

AWS EKSでDNSレコードの作成/変更を楽にする「ExternalDNS」マネージドサービスで始めるKubernetes入門(3)(1/4 ページ)

本連載では、AWSが提供するマネージドKubernetesサービスの「EKS」を用いてアプリケーションを公開する方法を紹介。第3回目は、DNSレコードの作成/変更を楽にする「ExternalDNS」を用いたルーティングについて。

Share
Tweet
LINE
Hatena

前回のおさらいとExternalDNSの利点

 第2回では、AWS EKSで構築したKubernetesクラスタにアプリケーションをデプロイし、Webブラウザからアクセスしてみました。

 アクセスする際に利用したアプリケーションのURI(エンドポイント)は、ELB(ロードバランサー)が発行するランダムな文字列でした。ユーザーに公開する場合は、アプリケーションとアプリケーション用に取得したドメインを結び付けて公開することが多いでしょう。

 ドメインを結び付けるには、ドメインの取得とDNSの設定およびELBで発行されたエンドポイントとドメインのひも付けが必要です。手作業の場合は、以下の手順で行います。

  1. アプリケーション用ドメインの取得
  2. 1で取得したドメインを「Amazon Route 53」(以後、Route53)で管理するように設定
  3. 公開FQDN(Fully Qualified Domain Name)を決定
  4. 「type: LoadBalancer」でアプリケーションを公開
  5. Route53で3を4へひも付け(Aレコードを作成)

 EKSを用いてさまざまなアプリケーションを公開しようとした場合、サブドメインでサービスを公開するたびに4や5の工程をコンソールや管理画面を行き来しながら進めなければいけません。今回紹介する「ExternalDNS」を用いると、Kubernetes側の作業だけでDNSレコードの作成や変更といった作業を進められるようになるという利点があります。

 AWS EKSとExternalDNSを用いて、どのようになるのか見ていきましょう。

ExternalDNSを用いた設定方法

1.ドメインの取得

 ドメインは「お名前.com」「ムームードメイン」などのドメイン取得サービスか、Amazon Web Services(AWS)のRoute53で取得できます。Route53で取得した場合は、ドメインの管理をRoute53で行いますが、既にドメイン取得サービスで取得済みのドメインを利用する場合は、Route53で管理できるようにするための設定が必要です。

2.ドメインをRoute53で管理する

 Route53以外のサービスでドメインを取得した場合は、Route53にドメインを登録する必要があります。始めに、AWSコンソール画面でRoute53のページに移動し、DNS管理の「今すぐ始める」を選択します。

Route53トップ画面
Route53トップ画面

 次に「ホストゾーンの作成」を選択します。

Route53ホストゾーン作成開始画面
Route53ホストゾーン作成開始画面

 取得したドメイン名(例:example.com)をドメイン名の欄に入力し、タイプにパブリックホストゾーンを選択して作成します。

Route53ホストゾーン作成画面
Route53ホストゾーン作成画面

 Route53で発行されたネームサーバ情報をドメイン取得サービスに反映します。サービスごとに方法は違いますが、反映する情報は、Route53のタイプNSの4カ所です。

ドメイン取得元サービスに反映させる値
ドメイン取得元サービスに反映させる値

 設定が終わったら、ドメインが応答するかどうかを、コマンドを使って念のため確認します。

$ dig ns ドメイン名
ドメイン応答の確認

 ドメイン設定ができている場合は、以下のようにRoute53のNS値が“NS”という文字の右側に出力されます。反映には、最大で3日程度かかる場合もあるようなので、反映されるまで待ちましょう。

;; ANSWER SECTION:
ドメイン名.      59  IN  NS  Route53のNS値.
ドメイン設定成功時の例

 以上でRoute53の設定は完了です。続いて本稿の主役であるExternalDNSに関わる作業を進めていきます。

Copyright © ITmedia, Inc. All Rights Reserved.

       | 次のページへ
ページトップに戻る