📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
ページの作成:「== 概要 == DynamoDBは永続的な無料利用枠を提供しており、個人利用や小規模なアプリケーションであれば無料枠内で運用できることが多い。<br> <br><br> == DynamoDBの無料枠について == ==== 無料枠の内容 ==== * ストレージ : 25[GB]まで無料 * 読み込みリクエスト *: 月200万リクエスト (25 RCU相当) * 書き込みリクエスト *: 月200万リクエスト (25 WCU相当) * データ転…」 |
|||
| 372行目: | 372行目: | ||
# 実行方法 | # 実行方法 | ||
python3 dynamodb_example.py | python3 dynamodb_example.py | ||
<br> | |||
==== デバッグ方法 ==== | |||
<syntaxhighlight lang="sh"> | |||
# AWS CLIのデバッグモード | |||
aws dynamodb list-tables --debug | |||
</syntaxhighlight> | |||
<br> | |||
<syntaxhighlight lang="python"> | |||
# boto3のログ設定 | |||
import logging | |||
logging.basicConfig(level=logging.DEBUG) | |||
</syntaxhighlight> | |||
<br><br> | |||
== セキュリティ == | |||
==== アクセスキーの管理 ==== | |||
* アクセスキーをコードに直接記述しない。 | |||
* GitHubなどにアクセスキーをコミットしない。 | |||
* 定期的にアクセスキーをローテーションする。(90日ごと推奨) | |||
* 不要になったアクセスキーは削除する。 | |||
<br> | |||
==== IAMポリシーの最小権限 ==== | |||
* AWS DynamoDB専用のIAMユーザを作成する場合 | |||
<syntaxhighlight lang="json"> | |||
{ | |||
"Version": "2026-10-17", | |||
"Statement": [ | |||
{ | |||
"Effect": "Allow", | |||
"Action": [ | |||
"dynamodb:PutItem", | |||
"dynamodb:GetItem", | |||
"dynamodb:Query", | |||
"dynamodb:Scan", | |||
"dynamodb:UpdateItem", | |||
"dynamodb:DeleteItem" | |||
], | |||
"Resource": "arn:aws:dynamodb:ap-northeast-1:*:table/MyTable" | |||
} | |||
] | |||
} | |||
</syntaxhighlight> | |||
<br> | |||
==== VPCエンドポイントの利用 (オプション) ==== | |||
EC2等のAWSリソースからアクセスする場合は、VPCエンドポイントを使用するとインターネットを経由せずにDynamoDBにアクセスすることができる。<br> | |||
<br><br> | |||
== トラブルシューティング == | |||
==== エラー : "An error occurred (AccessDeniedException)" ==== | |||
* 原因 | |||
*: IAM権限不足 | |||
* 解決 | |||
*: IAMユーザに適切なポリシーをアタッチする。 | |||
<br> | |||
==== エラー : "ResourceNotFoundException" ==== | |||
* 原因 | |||
*: テーブルが存在しない、またはリージョンが違う | |||
* 解決 | |||
*: テーブル名とリージョンを確認する。 | |||
<br> | |||
==== エラー : "ValidationException" ==== | |||
* 原因 | |||
*: データ型の不一致や必須キーの欠如 | |||
* 解決 | |||
*: スキーマ定義を確認する。 | |||
<br><br> | <br><br> | ||