接続
「接続」は、アプリケーションとデータベースが通信するための方法です。以下の2種類があります。
- 外部接続:インターネットを往復することから、内部接続に比べると大幅に低速になります。アプリケーションの場合は、ウェブサーバーを通して行うことができます。弊社アプリケーションサーバーでは、特定のポートまたはTCPプロキシを使用してアプリケーションに公開接続することができます。
- 内部接続:弊社ネットワーク内に留まるため、より高速かつ安全な接続方法です。弊社でホスティングするアプリケーションとデータベースを接続する場合はこの方法が推奨されます。弊社のプライベートネットワークを使用するには、すべてのアプリケーションおよびデータベースが同じデータセンターで稼働している必要があります。
アプリケーションの公開または非公開ポートを設定したり、HTTP(S)トラフィックを無効にしたり、「アプリケーション」>(アプリ名)>「ネットワーク」画面で内部接続を追加したりすることができます。
外部接続

プロトコルの編集
ウェブプロセスのプロトコルをHTTPとgRPCの間で切り替える場合に使用します。gRPCは、ブラウザベースのアプリケーションがHTTP上でgRPCサービスと接続することを可能にするプロトコルであり、アプリケーションの異なる部分、あるいは異なるアプリケーション同士がネットワーク上で効率的に通信できるようにします。
ポートの編集
アプリケーションのウェブプロセスのデフォルトポート番号は、8080です。アプリケーションがデプロイされると80番および443番ポートでインターネットにアクセスできるようになり、アプリケーションによって定義されたポートのコンテナにこれらのポートをルーティングします。このポートは、アプリケーションの実行時に$PORT環境変数で利用可能です。別のポートを定義することもできますが、コアシステムが使用する15000、15001、15004、15006、15008、15009、15020、15021、15053、15090を除いて、1~65535の範囲内である必要があります。
アプリケーション用に特定のポートを設定するには、「ポートの編集」をクリックして、新たなポート番号を入力し、「更新」をクリックします。

HTTP(S)トラフィックの無効化
ウェブプロセスのHTTP(S)トラフィックをすべて無効にするには、「無効にする」をクリックします。

IP制限
IP制限により、特定のIPアドレスまたはCIDRブロックへのアクセスを制限、またはブロックすることができます。許可されていないユーザー(IPアドレス)がアプリケーションにアクセスしようとすると、「403 Forbidden」エラーが表示されます。
IP制限の設定を変更するには、「設定を編集」をクリックして、以下のいずれかを選択します。
- IP制限なし:すべての接続を許可します。
- IP許可リスト:指定したアドレスからの接続のみを許可します。これを選択する場合、アプリケーションにアクセスするIPアドレスまたはCIDR表記を入力します。複数追加するには、フィールドの横にある「+」アイコンをクリックしてください。項目は好きなだけ追加可能です。
- IP拒否リスト:指定したアドレスからの接続をブロックします。これを選択する場合、アプリケーションへのアクセスをブロックするIPアドレスまたはCIDR表記を入力します。複数追加するには、フィールドの横にある「+」アイコンをクリックしてください。項目は好きなだけ追加可能です。
設定を終えたら、「設定を編集」をクリックして設定を保存します。

CDN/エッジキャッシュ
コンテンツデリバリネットワーク(CDN)は、最新のサーバーに不可欠です。弊社では無料のCloudflare統合により、追加料金なしでCloudflare CDNを提供しています。Cloudflare統合には、セキュリティを強化するエンタープライズレベルのファイアウォール、DDoS攻撃対策、および高性能HTTP/3 CDNが含まれます。100ヶ国以上、260以上の都市にまたがるネットワークを持つCloudflareにより、世界各地から静的アセットが高速配信されます。
エッジキャッシュは、Cloudflareのグローバルネットワークに弊社でホスティングするサイト/ページのキャッシュを保存し、訪問者に最も近いデータセンターからキャッシュされたレスポンスを配信することで、パフォーマンスと速度を改善します。画像、CSS、JavaScriptファイルのような静的アセットは、CDNによって処理されます。
CDN/エッジキャッシュの有効化
CDNやエッジキャッシュを有効にするには、「設定を変更」をクリックします。

CDNを有効にするには、「CDNステータス」をオンにし、エッジキャッシュを有効にするには、「エッジキャッシュのステータス」をオンにします。

キャッシュのクリア
CDNまたはエッジキャッシュをクリアするには、「CDN/エッジキャッシュ」セクションで、「キャッシュをクリア」をクリックします。CDNとエッジキャッシュの両方を使用している場合、両方のキャッシュがクリアになります。

Cloudflareのすべてのデータセンターでエッジキャッシュがクリアされるまで、2~5分かかる場合があります。
TCPプロキシ
プロキシを使用したドメインとポート経由で、最大3つのプロセスをTCPで接続できます。これにより、非HTTPトラフィックを公開することができ、MongoDBやRabbitMQのようなパブリックアクセスのあるサービスのデプロイが容易になります。また、LaravelアプリとReverb(WebSocketサーバー)を1つのアプリケーションとしてデプロイし、Reverbをバックグラウンドワーカーとして実行しながら、パブリックアクセスすることも可能です。
TCPプロキシを設定するには、「TCPプロキシの追加」をクリックします。

TCPプロキシ経由で接続するプロセスを選択し、使用するポートを入力して、「TCPプロキシの追加」をクリックします。

TCPプロキシが追加されると、プロセスにホスト名が割り当てられます。このホスト名を使用して接続が可能になります。

内部接続
この領域には、すべてのアプリケーションプロセスのホスト名が表示されます。ホスト名を使用して、弊社のプライベートネットワーク上のプロセスに接続することができます。

ポート
アプリケーション間の通信を改善するために、内部的にポートを公開することができます。これは、マイクロサービスアーキテクチャや、RabbitMQやデータベースのような内部ネットワークへのアクセスを必要とするサービスを実行する場合に特に便利です。
ポートを内部的に公開するには、「ポートのエクスポート」をクリックし、ポートを公開するプロセスを選択してポート番号を入力し、「ポートのエクスポート」をクリックします。

ポートを公開すると、自動的にアプリケーションがデプロイされます。
接続済みのサービス
弊社のプライベートネットワークを介して現在のアプリケーションに接続されているすべてのアプリケーション、またはデータベースが表示されます。

内部接続の追加
内部接続は、アプリケーションの「ネットワーク」画面またはデータベースの「概要」画面から追加することができます。
アプリケーションから別のアプリケーションまたはデータベースへの接続を追加するには、「アプリケーション」>(アプリ名)>「ネットワーク」>「接続済みサービス」セクションで「接続を追加」をクリックして、内部接続を作成するアプリケーションまたはデータベースを選択します。

環境変数
システムにより、データベース接続情報からアプリケーションの環境変数が自動で入力されます。内部接続の詳細情報を環境変数にコピー&ペーストしないようにご注意ください。「接続を追加」または「アプリケーションを追加」をクリックし、「環境変数の追加」のボックスにチェックを入れます。これにより、接続先のデータベースから環境変数が自動で入力されます。
アプリケーションによっては、環境変数(キー)の名前の変更が求められる場合があります。必要に応じて、接続の追加前にリストの名前を編集するか、後からアプリケーションの「設定」画面で編集することができます。

内部接続を削除する
接続を削除するには、アプリケーションの「ネットワーク」画面を開き、「接続済みサービス」セクションにある削除(ゴミ箱)アイコンをクリックします。

「接続の削除」をクリックすると、アプリケーションとデータベース間の接続が削除されます。
