AWS

SSM Session Managerを使ってRDSへ接続できる環境をAWS CDKで作成する

AWS

検証環境として、RDSにSSM Session ManagerおよびNLBを用いたPrivateLinkでアクセスできる環境を構築することとなった。 今後も同じような環境を作ることになりそうなので、CDKで書くことにしたが、そのものズバリこうすればできる、といったサンプルが見つ…

Slack Events APIで飛んでくるJSONの内容を確認するだけのLambdaコード

複数サービスを連携して処理するとき、Slack Events API(いわゆるWebhook)を使って、AWS LambdaやAzure Logic Apps経由でもろもろ処理させることが増えた。 ただ、Events APIで飛んでくるJSONが、公式ドキュメントを見てもわかりにくい(というか、メッセージ…

Amplify Gen2のLINEログイン時にLINEユーザーIDを保存する

前回、 Amplify Gen2のLINEログイン時にLINEのIDトークンを取得、検証できた。 今回はIDトークンの検証結果から、LINEユーザーIDを取得し、保存するまでをメモ。 環境 前々回・前回同様、 @aws-amplify/backend v1.0.4, @aws-amplify/backend-cli (ampx) v1.…

Amplify Gen2のLINEログイン時にIDトークンを保存する

前回、Amplify Gen2にLINEをOIDCプロバイダーとして登録し、ログインできるようにした。 続いて、LINE公式アカウントのユーザーと紐づけたいので、アクセストークンまたはIDトークンを取得できないか調べたところ、できたのでメモ。 環境 調査 実装 amplify/…

Amplify Gen2でGoogleなどの外部IDプロバイダー認証を設定する

Amplify Gen1からGen2に移行する際、Google認証の設定を行ったが、公式ドキュメント通りに進めるとエラーが発生したのでメモ。 環境 外部IDプロバイダー設定方法 Google認証の設定手順 OAuthクライアントIDの作成 Amplifyのシークレット作成 amplify/auth/re…

AWS CLIによるRDS Data APIの実行

前回作成したAurora PostgreSQL Serverless v2に対して、動作確認のためAWS CLIを用いてRDS Data APIを実行してみる。 環境 AWS CLI v2.15.30、jq v1.7.1。シェルスクリプトはGit for Windows v2.42.0.windows.1のGit Bashで実行。 サンプルコード 以下、実…

AWS CDKによるAurora PostgreSQL Serverless v2およびRDS Data APIの環境構築

Aurora Serverless v2のPostgreSQL互換でRDS Data APIが使えるようになった。 最小ACUを0にできないなど、Serverless v1と完全互換ではないが、ちょうどSalesforceやHTTPでAPI連携できるRDBを使いたい要件があったので、検証することに。 Secrets Managerへ…

Amplifyで作成したLambdaにロールを付与してSESでメール送信する

前回の続き。 LambdaからSESによるメール送信を行う方法として、前回はIAMを作成し、アクセスキーを使ったが、今回はLambdaにロールを付与してみる。 環境 実装 Lambdaの作成 Lambdaへのロール付与 Lambdaの実装 GraphQL定義およびコードからの呼び出し 振り…

Amplifyで作成したLambdaからアクセスキーを用いてSESでメール送信する

Amplifyで作成したアプリケーションでメール送信をしようと思い、Lambda経由でSESを呼んでみた。 メール送信用のIAMを作成してアクセスキーを使うパターンと、LambdaにSESでのメール送信権限を付与するパターン、両方試したが、まずはアクセスキーを用いるパ…

AWS Amplifyでビルドに失敗する

新規プロジェクトにて、バックエンドにAWS Amplifyを使うことにした。 Gitリポジトリと連携して、開発ブランチに変更があるたびにAWS側でビルドするように設定したが、いくつかの原因でビルドに失敗したのでメモ。 環境 問題1 問題1の対応 問題2 問題2の対応…

JavaのユニットテストでLocalStackを使っているときに「Cannot find docker executable」が出たときの対応方法

JavaのユニットテストでLocalStack Java Utils v0.1.22を使ってAWSサービスのテストをしていたが、Windows + Docker Desktopの環境で Cannot find docker executable. というエラーが発生するようになった。 CLIからの docker コマンドは通るのに、Javaのユ…

EC2起動タイプのAmazon ECSにElastic IPを付与してIPアドレスを固定する

AWS

EC2起動タイプのECSで運用しているアプリケーションを、外部サービスと連携したいとの要望があった。 ただ、連携したいサービスというのが、接続元のIPアドレスを指定して連携するタイプのサービスのため、IPアドレスを固定するのが要件。 EIPをアタッチした…