本連載では、AWSが提供するマネージドKubernetesサービスの「EKS」を用いてアプリケーションを公開する方法を紹介。第3回目は、DNSレコードの作成/変更を楽にする「ExternalDNS」を用いたルーティングについて。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
第2回では、AWS EKSで構築したKubernetesクラスタにアプリケーションをデプロイし、Webブラウザからアクセスしてみました。
アクセスする際に利用したアプリケーションのURI(エンドポイント)は、ELB(ロードバランサー)が発行するランダムな文字列でした。ユーザーに公開する場合は、アプリケーションとアプリケーション用に取得したドメインを結び付けて公開することが多いでしょう。
ドメインを結び付けるには、ドメインの取得とDNSの設定およびELBで発行されたエンドポイントとドメインのひも付けが必要です。手作業の場合は、以下の手順で行います。
EKSを用いてさまざまなアプリケーションを公開しようとした場合、サブドメインでサービスを公開するたびに4や5の工程をコンソールや管理画面を行き来しながら進めなければいけません。今回紹介する「ExternalDNS」を用いると、Kubernetes側の作業だけでDNSレコードの作成や変更といった作業を進められるようになるという利点があります。
AWS EKSとExternalDNSを用いて、どのようになるのか見ていきましょう。
ドメインは「お名前.com」「ムームードメイン」などのドメイン取得サービスか、Amazon Web Services(AWS)のRoute53で取得できます。Route53で取得した場合は、ドメインの管理をRoute53で行いますが、既にドメイン取得サービスで取得済みのドメインを利用する場合は、Route53で管理できるようにするための設定が必要です。
Route53以外のサービスでドメインを取得した場合は、Route53にドメインを登録する必要があります。始めに、AWSコンソール画面でRoute53のページに移動し、DNS管理の「今すぐ始める」を選択します。
次に「ホストゾーンの作成」を選択します。
取得したドメイン名(例:example.com)をドメイン名の欄に入力し、タイプにパブリックホストゾーンを選択して作成します。
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.