接続

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

  • 外部接続:インターネットを往復することから、内部接続に比べると大幅に低速になります。データベースのみを運用し、フロントエンドを扱わない場合は、外部接続が推奨されます。データベースの外部接続方法についてはこちらをご覧ください。
    )データベースの外部接続は、将来的にデフォルトで無効になります。セキュリティ上の理由から、使用時以外には無効にすることをお勧めします。
  • 内部接続:弊社ネットワーク内に留まるため、より高速かつ安全な接続方法です。フロントエンドとデータベースの両方をアプリケーション&データベースホスティングで運用する場合には、内部接続が推奨されます。

内部接続を追加する

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

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

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

環境変数

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

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

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

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

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

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

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

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

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

ポート

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

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

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

内部接続を削除する

接続を削除するには、データベースの「概要」画面を開き、「内部接続」セクションにある削除(ゴミ箱)アイコンをクリックします。

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

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

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

外部接続

外部接続に関する情報は、「データベース」>(データベース名)>「概要」の「外部接続」セクションに表示されます。これらの情報を用いて、コマンドライン(CLI)またはデータベースツールでデータベースに接続することができます。

データベースの外部接続
データベースの外部接続

データベースのパスワードを変更する

内部接続および外部接続のデータベースのパスワードを変更することも可能です。データベースの「概要」画面にある「内部接続」または「外部接続」セクションで「パスワードを変更」をクリックします。新たなパスワードを入力するか、「新しいパスワードを生成」をクリックして自動生成してください。

パスワードは8文字以上で、少なくとも1つの小文字、大文字、数字、および特殊文字(, & * [ ] : ’ $ ` ”)のいずれかを含んでいる必要があります。

パスワードを変更すると、古いパスワードから一致する環境変数値を使用して、データベースとの内部接続を持つアプリケーションのデプロイが自動的に開始されます。データベースの接続に使用するすべてのクライアントでパスワードを手動で変更し、その他の関連する環境変数を更新する必要があります。

この記事は役に立ちましたか?