インフラストラクチャ
お客様のアプリケーションやデータベースは、Google Cloud Platform最高クラスのインフラストラクチャで実行されます。以下、データベースホスティングのインフラストラクチャについてご説明します。アプリケーションホスティングとの連携についてはこちらをご覧ください。
MyKinstaでデータベースを追加する
MyKinstaでデータベースを追加すると、データベースのイメージがKubernetesクラスタに追加されます。
Kubernetesクラスタ
クラスタは、複数のコンテナを実行できる仮想マシン(VM)です。Artifact Registryからのリクエストが適切なコンテナを検出し、コンテナが実行され、適切なリソースが確保されるように調整されています。
弊社Kubernetesインフラはマルチテナント設定をサポートしており、各データベースがコンテナ化された環境で実行されます。ネットワークの分離とマルチレイヤーの仮想化によってセキュリティを確保し、データベース間の不正アクセスを防ぎます。この設計により、ホスティングプラットフォームの高い信頼性と安全性が保証されるため、お客様にはコアビジネスに集中していただくことができます。リージョンごとに少なくとも1つのクラスタを配置し、各リージョンのデータベース数に応じてクラスタを追加することも可能です。このシステムにより、適したリソースの割り当てとスケーラビリティが確保され、要件の増加にも柔軟に対応することができます。
リクエスト
弊社でホストするアプリケーションから、弊社でホストするデータベースへの内部接続を使用する場合、ユーザーがアプリケーションのサイトを訪れると、第一段階として、Cloudflareの層に接続されます。その後、該当するクラスタにアクセスリクエストを送信します。
現在、アプリケーションおよびデータベースホスティングには、Cloudflareデフォルトのファイアウォールルール、DDoS対策、およびその他の機能が標準で実装されています。
各クラスタにはロードバランサがあり、Cloudflareからのアクセスリクエストを受信し、無作為にVMワーカーノードを選択します。
VMワーカーノードは、イングレスシステムでリクエストを受信し、リクエストされたサーバーがどのコンテナに割り当てられているかを認識します。イングレスシステムが、リクエストを該当するコンテナに送信し、コンテナにデータベースが接続されている場合は、データベースと通信して同じルートでレスポンスを送信します。
仮想マシン(VM)は、複数のコンテナやデータベースを保持することができます。
VM上には、各コンテナやアプリケーションのコピーを複数作成することができます。イングレスシステムがこれを認識し、同じコンテナのコピーのうち1つを経由します。
外部接続
コマンドライン(CLI)またはデータベースツールを使用して、データベースに接続することができます。外部接続は、インターネットを往復することから、内部接続に比べると大幅に低速になります。データベースのみを運用し、フロントエンドを扱わない場合には、外部接続が推奨されます。