フォーム読み込み中
ご覧いただきありがとうございます。ソフトバンクの結城です。
今回はWeekly Alibaba Cloud アップデート情報 - 2024/12/6 で紹介した、Alibaba CloudのVPCで新たに提供を開始した「DNSホスト名機能」の利用方法について紹介します。
DNSホスト名機能は、ECSでプライベートな名前解決を可能にするVPCの機能です。この機能を有効にすると、DNSホスト名が有効化されたVPC内のECSインスタンスで、設定されたプライベートドメインを使用して名前解決を行うことができます。
この機能により、例えば、ECSインスタンス上で動作するアプリケーションのクライアントがECSに対してIPアドレスを直接指定してアクセスする代わりにプライベートのドメイン名を利用したアクセスが可能になります。
IPアドレスでローカルのホストを指定しておくとIPアドレス変更をおこなった際などに書き換える部分が多く面倒な作業でした。そのため、プライベートのドメイン名でアクセスするようにしておけばIPアドレス変更等に柔軟に対応することが出来ます。
これまではプライベートのドメイン名(ホスト名)をVPC内で利用しようとするとAlibaba CloudではPrivateZoneという機能があります。ただ、注意が必要なのはゾーン数や問い合わせ数に応じた課金が発生します。
費用が発生しない方法としては、古典的な方法としては、hostsファイルに定義して、全ホストにhostsファイルを配布・同期するなどの工夫が必要でした。これは地味に面倒な作業でした。
DNSホスト名機能は、PrivateZoneと古典的な方法との間を取るような、無料かつ手軽な手法を提供してくれます。
発行したECSが所属しているVPC内でのみ使える、Alibaba Cloudによって自動的に発行されたプライベートドメインです。このプライベートドメインについては、最大2種類(1種類あたり1ドメインまで)のドメインが発行でき、なおかつ同時に利用することが出来ます。
ただし、プライベートドメイン名の指定はできません。
なお、プライベートドメインだけを設定してもプライベートな名前解決ができず、VPCのDNSホスト名機能を有効化後に、プライベートな名前解決ができるようになります。
ホスト名部分はプライベートIPアドレスベース、もしくは、インスタンスIDベースのみとなり、カスタマイズしたホスト名を指定することは出来ません。
インスタンスIDベース | IPv4(プライベートIP)アドレスベース | |
|---|---|---|
概要 | プライベートドメインを発行したECSのインスタンスIDをベースに自動作成される | プライベートドメインを発行したECSのプライベートIPをベースに自動作成される |
発行書式 | [発行したECSのインスタンスID].[リージョンID].ecs.internal | ip-[発行したECSに設定されてるプライベートIPアドレス].[リージョンID].ecs.internal |
発行されたドメイン例 | i-xxxxxxxxxxxxxxxxxxxx.ap-northeast-1.ecs.internal | ip-192-168-xx-xx.ap-northeast-1.ecs.internal |
発行されたプライベートドメイン名の確認方法 | プライベートドメインを発行した画面(インスタンス属性の変更) | |
※参考 : 公式ドキュメント
VPC内でプライベートな名前解決を行う場合、DNSホスト名機能以外にも、Private Zoneがあります。これらの2つの機能は機能が似ており、どちらを使えば良いのか悩むかもしれません。
以下にDNSホスト名機能とPrivate Zoneの比較をしますので、どちらを使うのか判断の一助となればと思います。
項目 | DNSホスト名機能 | Private Zone |
|---|---|---|
Aレコード | 〇 (1レコードまで) | 〇 |
AAAAレコード | 〇 (1レコードまで) | 〇 |
CNAMEレコード | × | 〇 |
MXレコード | × | 〇 |
TXTレコード | × | 〇 |
PTRレコード | 〇 (1レコードまで) | 〇 |
利用料金 | × | 〇 |
ゾーン加速 | × | 〇 |
DNSキャッシュ | × | 〇 |
フォワード設定 | × | 〇 |
再帰設定 | × | 〇 |
適用範囲 | 同一VPC内のみ | Private Zoneに関連付けをしたVPC / EDS VPCとオンプレミス環境 ※オンプレミス環境からプライベートな名前解決をする場合、VPN GatewayまたはExpress Connectを使う必要があります。 |
DNSレコードの設定 | 不要 | 必要 |
独自ドメインの設定 | × ※Alibaba Cloudによって自動発行されたドメインのみ設定可能 | 〇 |
DNSホスト名は、利用料金が発生しない分、利用できるレコードタイプや機能がPrivate Zoneに劣りますが、プライベートな名前解決を利用する際に、ドメイン名の指定がなく、最低限利用するといった場合は、DNSホスト名機能を利用すると良いかもしれません。
一方、カスタマイズしたホスト名・ドメイン名を指定する、ゾーン加速や様々なDNSレコードタイプを利用したいといった場合は、Private Zoneを利用すると良いでしょう。
今回は、DNSホスト名をVPC_JPNに対して有効化し、VPC_JPN内に存在するECS AとECS Bに対してプライベートドメイン名を使ったプライベートな名前解決ができるよう設定します。
① DNSホスト名機能を有効化するVPCを用意
② ①で作成したVPC内にECS A / ECS Bを作成します。
③ ②で作成したECS A / ECS Bに、自分のホスト名を返すだけの簡単なWebサイトを準備します。
1 ) VPCコンソールにアクセスします。
2 ) 事前に準備したVPCのインスタンスIDをクリックします。
3 ) 「Basic Information」のタブをクリックし、DNSホスト名を見つけ、「有効化」をクリックします。
4 ) DNSホスト名機能が「有効」になったことを確認します。
VPC側の設定は以上となります。
インスタンスIDベースのホスト名をつける手順を説明します。
1 ) ECSコンソールにアクセスします。
2 ) 事前に準備したECSのインスタンスを見つけ、[︙] → [インスタンス属性の変更]の順にクリックします。
3 )今回は、ECSのインスタンスIDをプライベートドメインとして設定します。
[インスタンスID形式のホスト名をプライマリプライベート IPv4アドレスに変換する]にチェックを入れ、[確認]をクリックし、設定を保存します。これにより、ECSのインスタンスIDでプライベートな名前解決ができるようになります。
※本手順は、ECS_AとECS_Bに対してそれぞれに実施ください。
※以下の画像内の黄色の部分がプライベートドメイン名です。以降の正常性確認の手順で使いますのでメモしておいてください。
※IPアドレスベースのホスト名を利用したい場合は、一つ上のチェックボックスをチェックしてください。
ECS側の設定は以上となります。
ECS_AとECS_Bに設定したプライベートドメイン名に対して疎通ができるか確認をします。
ECS_AとECS_Bに設定をしたプライベートドメイン名に対して、互いのプライベートドメイン名を指定して、pingを実行します。
ECS_A : メモしたECS_Bのプライベートドメイン名を指定して、pingを実行したところ応答が返ってきました。
ECS_B : メモしたECS_Aのプライベートドメイン名を指定して、pingを実行したところ応答が返ってきました。
ECS_AとECS_Bに設定をしたプライベートドメイン名に対して、互いのプライベートドメイン名を指定して、curlを実行しWebページの情報が表示されるか確認します。
ECS_A : メモしたECS_Bのプライベートドメイン名を指定して、curlを実行したところECS_Bに設定しているWebページの情報が出力されました。
ECS_B : メモしたECS_Aのプライベートドメイン名を指定して、curlを実行したところECS_Aに設定しているWebページの情報が出力されました。
今回はDNSホスト名機能とその設定方法について紹介しました。
設定はとてもシンプルかつ簡単に行うことができ、利用料金が発生しないためとても便利だと感じました。ただし、カスタマイズしたホスト名を設定できないため、利用方法としては限定的かなと感じました。
インスタンスIDベースのホスト名を利用すれば、プライベートIPアドレスが変わったことには対応できますが、冗長系のフェイルオーバーが発生した際などのホストが変更になるような事象には対応できません。
DNSホスト名機能の利用シーンは限定的かもしれませんが、ECSで手軽にプライベートな名前解決を利用したい場合には、検討してはいかがでしょうか。
Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。
MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。
条件に該当するページがございません