AWS EKSでDNSレコードの作成/変更を楽にする「ExternalDNS」:マネージドサービスで始めるKubernetes入門(3)(1/4 ページ)
本連載では、AWSが提供するマネージドKubernetesサービスの「EKS」を用いてアプリケーションを公開する方法を紹介。第3回目は、DNSレコードの作成/変更を楽にする「ExternalDNS」を用いたルーティングについて。
目次
- 前回のおさらいとExternalDNSの利点
- ExternalDNSを用いた設定方法
- ExternalDNS用のIAM設定
- マニフェストファイルの作成
- ExternalDNSのインストール
- ExternalDNSを使ってみよう!
前回のおさらいとExternalDNSの利点
第2回では、AWS EKSで構築したKubernetesクラスタにアプリケーションをデプロイし、Webブラウザからアクセスしてみました。
アクセスする際に利用したアプリケーションのURI(エンドポイント)は、ELB(ロードバランサー)が発行するランダムな文字列でした。ユーザーに公開する場合は、アプリケーションとアプリケーション用に取得したドメインを結び付けて公開することが多いでしょう。
ドメインを結び付けるには、ドメインの取得とDNSの設定およびELBで発行されたエンドポイントとドメインのひも付けが必要です。手作業の場合は、以下の手順で行います。
- アプリケーション用ドメインの取得
- 1で取得したドメインを「Amazon Route 53」(以後、Route53)で管理するように設定
- 公開FQDN(Fully Qualified Domain Name)を決定
- 「type: LoadBalancer」でアプリケーションを公開
- 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管理の「今すぐ始める」を選択します。
次に「ホストゾーンの作成」を選択します。
取得したドメイン名(例: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.