Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS Amplify Dataで Amazon Aurora DSQL への接続に失敗した話

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

AWS Amplify Dataで Amazon Aurora DSQL への接続に失敗した話

Avatar for MatsuzawaTakeshi

MatsuzawaTakeshi

March 26, 2026
Tweet

More Decks by MatsuzawaTakeshi

Other Decks in Technology

Transcript

  1. AWS Amplify Dataで Amazon Aurora DSQL への接続に失敗した話 2026年 3月 26日

    NRIネットコム株式会社 NTシステム事業本部 NTシステム事業一部 松澤 武志
  2. 2 Copyright(C) NRI Netcom, Ltd. All rights reserved. 自己紹介 {

    "名前": "松澤 武志", "出身": "兵庫県 小野市", "趣味": ["お弁当作り", "推し活", "個人開発"], "職種": "アプリケーションエンジニア", "職歴": { "2024/08~": "Java/TypeScript", “2025/07~”: “C#“ ”実は”:”実務でAWSを利用した開発歴0日” }, "好きなAWSサービス": “ “ } AWS Amplify Category: Dev Tools 執筆ブログ: https://tech.nri-net.com/archive/author/t-matsuzawa
  3. 3 Copyright(C) NRI Netcom, Ltd. All rights reserved. Amazon Aurora

    DSQLとのなれそめ JAWS DAYS 2026にて、 DSQL関連のセッションを事前知識なしで聴講 [B4]DSQL導入のリアル~実プロジェクトで見えたメリットと落とし穴~ 佐藤 慎さん https://fortee.jp/jawsdays-2026/proposal/c9b37788-f42d-490c-b06a-f4aab4d4039b エンタープライズ用のDBだと思っていたAurora DSQL、小規模システムならコスパが良いんだ! 小規模システムということはAWS Amplify Gen2 で試すしかないよね!
  4. 4 Copyright(C) NRI Netcom, Ltd. All rights reserved. ◼TypeScriptでフルスタックアプリケーションを 実装できるサービス

    ◼少数のコードで実装可能な各種コンポーネ ントが用意されている ⚫ Amplify Data ⚫ Amplify Auth ⚫ Amplify Storage ◼開発者ごとのサンドボックス環境を作成可 能 AWS Amplify Data とは Amplify Stack AWS AppSync Amazon DynamoDB リゾルバ User ◼AWS AppSync(GraphQL)を 利用したAPIを実装可能 ◼Amazon DynamoDBとシームレスに統合 ◼外部のMySQL、PostgreSQLとも互換性 あり Amplify Data AWS Amplify Gen2
  5. 5 Copyright(C) NRI Netcom, Ltd. All rights reserved. Amazon Aurora

    DSQL とは ◼インスタンスの管理不要 分散型のサーバレスRDB ◼ 使い慣れたORMが利用可能 ◼ ※ただし制限あり PostgreSQL v16互換 ◼ロックをとらない ◼コミット時に競合していたら中断 楽観的同時実行制御 ◼ 従量課金制 ◼ ex) ap-northeast-1では ⚫ 分散処理単位(DPU):USD 10.00 per 1M Units ⚫ ストレージ:USD 0.40 per GB-month ◼ 無料利用枠 ⚫ 最初の 100,000 DPU と 1 GB のストレージが 毎月無料 とにかくコストが安い
  6. 6 Copyright(C) NRI Netcom, Ltd. All rights reserved. 検証内容 ~Amplifyで安いRDBを使いたい!

    Amplify Data のRDB接続方法 1. DB接続文字列で接続 2. スキーマ情報を自動生成 3. Amplifyのデータモデルに結合 4. カスタムクエリをミューテーションハンドラに 実装 PostgreSQL instance Aurora DSQL cluster Amplify Stack AWS AppSync Amazon DynamoDB 参考: https://docs.amplify.aws/react/build-a-backend/data/connect-to- existing-data-sources/connect-postgres-mysql-database/ Amplify→Aurora DSQL へ接続・クエリを行う リゾルバ 接続可能か 検証 通常の方式
  7. 8 Copyright(C) NRI Netcom, Ltd. All rights reserved. 認証の方式がかみ合わず、唐突に詰む Amplify

    Data ◼ PostgreSQLの認証に、DBのユーザー名パスワー ドが必要 Aurora DSQL ◼ ロールにPostgreSQLの権限をGRANT文で設 定 ◼ ロールと(DB接続のみ許可された)IAMロールを 紐づける ◼ IAMロールを付与されたエンティティが権限 ◼ DSQLのロールにはパスワードがない ◼ SDKでトークン取得API(generate-db- connect-auth-token)が提供されているが… DBクラスター アクセス許可ポリシー Role PostgreSQL instance Aurora DSQL cluster postgres://user:password@hostname:port/db-name ⚫ ロールにはパスワードがない ⚫ トークンはParseできない アタッチ カスタムロールと 紐づけ Amplify CLI
  8. 9 Copyright(C) NRI Netcom, Ltd. All rights reserved. 別の手法で接続を試みる ◼node-postgres

    (AWS Lambda) ◼node-postgres ◼Postgres.js Role IAM認証 TypeScriptのドライバー ◼Prisma ◼Sequelize ◼TypeORM TypeScriptのORM PostgreSQL instance Aurora DSQL cluster Amplify Stack AWS AppSync リゾルバ Lambda function Lambda関数、クラスター 接続用IAMロールを CDKで実装
  9. 10 Copyright(C) NRI Netcom, Ltd. All rights reserved. この手法のネガティブなポイント ◼DSQL自体がリレーションが使えない

    ⚫ 外部キー制約などは、アプリケーション側で実装する必要がある ⚫ JOINを行うような複雑な要件でないと、利用するメリットがない ◼Amplify Dataの強みが活きない ⚫ Amplify DataのRDS利用時に抽象化されていたスキーマ情報の自動生成が利用できない ⚫ DB接続用Lambda関数が内部で自動生成されない ◼実装コストが高い ⚫ Lambda関数、ORM、AppSyncのスキーマ ⚫ Amplify Stackで管理する場合、DSQLをCDKで実装する必要がある →Amplify DataはAmplify Stack外のRDBの利用が前提だったため、メリットともいえる
  10. 11 Copyright(C) NRI Netcom, Ltd. All rights reserved. 結論 Amplify

    Data経由でAurora DSQLは利用できない CDK + ドライバーで接続可能。ただし実装コスト大 Aurora DSQL自体は無料利用枠も多く、 個人開発で利用するのもおすすめ!