
下の図に示すように、AWSにWebサーバーとデータベースサーバーをセットアップしました。
AWS ダイアグラム Web サーバー:
- OS: Windows Server 2012 R2
- ホストされるアプリケーション: .NET 3.5 フレームワークの VB.NET アプリケーション
- Webサーバー:MS IIS 8.5
データベースサーバー:
- OS: Oracle Linux 7.4
- データベース: Oracle 12c リリース 1
AWS関連の仕様:
- Web サーバーとデータベース サーバーは異なる VPC にありますが、同じルート アカウントでホストされています。
- データベース サーバーは Elastic IP に関連付けられています。この Elastic IP により、データベースはパブリック ネットワークからアクセスできます。
- データベースサーバーでは、TCPポート1521が開かれており、パブリックネットワークからtelnet経由でアクセスできます。
- Webサーバーからはsqlplusまたはoracle sql developerを介してデータベースサーバーにアクセスできます。
- ローカルWebサーバーアカウントで実行するようにIISを構成しました
問題:
- IISサーバーからアプリケーションを実行すると、データベースにアクセスできないというメッセージが表示されます。
質問: 私はこの問題についてグーグルで調べたところ、問題を引き起こしている大きな要因があると思われる。
- IISはローカルアカウントで構成されているため、データベースアカウントにアクセスできない可能性があります。
この状況から抜け出すのを手伝ってください。アプリケーションのアーキテクチャが悪すぎることはわかっています。これは私の開発環境であり、私はこの AWS を初めて使用します。
御時間ありがとうございます
答え1
データベースはパブリック サブネット上に配置しないでください。何らかの理由で別の VPC に配置する必要がある場合は、それらの VPC をピアリングし、データベースをプライベート サブネットに移動する必要があります。現在の設定では、データベース接続によってパブリック インターネット経由で遅延が発生します。ネットワーク パフォーマンスを向上させたい場合は、データベースを 2 つの設定のいずれかに移動し、ピアリングされた VPC または同じ VPC を再テストすることをお勧めします。