パラメータ・キーaws_default_lambda_role
は、ロールの完全なARN値パスを持つ必要があります。このパスは、Auroraクラスタに接続されており、関連する正しいラムダ・アクセス・ポリシーを持っています。
まず、IAM DB Authentication Enabled
を有効にします。これは、データベースのユーザー資格情報をAWS IAMのユーザーとロールで管理できることを意味します。
ポリシーの作成、ロールの作成、ロールへのポリシーのアタッチ、Auroraクラスタへのロールの関連付けは次の手順で行います。 ARNに関連するAWSサービスのためのクラスタ・レベル・パラメータ・キーを設定
Create a IAM Policy to Access AWS Lambda Resources.
Create IAM Role to Allow Amazon Aurora to Access AWS Services with Policy attached.
Associate IAM Role with an Amazon Aurora MySQL DB Cluster that needs to use Lambda.
関連するIAMの役割について上記のウェブリンク3のステップ10を使用してください。ステップ10ではaws_default_s3_role
と記載されていますが、aws_default_lambda_role
を探すだけです。
5.ゴーパラメータグループ
7.クリッククリック
RDS Dashboardに
パラメータグループを作成します。 210
8.選択パラメータグループファミリーaurora5.6
9。
someName56
として、テキストボックス、所望の構成
グループ名に
タイプ
DB Cluster Parameter Group
タイプを選択し
を作成し、パラメータの編集
ルックパラメータ名aws_default_lambda_role
とARを入力上記の手順4で作成したIAMロールのN
簡単な説明
それが原因関与抽象化層で、IAMユーザー、ロール、およびポリシーの分離があることを覚えておくことが重要です。ポリシーをユーザーまたは役割に割り当てることができます。 EC2やRDSなどの実行中のインスタンスとは関連付けることはできません。ローカルコンピュータに書き込まれたコードにS3またはラムダのアクセス権を付与するには、適切なポリシーを適用したIAMユーザーを使用する必要があります。 Amazon内部サービスへのアクセスをアタッチするには、IAMロールを割り当てる必要があります。たとえば、CALL mysql.lambda_async
プロシージャを使用してRDS Aurora Cluster DBトリガーLambdaを許可する必要があります。 RDSインスタンスはAWSの内部であるため、ラムダ関数をトリガする役割を持つため、IAMロールを割り当てる必要があります。これ以上の必要がない限り、RDS仮想マシンに直接アクセスせずに構成ファイルを変更する方法は、アクセスを最小限に抑えることです。したがって、仮想マシンに直接接続することなく、DBソフトウェアの構成変更を行うために、パラメータグループ値を変更する必要があります。 SSHまたは直接接続ソフトウェアを使用する従来の方法よりも簡単に設計されています。これはまた、abstactionレイヤ、すなわちAWSコンソールがユーザ活動を追跡して、ユーザ/サービスがLambdaトリガのアクションをコミットして問題を特定するのを助けることができるので、より大きな説明責任を可能にする。私はAWS上の完全な把握ので、私は私の手順や説明のいずれかでミスを犯している可能性を持っていないよう
注
私は専門家ではないので、私の説明を修正してください。しかし、これが私の特定の問題を解決するためにしたものです。
EDIT:(投稿後の議事録)
私の特定の問題:私はSQLでの直接呼び出しを行った
が、それは私のステップに私を導いた、次のエラー出力を与えたIこの問題を解決するために概要が説明されています。
MySQLの> CALL mysql.lambda_async('arn:aws:lambda:us-region-1:02020202020:function:FuncSomeNameLambdaFunc', CONCAT('{ "subject" : "', 'subject contents', '", "message" : "', 'Message Contents', '" }'));
ERROR 1873 (HY000): Lambda API returned error: Missing designated IAM role (aws_default_lambda_role)
IAMロールには、(RDSのコンソールではなく、IAMコンソール)のfuctionを呼び出しています特定のオーロラクラスターに接続する必要がありました。あなたはそれをしましたか? –
IAM Role ARNをRDS DB Cluseter Parameter Groupの設定に追加して、この問題を解決しました。 ARNを 'aws_default_lambda_role'キーに追加しました。 – lu1s