アプリケーションサーバとDBサーバの通信プロトコルについて


例えば、EC2インスタンスでnode.jsのアプリケーションが動いていて、RDSインスタンスとデータのやり取りをする場合、EC2インスタンスとRDSインスタンスはどのような通信プロトコルになるのでしょうか？

ローカルで開発している時は同じホストマシンの中でアプリケーションとDBが動いていて、ローカルとの違いも気になります（パフォーマンスの違いなど）。




>
> 例えば、EC2インスタンスでnode.jsのアプリケーションが動いていて、RDSインスタンスとデータのやり取りをする場合、EC2インスタンスとRDSインスタンスはどのような通信プロトコルになるのでしょうか？

どのデータベースエンジンを選択するかによります。例えば、Amazon RDS for
PostgreSQLを選択した場合は、PostgreSQLの通信プロトコルが使われます。

選択できるデータベースエンジンのリストです。[よくある質問 - Amazon RDS |
AWS](https://aws.amazon.com/jp/rds/faqs/)

> ローカルで開発している時は同じホストマシンの中でアプリケーションとDBが動いていて、ローカルとの違いも気になります（パフォーマンスの違いなど）。

~~パフォーマンスに絞って回答しますが、様々な要素から違いはあります。２つ挙げておきます。

  * インターネットを経由するアクセスである
  * ローカルのホストマシンとのスペックの差異  
~~

パフォーマンスに絞って回答しますが、RDSはAWSのデータセンターからインターネット越しに提供するサービスなので、インフラが全く異なり、ローカルで立てたデータベースと比較することに無理があると思います。

しかしながら、本番環境のデータベースと同等のパフォーマンスを、開発用途で求められるケースはあまり知りません。開発用のRDSを用意する場合でも、コスト面の理由から、本番環境より低スペックにすることが多いです。ローカルのホストマシンでデータベースを立てるなら、尚更だと思います。




>
> 例えば、EC2インスタンスでnode.jsのアプリケーションが動いていて、RDSインスタンスとデータのやり取りをする場合、EC2インスタンスとRDSインスタンスはどのような通信プロトコルになるのでしょうか？

どのデータベースエンジンを選択するかによります。例えば、Amazon RDS for
PostgreSQLを選択した場合は、PostgreSQLの通信プロトコルが使われます。

選択できるデータベースエンジンのリストです。[よくある質問 - Amazon RDS |
AWS](https://aws.amazon.com/jp/rds/faqs/)

> ローカルで開発している時は同じホストマシンの中でアプリケーションとDBが動いていて、ローカルとの違いも気になります（パフォーマンスの違いなど）。

~~パフォーマンスに絞って回答しますが、様々な要素から違いはあります。２つ挙げておきます。

  * インターネットを経由するアクセスである
  * ローカルのホストマシンとのスペックの差異  
~~

パフォーマンスに絞って回答しますが、RDSはAWSのデータセンターからインターネット越しに提供するサービスなので、インフラが全く異なり、ローカルで立てたデータベースと比較することに無理があると思います。

しかしながら、本番環境のデータベースと同等のパフォーマンスを、開発用途で求められるケースはあまり知りません。開発用のRDSを用意する場合でも、コスト面の理由から、本番環境より低スペックにすることが多いです。ローカルのホストマシンでデータベースを立てるなら、尚更だと思います。

