アプリケーションの「設定」ページやデータベースの「情報」ページから内部接続を追加することができます。どこでプロセスを開始しても、得られる結果は同じです。

  • アプリケーションから接続を追加する場合は、「設定」ページの「内部接続」セクションにある「接続を追加」ボタンを押します。
  • データベースから接続するには、「情報」ページの「内部接続」セクションにある「アプリケーションを追加」ボタンを押します。

どちらを選んでも、内部接続の設定を行うデータベースまたはアプリケーションを選択するインターフェースは同じです。

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

環境変数

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

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

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

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

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

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

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

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

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

ポート

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

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

関連ドキュメント