ネットワーキングとドメイン
アプリは動いていますが、まだ外部からアクセスできません。このチュートリアルでは、本物のドメイン、Let’s Encrypt による自動 TLS、コンテナを自動検出する Traefik プロキシをセットアップします。Cloudflare 上のドメインと API トークンが必要です。
チュートリアル動画
4つのステップ
- 取得: Cloudflare API トークンを取得します。
- 設定:
rdcにインフラ情報を設定します。 - プッシュ: サーバーに反映します。
- デプロイ: プロキシをデプロイします。
ステップ1: Cloudflare API トークン
Cloudflare ダッシュボードで マイプロファイル(My Profile)→ API トークン(API Tokens) に移動し、Zone DNS Edit 権限のトークンを作成します。トークンの値をコピーします。表示されるのは一度だけです。
ステップ2: インフラを設定する
rdc にパブリック IP、ベースドメイン、証明書のメールアドレス、トークンを設定します。--cert-email と --cf-dns-token はすべてのマシンで共有されるため、一度だけ設定すれば十分です。
rdc config infra set -m <machine-name> --public-ipv4 <server-ip> --base-domain <base-domain> --cert-email <cert-email> --cf-dns-token <cf-dns-token> パブリック IP、ベースドメイン、証明書メール、Cloudflare API トークンをコマンドラインから設定します。証明書メールとトークンはすべてのマシンで共有されるため、一度だけ設定すれば十分です。
rdc config infra show -m <machine-name> インフラの設定が保存されたことを確認します。パブリック IP、ベースドメイン、証明書メールがすべて表示されていることを確認してください。
ステップ3: サーバーにプッシュする
rdc config infra push -m <machine-name> 設定をサーバーにプッシュします。Cloudflare の DNS レコードが自動的に作成され、プロキシの設定が準備されます。
これにより Cloudflare に DNS レコードが自動的に作成され、サーバー上のプロキシ設定が準備されます。
ステップ4: プロキシをデプロイする
プロキシ自体はまだ動いていません。infra という名前の小さなリポジトリ内に、組み込みの proxy テンプレートからデプロイします。
rdc repo create --name infra -m <machine-name> --size 1G infra という名前の小さな repo を作成します。ここにプロキシが置かれ、アプリケーションの repo とは分離されます。
rdc repo template apply --name single-service -m <machine-name> --repository infra 組み込みの proxy テンプレートを適用します。Traefik に加えて、Let's Encrypt と Cloudflare の DNS-01 チャレンジの設定がすぐに使える状態で含まれています。
rdc repo up --name infra -m <machine-name> プロキシを起動します。Traefik はコンテナを自動的に検出し、TLS 証明書は Let's Encrypt から自動的に取得されます。アプリは HTTPS 経由でインターネットからアクセス可能になります。
以上です。Traefik が起動しています。アプリには次の URL でアクセスできます。
myapp.my-app.my-server.yourdomain.com
Traefik は5秒ごとにコンテナを自動検出します。TLS 証明書は Let’s Encrypt から自動的に取得されます。プロキシの手動設定は不要です。
次: 本番モード