接続

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

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

内部接続を追加する

内部接続は、アプリケーションの「設定」画面またはデータベースの「情報」画面で追加することができます(どちらから設定を行なっても同じ結果となります)。

アプリケーションからデータベースへの接続を追加するには、「アプリケーション」>(アプリ名)>「設定」に移動し、「内部接続」セクションにある「接続を追加」をクリックします。表示されるウィンドウで、内部接続を作成するデータベースを選択してください。

MyKinstaでデータベースからアプリケーションへの内部接続を追加
MyKinstaでデータベースからアプリケーションへの内部接続を追加

環境変数

システムにより、データベース接続情報からアプリケーションの環境変数が自動で入力されます。内部接続の詳細情報を環境変数にコピー&ペーストしないようにご注意ください。「接続を追加」または「アプリケーションを追加」をクリックし、「環境変数の追加」のボックスにチェックを入れます。これにより、接続先のデータベースから環境変数が自動で入力されます。

アプリケーションによっては、環境変数(キー)の名前の変更が求められる場合があります。必要に応じて、接続の追加前にリストの名前を編集するか、後からアプリケーションの「設定」ページで編集することができます。

データベース接続の情報から環境変数を自動で入力
データベース接続の情報から環境変数を自動で入力

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

内部接続はランタイムでのみ使用可能で、ビルドプロセス中にはご利用いただけません

ビルド処理中にアプリケーションが内部接続を使用してデータベースに接続しようとすると、データベースが稼動していないというエラーが発生し、ビルドが失敗します。これは、内部接続がビルド中に使用されるのではなく、実行時(ランタイム)にのみ使用される仕様であるためです。

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

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

選択肢2─データベース接続に必要な環境変数を個別に追加し、1つはビルドプロセスで使用し、もう1つはランタイムでのみ使用する:キーは同じでも問題なく(DB_CONNECTION_URLなど)、一方がビルドプロセスでのみ利用可能で、もう一方がランタイムでのみ利用可能であれば成立します。データベースの外部接続情報(「データベース」>(データベース名)>「情報」>「外部接続」)を使用し、ビルド処理で使用する変数の値を指定します。

ポート

アプリケーションへの内部接続用のポートは8080、データベースへの内部接続用のポートは3306です。これらの内部接続用のポートは変更できません。

アプリケーションの場合、自動でPORT環境変数が設定されます。都度定義したり、アプリケーションでハードコーディングにより記述したりする必要はありません。アプリケーションのデプロイが完了すると、インターネット上でポート80と443を用いてアクセス可能な状態になり、これらからポート8080のコンテナへのルーティングが行われます。

内部接続を削除する

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

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

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

アプリケーションとデータベース間の内部接続を削除
アプリケーションとデータベース間の内部接続を削除
この記事は役に立ちましたか?