【トラエフィク】

Traefik とは?

最終更新:
💡 サービスの変化に合わせて、経路を更新

Dockerなどからサービスの設定を読み取り、届いたリクエストをバックエンドへ振り分けるリバースプロキシ。ルーティングを動的に更新できますが、公開条件やTLS、接続先の設定は必要です。

📌 このページのポイント
Traefik:通信と設定を分けて見る利用者のリクエストアプリへアクセスTraefikEntryPoints:受け付けRouters:条件を判定Middlewares:追加処理Services:転送先を選ぶプロバイダー例:Dockerラベルを読むバックエンドのアプリ実線=リクエスト 破線=取得した設定
プロバイダーからの設定取得を、アプリの通信経路と分けています。公開範囲・接続先・TLSの設定と、Docker APIへ与える権限を確認します。
ひよこ ひよこ
Traefikは何をするの?
ペンギン先生 ペンギン先生
アプリの前でリクエストを受けて、適切な接続先へ送るリバースプロキシだよ。Dockerなどのプロバイダーからサービス情報や設定を読み取り、経路の変化に対応できるんだ。
ひよこ ひよこ
設定を何も書かなくていい?
ペンギン先生 ペンギン先生
必要だよ。Dockerなら連携を有効にし、ラベルなどで公開するホスト名や転送先を指定する。起動時の設定と、実行中に更新できるルーティング設定は区別しよう。自動検出だけで意図した公開になるとは限らないんだ。
ひよこ ひよこ
リクエストはどう流れる?
ペンギン先生 ペンギン先生
EntryPointsで接続を受け、Routersがホスト名やパスなどのルールを判定する。必要ならMiddlewaresで認証やヘッダーの変更を行い、Servicesがバックエンドへ転送する。設定の取得と、利用者の通信は別の流れだよ。
ひよこ ひよこ
HTTPSも自動になる?
ペンギン先生 ペンギン先生
ACMEの証明書取得・更新を設定できるよ。ただしresolverと認証チャレンジを設定し、TLSを使うルーターから参照する必要がある。DNSや外部からの到達条件を満たし、証明書の保存先を再起動後も保持することも大事なんだ。
ひよこ ひよこ
導入で気をつけることは?
ペンギン先生 ペンギン先生
公開するコンテナを明示し、Docker APIへのアクセスを制限しよう。DockerプロバイダーのexposedByDefaultは既定でtrueなので確認が必要だね。他のプロキシにも動的な設定方法があり、頻繁な構成変更、運用経験、必要な機能を比べて選ぶんだ。
もっと詳しく知りたい人へ

自動検出なら、設定変更はすべて再起動なし?

ルーティング設定は動的に更新できますが、プロバイダーへの接続や受け付けるポートなどの起動設定とは別です。設定項目とバージョンを確認し、証明書更新や接続先の健康状態も監視します。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Traefik」って出てきたら「サービス情報に合わせて経路を更新できるリバースプロキシ」と思えばだいたいOK!
📖 おまけ:英語の意味
「Traefik Proxy」 = リバースプロキシの製品名
💬 読み方はトラエフィク。名前の語源を推測するより、リクエストを振り分ける役割で覚えると理解しやすい用語です。

参考資料

← 用語集にもどる