Lambda へのアクセスを Aurora に許可する
Aurora MySQL DB クラスターから Lambda 関数を呼び出すには、まず Lambda へのアクセス権限をクラスターに付与する必要があります。
Lambda へのアクセス権限を Aurora MySQL に付与するには
-
Aurora MySQL DB クラスターからの Lambda 関数の呼び出しを許可するアクセス許可を付与する AWS Identity and Access Management (IAM) ポリシーを作成します。手順については、「AWS Lambda リソースにアクセスするための IAM ポリシーの作成」を参照してください。
-
IAM ロールを作成して、「AWS Lambda リソースにアクセスするための IAM ポリシーの作成」で作成した IAM ポリシーを新しい IAM ロールにアタッチします。手順については、「Amazon Aurora が AWS のサービスにアクセスすることを許可する IAM ロールの作成」を参照してください。
-
DB クラスターの
aws_default_lambda_role
パラメータに新しい IAM ロールの Amazon リソースネーム (ARN) を設定します。クラスターが Aurora Global Database の一部である場合は、グローバルデータベース内の Aurora クラスターごとに同じ設定を適用します。
DB クラスターのパラメータの詳細については、「Amazon Aurora の DB クラスターパラメータと DB インスタンスパラメータ」を参照してください。
-
Aurora MySQL DB クラスター内のデータベースユーザーが Lambda 関数を呼び出せるように、「Amazon Aurora が AWS のサービスにアクセスすることを許可する IAM ロールの作成」で作成したロールをその DB クラスターに関連付けます。DB クラスターへの IAM ロールの関連付けの詳細については、「IAM ロールと Amazon Aurora MySQL DB クラスターの関連付け」を参照してください。
クラスターが Aurora Global Database の一部である場合は、グローバルデータベース内の Aurora クラスターごとにロールを関連付けます。
-
Lambda へのアウトバウンド接続を許可するように Aurora MySQL DB クラスターを設定します。手順については、「Amazon Aurora から他の AWS のサービスへのネットワーク通信の有効化」を参照してください。
クラスターが Aurora Global Database の一部である場合は、グローバルデータベース内の Aurora クラスターごとにアウトバウンド接続を有効にします。