前提・実現したいこと
Visual Studio 2017でASP.NET アプリケーション(.NET Framework)を作成し、
MVCのScaffoldingを利用してCRUDアプリのベースを作成したいと考えています。
SQL ServerはAWSに作成したRDSに接続するようにConnectionStringを記述します。
実行環境はDockerで用意し、将来的にはAWS ECSで管理を行う予定です。
発生している問題・エラーメッセージ
通常通りF5ボタンから実行した時はCRUD全て問題なく動作するのですが、
DockerサポートをオンにしてDocker上でデバッグ実行すると、
SQL Serverへの接続に失敗しページの表示がエラーになってしまいます。
エラーの回避方法がわからず、解決方法を探しています。
System.Data.SqlClient.SqlException HResult=0x80131904 Message=A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - The wait operation timed out.) Source=.Net SqlClient Data Provider スタック トレース: <例外のスタック トレースを評価できません> 内部例外 1: Win32Exception: The wait operation timed out
ConnectionString
<connectionStrings> <add name="MyContext" connectionString="Data Source=RDSのエンドポイント,1433;Initial Catalog=testdb;Persist Security Info=True;User ID=sa;Password=パスワード" providerName="System.Data.SqlClient" /> </connectionStrings>
試したこと
VS2017によって自動的に作成されたWindowsコンテナに入り、
Test-NetConnectionを利用して通信テストを行ったところ、
・外部(Google.com)へのPingは可能だがポート80指定TPC通信は失敗
・自マシンへのPing、ポート80(開放済)指定TPC通信ともに可能
・AWS RDSのエンドポイント、ポート1433指定通信は失敗
という結果になりました。
>・AWS RDSのエンドポイント、ポート1433指定通信は失敗
ここがエラーの原因かとも思うのですが、解消方法がわかりません…
なお、
・自マシンからTest-NetConnectionを利用して、
AWS RDSのエンドポイント、ポート1433指定TPC通信は成功
・下記WEBサービスを利用してのポート開放チェックも成功
https://www.cman.jp/network/support/port.html
上記2点からAWSのセキュリティグループによってDockerコンテナからの
接続が弾かれているということは考えにくいのでは…と思っています。
補足情報(FW/ツールのバージョンなど)
Visual Studio 2017
.NET Framework 4.6.1
SQL Server Express Edition 14.00.3015.40.v1 (Amazon Web Service RDS, db.t2.micro)
Docker Community Edition Version 18.03.0-ce-win59(16762)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/30 05:34