bucket-sort logo bucket-sort

プログラミングとインフラエンジニアリングの覚え書き

  • Posts
  • About
  • Contact
  1. Home
  2. All Posts
  3. LaravelでDynamoDBを使うには?モジュールを調べてみた

LaravelでDynamoDBを使うには?モジュールを調べてみた

Jan 7, 2026 Laravel , DynamoDB , AWS bucket-sort

DynamoDB を触るにあたって、まずは簡単なベンチマークプログラムを書いてみようと思います。

せっかくなら、普段使っている Laravel 上で動かしたい。 というわけで、「Laravel で DynamoDB を扱うにはどうすればいいのか?」を調べてみました。

Laravel 用パッケージはあるのか?

調べてみると、いわゆる「Laravel 専用」と称した DynamoDB パッケージは、実質ひとつしか見当たりませんでした。

他にもいくつか見つかりますが、

  • インストール数が極端に少ない
  • スター数がほとんどない
  • 長年メンテナンスされていない

といったものが多く、実運用を前提に検討できるものはかなり限られます。

現実的な選択肢は、次の 2 つに絞られそうです。

AWS 公式: AWS SDK for PHP

パッケージ名

aws/aws-sdk-php

特徴

  • AWS 公式 SDK
  • DynamoDbClient が標準で含まれる
  • CRUD / Query / Scan / PartiQL(SQL 風)対応
  • ORM ではなく API 呼び出しベース

公式ドキュメント:

DynamoDB code examples using SDK for PHP - AWS SDK for PHP
AWS SDK for PHP を使った DynamoDB のコード例(公式ドキュメント)
docs.aws.amazon.com

メリット

  • 公式・安定
  • すべての API にアクセス可能
  • AWS の機能追加に追従しやすい

デメリット

  • Eloquent 的な抽象化はない
  • 低レベル API を直接扱う必要がある

使いどころ

  • DynamoDB の機能をフルに使いたい
  • ベンチマークや検証用途
  • PartiQL を使って SQL 風に書きたい場合

まずは素の SDK で触ってみるのが一番確実、という印象です。

baopham/laravel-dynamodb

baopham/laravel-dynamodb
Eloquent syntax for DynamoDB
github.com
(約 500 stars)

概要

Laravel で Eloquent 風に DynamoDB を扱えるラッパーパッケージです。

特徴

  • BaoPham\DynamoDb\DynamoDbModel を継承してモデル定義
  • find(), where(), get() など Eloquent 風 API
  • AND / OR / 比較演算子にも対応

メリット

  • Laravel プロジェクトで最も使われている DynamoDB ラッパー
  • Eloquent に近い記述で扱える
  • 学習コストが低い

デメリット

  • 完全な ORM ではない
  • RDBMS のリレーション機能ほど強力ではない
  • DynamoDB の設計思想とズレる可能性もある

向いている用途

  • 既存 Laravel プロジェクトに組み込みたい
  • Eloquent の書き味を維持したい
  • ある程度抽象化された API を使いたい

どちらを使うべきか?

今回の目的は「ベンチマーク」なので、抽象化レイヤーがあると内部動作が見えにくくなる可能性があります。 そのため、まずは公式 SDK で直接操作したほうが挙動を理解しやすそうです。

一方で、実際のアプリケーションに組み込む場合は、baopham/laravel-dynamodb のようなラッパーの存在は魅力的です。

まとめ

Laravel で DynamoDB を扱う現実的な選択肢は、現時点では次の 2 つです。

  • 公式 AWS SDK を直接使う
  • baopham/laravel-dynamodb を利用する

「Laravel 用パッケージが豊富にある」という状況ではありません。

まずは公式 SDK で素の DynamoDB に触れ、その上で必要に応じてラッパーを検討する、という流れが無難そうですね。

Laravel DynamoDB AWS
← DynamoDBで日付を扱う場合の覚え書き MySQLでレコードの平均サイズを求める →

Related Posts

  • 監査ログをDynamoDBに保存するlaravel-dynamodb-auditingパッケージの概要まとめ Mar 3, 2026
  • RDBのつもりでlaravel-dynamodbを使うとハマりそうなポイントを整理する Mar 1, 2026
  • Dockerを使ってDynamoDB LocalをWSL上のUbuntuで動かす Feb 28, 2026
  • DynamoDBで日付を扱う場合の覚え書き Jan 6, 2026

Table of Contents

  • Laravel 用パッケージはあるのか?
  • AWS 公式: AWS SDK for PHP
    • パッケージ名
    • 特徴
    • メリット
    • デメリット
    • 使いどころ
  • baopham/laravel-dynamodb
    • 概要
    • 特徴
    • メリット
    • デメリット
    • 向いている用途
  • どちらを使うべきか?
  • まとめ

Recent Posts

  • Laravel の Event / Listener で Pub/Sub を実装する Apr 2, 2026
  • [C#] delegate と event の仕組みを整理する Apr 1, 2026
  • Pub/Sub パターンとは何か Mar 31, 2026
  • PHP/Laravel で値の状態を判定するヘルパ関数まとめ Mar 30, 2026
  • Filament の dehydrated メソッドとは何か Mar 29, 2026

Categories

  • AWS27
  • C#22
  • .NET20
  • Laravel16
  • Linux12
  • Apache8
  • MySQL8
  • PHP8
  • DynamoDB6
  • Nginx5
  • WordPress4
  • インフラ4
  • Hugo3
  • セキュリティ3
  • .NET Framework1
  • Aurora1
  • Filament1
  • Git1
  • SQS1

Tags

  • AWS
  • C#
  • .NET
  • Laravel
  • PHP
  • MySQL
  • セキュリティ
  • Linux
  • Apache
  • Code Snippet
  • DynamoDB
  • NoSQL
  • PHP-FPM
  • RDS
  • DoS
  • Nginx
  • Windows
  • WordPress
  • パフォーマンス
  • 監視
  • Amazon Linux 2023
  • CMS
  • Docker
  • Ipset
  • Iptables
  • OPCache
  • Webサーバー
  • 認可
  • Aurora
  • Blade
Powered by Hugo & Explore Theme.