0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Fargateのresolv.confを設定する

Posted at

課題

ECS on Fargateで起動するタスクにおいて名前解決先を複数設定したい要件があり、どのように設定すればよいか調査した。

結論

  • FargateにおいてもDHCPオプションセットでresolv.confを変更することができる。
  • Fargateを起動するVPCにリゾルバを指定したDHCPオプションセットを作成することで、タスクに反映することが出来る。
  • 起動中のタスクには反映されず、タスクに再起動が必要(かも)

検証

準備と確認

まずは起動中のタスクにログインし、resolv.confの中身を確認してみる。
なおタスクにログインするためには事前に設定が必要なので注意

タスクにログインするためにはAWS CLIコマンドで下記を実行する。

aws ecs execute-command --region ap-northeast-1 --cluster <クラスタ名> --interactive --comand "/bin/sh" --task <タスクID>

タスクIDはECSのコンソール画面から起動しているタスクを確認し取得した。

まず初期状態を確認すると、VPCのresolver IPを指していた(10.0.0.2)
image.png

DHCPオプションセット

DHCPオプションセットとは、VPC内のEC2インスタンスのDNS/NTPサーバの設定ができる。
DHCPオプションセットの詳細についてはこちらを参照のこと。

下記のDHCPオプションセットを作成し、該当のVPCへ関連付けを実施した。
image.png

想定ではresolv.confが下記のようになっていればOK

nameserver 10.0.0.2
nameserver 8.8.8.8
nameserver 1.1.1.1

反映確認

タスクの再作成を実行し、再度確認する。
想定通りDHCPオプションセットの内容が反映されていることが分かる。
image.png

なおsearchがなくなってしまっているが、これはDHCPオプションセットのドメインに設定すれば記載される。

まとめ

  • AWS公式ドキュメントに詳細な記載は見つけられなかったが、EC2インスタンスに限らずFargateもDHCPオプションセットの影響を受ける模様。
  • 一時的には手動でresolv.confを変更すればよいが、タスクの入れ替わりが前提のECSにおいては永続的な方法であるDHCPオプションセットが良いと思う。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?