X-Ray インストルメンテーション (Instrumenting)
- 概念: アプリのコードに「追跡用のピン」を刺すこと。
- 役割: 処理のどこで時間がかかったか、どこでエラーが出たかを可視化(トレース)します。SDKを読み込んで数行書くだけで、リクエストの「家系図」のようなグラフが見れるようになります。
DefinitionSubstitutions (CloudFormation)
- 概念: テンプレート内の「あだ名」を「本物の値」に書き換える機能。
-
役割: Step Functionsなどの定義(コード)の中に
${MyApiUrl}と書いておけば、デプロイ時にCloudFormationが自動で本物のURLに置換してくれます。環境変数が使えないサービスの救世主です。
CloudFormation カスタムリソース
- 概念: CloudFormationが対応していない操作を「Lambda」で代行させる仕組み。
- 役割: 「DBの中にユーザーを作る」といった、AWSリソースの外側の操作をデプロイの流れに組み込めます。
Secrets Manager vs Parameter Store
-
Secrets Manager (有料): **「更新が必要な秘密」**用。
-
DBのパスワードなど、定期的に中身を自動で書き換える(ローテーション)機能があります。
-
Parameter Store (基本無料): **「変わらない固定値」**用。
-
「ログの保存先パス」や「フラグのON/OFF」など、秘密にする必要がない、または更新を自動化しなくていい値に使います。
DynamoDB セカンダリインデックス (LSI / GSI)
- 概念: 「別の切り口」で検索するための予備の目次。
- 役割: 通常は「ユーザーID」でしか検索できないテーブルに、「登録日」や「メールアドレス」でも高速に検索できるように別の索引(インデックス)を貼ります。
UnprocessedKeys (DynamoDB)
- 概念: 「一度に処理しきれなかった食べ残し」。
-
役割:
BatchGetItemなどで大量のデータを要求した際、スロットル(制限)にかかって処理できなかったデータがこれに当たります。これが出たら「再試行」が必要です。
エクスポネンシャルバックオフ と ジッター (ランダム遅延)
- 概念: 「失敗したら、少しずつ間隔をあけて、ランダムな時間にリトライする」こと。
- 役割: 全員が一斉にリトライするとサーバーがパンクするので、1秒後、2秒後、4秒後…とズラしつつ、さらに「1.2秒」や「3.8秒」のように時間をバラけさせて(ジッター)、混雑を回避します。
X-Forwarded-For ヘッダー
- 概念: 「真の送信元(お客さん)」のIPアドレスが入った封筒の裏書き。
- 役割: ロードバランサー(ALB)を通すと、サーバー側に見えるのは「ALBのIP」になってしまいます。このヘッダーを見ることで、本来のクライアントのIPを特定できます。サーバーのログ設定にこれを追加して記録するのが定石です。