私のVPC(.netコアを使用)でAWS LambdaからSQL Server RDSインスタンスに接続しようとしています。私はラムダ関数を実行しようとするとAWS Lambda - VPCのSQL Server RDSに接続できません
、それが返されます。
ラムダは、独自にある「ERRORTYPE」:「SqlExceptionが」、「にErrorMessage」:「タイムアウトが期限切れ接続タイムアウト時間は、ポストログインフェーズの間に経過しました。サーバーがログインプロセスを完了して応答するのを待っている間に接続がタイムアウトしている可能性があります、または複数のアクティブな接続を作成しようとしているときに時間切れになっている可能性があります。 = 781;ハンドシェイク= 1957; [ログイン]初期化= 40;認証= 122; [ログイン後]完了= 12219; "、
- RDSインスタンスおよびラムダの両方が同じVPC
- RDSインスタンスおよびラムダの両方にある同じAZにあり、サブネット
- :
私は次のように構成したがセキュリティグループ
- RDSインスタンスのセキュリティグループは、ラムダSG用にポート1433の許可を与えている
- ラムダIAMの役割AWSLambdaFullAccessのための権限を持っている、とAWSLambdaVPCAccessExecutionRole
- MSSQL接続文字列(エンドポイント、ユーザーID、pwdなど)は、同じVPC/AZ /サブネット内のEC2インスタンスから機能します。
接続文字列は、(私のORMとしてDapperのを使用して)このようになります
string dbconnstr = @"server=vpc100-db.xyz.us-west-1.rds.amazonaws.com;database=dbMyDb;user id=sa;password=mypwd;";
私が欠けているものを任意のアイデア ?
すべてをカバーしているようですので、最初に実際の設定が上記に従っているかどうかを再確認します。正常に接続されたEC2にどのSGを設定しましたか?私は同様の問題を抱えていて、SGをより緩やかに設定したら、解決しました。それがどうなるか教えてください。 – johni
RDS SGをより緩くすることを意味しましたか?私はすべてのTCPとすべてのIPを許可したRDSセキュリティグループに受信ルールを追加しようとしました。結果は変わらなかった。ログイン後のフェーズでタイムアウト時間が経過しています。ラムダ関数は「サーバーが見つかりません」とは言わないのでSQL Serverを見つけているようですが、接続にはまだ失敗しています。 –