「接続」は、アプリケーションとデータベースが通信するための方法です。以下の2種類があります。

  • 外部接続:インターネットを往復することから、内部接続に比べると大幅に低速になります。データベースのみを運用し、フロントエンドを扱わない場合は、外部接続が推奨されます。
  • 内部接続:弊社ネットワーク内に留まるため、より高速かつ安全な接続方法です。フロントエンドとデータベースの両方をアプリケーション&データベースホスティングで運用する場合には、内部接続が推奨されます。

外部接続

  • アプリケーション─ウェブサーバーを経由して行います。
  • データベース─外部接続の認証情報を使用して行います。

備考)今後、データベースの外部接続はデフォルトで無効になります。セキュリティ上の理由から、ご利用時以外は無効化することを推奨していく予定です。

内部接続

弊社の内部インフラを使用して通信を行うため、外部接続と比べてより高速です。可能な限りは、内部接続をお使いください。詳しい情報はこちらをご覧ください。

内部接続とビルドプロセス

内部接続はランタイム時に利用可能ですが、ビルドプロセス中に利用することはできません

この理由から、ビルドプロセス中にアプリケーションが内部接続でデータベースに接続しようすると、データベースが実行できないことを伝えるエラーが発生し、ビルドに失敗します。

これを回避するいくつかの方法があります。

方法1. データベースに接続するロジックをアプリケーションのビルドコマンドからstartコマンドに移動する。例)ビルドプロセスにprisma migrateのようなコマンドがあり、そのコマンドをstartコマンドに移動させると、アプリケーションは実行時にのみデータベースにアクセスするようになり、ビルドに成功します。

方法2. データベース接続に必要な環境変数を個別に追加し、1つはビルドプロセスで、もう1つはランタイムでのみ使用できるようにする。一方がビルドプロセス中にのみ、他方がランタイム時にのみ利用可能である限りは、同じキー(例: DB_CONNECTION_URL)でも問題ありません。ビルドプロセスで使用する変数の値は、データベースの外部接続の情報(MyKinstaで「データベース」>(データベース名)>「補足」>「外部接続」)を使用します。

内部接続を削除する

接続を削除するには、アプリケーションの「設定」画面、またはデータベースの「補足」画面のいずれかに移動します。「内部接続」セクションにある削除(ゴミ箱)アイコンをクリックしてください。

データベースとアプリケーションの内部接続
データベースとアプリケーションの内部接続

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

内部接続削除の確認画面
内部接続削除の確認画面