接続
「接続」は、アプリケーションとデータベースが通信するための方法です。以下の2種類があります。
- 外部接続:インターネットを往復することから、内部接続に比べると大幅に低速になります。データベースのみを運用し、フロントエンドを扱わない場合は、外部接続が推奨されます。データベースの外部接続方法についてはこちらをご覧ください。
注)データベースの外部接続は、将来的にデフォルトで無効になります。セキュリティ上の理由から、使用時以外には無効にすることをお勧めします。 - 内部接続:弊社ネットワーク内に留まるため、より高速かつ安全な接続方法です。フロントエンドとデータベースの両方をアプリケーション&データベースホスティングで運用する場合には、内部接続が推奨されます。
内部接続を追加する
内部接続は、アプリケーションの「設定」画面またはデータベースの「情報」画面で追加することができます(どちらから設定を行なっても同じ結果となります)。
データベースからアプリケーションへの接続を追加するには、「データベース」>(データベース名)>「概要」 の「内部接続」セクションで「接続を追加」をクリックします。表示されるウィンドウで、内部接続を作成するアプリケーションを選択してください。
環境変数
システムにより、データベース接続情報からアプリケーションの環境変数が自動で入力されます。内部接続の詳細情報を環境変数にコピー&ペーストしないようにご注意ください。「接続を追加」または「アプリケーションを追加」をクリックし、「環境変数の追加」のボックスにチェックを入れます。これにより、接続先のデータベースから環境変数が自動で入力されます。
アプリケーションによっては、環境変数(キー)の名前の変更が求められる場合があります。必要に応じて、接続の追加前にリストの名前を編集するか、後からアプリケーションの「設定」ページで編集することができます。
内部接続とビルドプロセス
内部接続はランタイムでのみ使用可能で、ビルドプロセス中にはご利用いただけません。
ビルド処理中にアプリケーションが内部接続を使用してデータベースに接続しようとすると、データベースが稼動していないというエラーが発生し、ビルドが失敗します。これは、内部接続がビルド中に使用されるのではなく、実行時(ランタイム)にのみ使用される仕様であるためです。
これを回避する方法はいくつかあります。
選択肢1─データベースに接続するロジックを、アプリケーションのビルドコマンドからstartコマンドに移す:例えば、prisma migrate
のようなコマンドがビルドプロセスにあり、そのコマンドをstartコマンドに移動すると、アプリケーションが実行時にのみデータベースにアクセスすることになり、ビルドは成功します。
選択肢2─データベース接続に必要な環境変数を個別に追加し、1つはビルドプロセスで使用し、もう1つはランタイムでのみ使用する:キーは同じでも問題なく(DB_CONNECTION_URL
など)、一方がビルドプロセスでのみ利用可能で、もう一方がランタイムでのみ利用可能であれば成立します。データベースの外部接続情報(「データベース」>(データベース名)>「情報」>「外部接続」)を使用し、ビルド処理で使用する変数の値を指定します。
ポート
アプリケーションへの内部接続用のポートは8080、データベースへの内部接続用のポートは3306です。これらの内部接続用のポートは変更できません。
アプリケーションの場合、自動でPORT
環境変数が設定されます。都度定義したり、アプリケーションでハードコーディングにより記述したりする必要はありません。アプリケーションのデプロイが完了すると、インターネット上でポート80と443を用いてアクセス可能な状態になり、これらからポート8080のコンテナへのルーティングが行われます。
アプリケーションへの内部接続用のポートは8080、データベースへの内部接続用のポートは3306です。これらの内部接続用のポートは変更できません。
内部接続を削除する
接続を削除するには、データベースの「概要」画面を開き、「内部接続」セクションにある削除(ゴミ箱)アイコンをクリックします。
「接続の削除」モーダル/ポップアップでで「接続を削除」をクリックすると、アプリケーションとデータベース間の接続が削除されます。
外部接続
外部接続に関する情報は、「データベース」>(データベース名)>「概要」の「外部接続」セクションに表示されます。これらの情報を用いて、コマンドライン(CLI)またはデータベースツールでデータベースに接続することができます。
データベースのパスワードを変更する
内部接続および外部接続のデータベースのパスワードを変更することも可能です。データベースの「概要」画面にある「内部接続」または「外部接続」セクションで「パスワードを変更」をクリックします。新たなパスワードを入力するか、「新しいパスワードを生成」をクリックして自動生成してください。
パスワードは8文字以上で、少なくとも1つの小文字、大文字、数字、および特殊文字(, & * [ ] : ’ $ ` ”
)のいずれかを含んでいる必要があります。
パスワードを変更すると、古いパスワードから一致する環境変数値を使用して、データベースとの内部接続を持つアプリケーションのデプロイが自動的に開始されます。データベースの接続に使用するすべてのクライアントでパスワードを手動で変更し、その他の関連する環境変数を更新する必要があります。