コンテンツにスキップ

6. ネットワーク

Build.ioは、アプリケーションがトラフィックを確実に処理するために必要なネットワークインフラを管理します。ドメイン管理、TLS証明書、リクエストのルーティング、ロードバランシングが含まれます。このセクションでは、アプリへのトラフィックの経路と、ニーズに合わせてネットワーク層を設定する方法を説明します。

Build.ioのすべてのアプリは、build.ioドメイン上のデフォルトURL(例:my-app.onbld.com)を取得します。本番アプリケーションでは独自のドメインを使用したいでしょう。

ダッシュボードから、アプリのSettingsタブに移動し、Domainsセクションを見つけます。ドメインを追加すると、BuildがドメインのDNSターゲットを提供します。

高度なドメイン設定は、アプリのOverviewタブのHostsセクションからアクセスできるHost詳細ページから行えます:

ドメイン名をクリックすると、ドメインのステータス確認、DNS設定の変更またはワイルドカードドメインの設定、ACMまたは手動SSL証明書の管理ができるページに移動します。

Build.ioアプリへのすべてのトラフィックはTLSで暗号化されています。Buildは自動証明書管理を提供するため、証明書の調達、更新、インストールに対処する必要はありません。

カスタムドメインを追加すると、BuildのACMシステムが自動的にTLS証明書をプロビジョニングします。DNSレコードがBuildに正しく向けられ、ドメインの所有権が確認されると、証明書が発行されます。更新は自動的に処理されます。証明書は期限切れ前に更新され、操作は不要です。

ACMのステータスは、アプリのメインページのOverviewタブのHostsセクションで確認できます。証明書のプロビジョニングに失敗した場合(通常はDNSがまだ設定されていないため)、ステータスに問題が表示されます。

6.3 ルーティングとロードバランシング

Section titled “6.3 ルーティングとロードバランシング”

Buildのルーティング層はインターネットとダイノの間に位置します。受信リクエストを受け付け、TLSを終端し(パススルーが有効でない場合)、実行中のダイノにトラフィックを分散します。

各リクエストには設定可能なタイムアウトがあります(アプリのSettingsページのPoliciesセクションで設定)。アプリがタイムアウト時間内にレスポンスの最初のバイトを送信しない場合、ルーターはリクエストを終了し、クライアントに503エラーを返します。

ほとんどのWebアプリケーションでは、デフォルトのタイムアウトで十分です。長時間のリクエスト(大きなファイルのアップロード、複雑なレポート生成)を処理する場合は、タイムアウトを増やすことを検討してください。ただし、長時間のリクエストはその間ダイノのリソースを占有することに注意してください。

本当に長時間の作業には、リクエストを素早く受け付け、バックグラウンドジョブに作業をキューイングし、ジョブが完了したらクライアントが結果をポーリングするかWebhookを受け取るというパターンが適切です。