メインコンテンツにスキップ ナビゲーションにスキップ フッターにスキップ
期間限定:デザインパートナープログラム。BUSINESSプランはずっと無料

ネットワーキングとドメイン

ドメイン、自動 TLS、Traefik リバースプロキシを使ってアプリをインターネットに公開します。

ネットワーキングとドメイン

アプリは動いていますが、まだ外部からアクセスできません。このチュートリアルでは、本物のドメイン、Let’s Encrypt による自動 TLS、コンテナを自動検出する Traefik プロキシをセットアップします。Cloudflare 上のドメインと API トークンが必要です。

チュートリアル動画

4つのステップ

トークン、設定、プッシュ、デプロイ

  1. 取得: Cloudflare API トークンを取得します。
  2. 設定: rdc にインフラ情報を設定します。
  3. プッシュ: サーバーに反映します。
  4. デプロイ: プロキシをデプロイします。

ステップ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 から自動的に取得されます。プロキシの手動設定は不要です。


次: 本番モード