S3 アカウントリージョナル名前空間でバケット名の衝突と乗っ取りを防ぐ
S3 汎用バケットのアカウントリージョナル名前空間を CLI で検証。リージョン別の prefix 文字数制限、IAM 条件キーによる組織強制、グローバル名前空間での名前保護の挙動を実測データで確認した。
「aws」タグが付いたコンテンツ一覧
S3 汎用バケットのアカウントリージョナル名前空間を CLI で検証。リージョン別の prefix 文字数制限、IAM 条件キーによる組織強制、グローバル名前空間での名前保護の挙動を実測データで確認した。
DevOps Agent の EKS 統合を検証。Learned Topology による Kubernetes オブジェクトの自動検出、アプリ障害とインフラ障害での調査プロセスの違い、audit ログからの操作者特定能力を実測データで評価する。
Agent Registry のレジストリ作成からレコード登録・承認・検索までを CLI で検証。セマンティック検索の精度、日本語クエリと英語クエリの差、MCP エンドポイント経由の検索を実測データで評価する。
Blue/Green Switchover に RDS Proxy を組み合わせた場合のダウンタイムを psql で計測。直接接続の26秒・JDBC BG プラグインの0秒と比較し、RDS Proxy の効果と制約を明らかにする。
EKS マネージドノードグループの Warm Pool を実機検証。Running 28秒・Stopped 48秒・コールドスタート 62秒のスケールアウト時間差と、reuseOnScaleIn の16分ドレイン待ちを計測。poolState 選択の判断基準を提示する。
S3 Files のファイルシステム作成からマウント、双方向同期の遅延計測、読み取りパフォーマンスまでを CLI で検証。EFS・Mountpoint for S3・FSx for Lustre との比較表と、実測データに基づく選択判断材料を提供する。
Route 53 Global Resolver の作成から Do53/DoH 認証、DNS フィルタリングまでを CLI で一気通貫検証。伝播時間の計測データと、VPC Resolver 比 20 倍のコストに見合うユースケースの判断材料を提供する。
AWS Lambda Managed Instances を実際にデプロイし、プロビジョニング67秒、マルチコンカレンシーで10実行環境への自動分散、CPU負荷時のスロットリング挙動を計測した。LMI移行判断のチェックリストを提示する。
VPC Encryption Controls の Monitor/Enforce 両モードを実機検証。Flow Logs の encryption-status の実態、Enforce 移行に15分以上かかる非同期処理、VPC エンドポイント ENI マイグレーションの落とし穴を計測データとともに報告する。
ペンテストで検出した7件の脆弱性に対して自動コード修正を実行。全件に GitHub PR が生成され、SQL Injection のパラメータ化クエリからクレデンシャルのハッシュ化まで、そのまま適用可能な修正が得られた。
認証なし・単一ロール(2FA 付き)・複数ロールの3条件でペンテストを実行。認証情報なしでも Agent が SQL Injection 経由でクレデンシャルを取得し TOTP を推測して自力ログインする挙動を確認した。
AWS Security Agent は GraphQL API をテスト可能と公式に記載しているが、実際の検出能力はどうか。4条件で検証した結果、HTML リンク構造の有無が検出の分岐点であり、条件を満たせば Introspection・ネストクエリ・Mutation 分析など GraphQL 固有のテストが実行されることを確認した。
Aurora DSQL の公式 Rust コネクタ(SQLx)を実際に動かし、接続コードの簡素化と OCC リトライの実用性を検証する。デフォルト max_attempts=3 では高並行で不足するケースも確認した。
CloudWatch Query Studio(Preview)と OTel エンリッチメントを有効化し、AWS ベンダーメトリクスを PromQL で照会・アラーム作成するまでを検証。histogram 関数の必要性やタグベース横断クエリなど、Prometheus ユーザー向けの実践データを共有する。
Git Directory Generator でディレクトリ構造から dev/staging/prod の Application を自動生成。環境追加はディレクトリ push だけ、個別環境の変更は他に波及しない。ポーリング間隔が長い点に注意。
Capability Role に IAM ポリシーを1つ追加するだけで CodeCommit プライベートリポジトリからデプロイできる。URL typo と権限不足が同じエラーになる点と、権限修正後のリカバリに手動 refresh が推奨される点が落とし穴。
ECS Managed Instances の新機能 Managed Daemons を検証した。デーモンはアプリの18〜21秒前に起動し、ローリングデプロイは約5分でダウンタイムなしに完了する。
AWS Security Agent にソースコードを提供するとペンテストの検出数が5件→13件(documents)/28件(sourceCode)に増加。documents と sourceCode で処理パイプラインが根本的に異なることも判明した。
AWS Security Agent のオンデマンド・ペネトレーションテストを東京リージョンで検証。5つの既知脆弱性のうち4つを検出(偽陽性0件)、ビジネスロジック脆弱性も HIGH confidence で検出した。コストは約$136/回。
DevOps Agent の Generic Webhook を使い、CloudWatch アラーム → SNS → Lambda → Webhook で調査を自動起動するパイプラインを構築した。HMAC 署名の実装、アラーム発火から調査開始までの所要時間、同一 incidentId 送信時のリンク動作を検証する。
DevOps Agent の EventBridge 連携を検証。Investigation のライフサイクルイベントをキャプチャし、調査サマリを SNS で自動通知するパイプラインを構築した。IAM アクションプレフィックスや Lambda の boto3 バンドルなど、ドキュメントだけでは分からない実装上の注意点も記録する。
DevOps Agent の予防機能に複数パターンのインシデント調査履歴を与え、手動評価を実行した。生成された推奨事項の内容・カテゴリ・エージェント対応スペックの有無を確認し、予防提案の実態を明らかにする。
DevOps Agent のスキルを作成し、同一インシデントシナリオでスキルあり/なしの調査結果を比較した。調査時間が 164秒→64秒に短縮され、報告フォーマットがスキルの指示に従った構造化された形式に変化した。
AWS DevOps Agent を東京リージョンでゼロからセットアップし、インシデント自動調査と Chat 機能を検証した。CLI で66秒でセットアップ完了、Chat は stress-ng の根本原因を正確に特定した。
application.yml の設定変更と ApplicationRunner によるウォームアップで、Spring Boot アプリに Remote Query Cache Plugin を統合。ノードベースと Serverless の両構成で動作確認した。
AWS SDK for Rust の初回リクエスト900ms を DNS・TCP・TLS・API に分離計測。TLS ハンドシェイクが745ms で99%を占めた。接続ウォーミングで合計 Billed Duration を82%削減できる。
1時間の連続負荷でヒット率98.9%を確認。10分アイドル後もタイムアウト再発なし。公式ドキュメントの接続再利用推奨と合わせ、Serverless + ウォームアップが本番で使える条件を整理した。
ノードベース+TLS構成との比較で初回タイムアウトがServerless固有の問題と確定。ウォームアップ接続+5秒待機でCacheMonitorを回復させ、Serverlessの運用メリットを活かせることを実機検証した。
SAMデプロイのハマりポイント、LocalDurableTestRunnerによるローカルテスト、実行履歴の追跡方法を実体験ベースで整理。修飾付きARN必須の罠が最初の関門。
冪等性・DurableExecutionName・並行コールバック・タイムアウト設定を実機検証。「リプレイされる前提で設計する」が全BPの共通原則だと分かった。
AWS公式の不正検知デモをデプロイし、リスクスコア別の3分岐とサスペンド動作を実機検証。チェックポイント&リプレイでwait中の課金ゼロを確認した。
KEK で CVV 鍵を TR-31 エクスポートし、インポート後に同じ CVV2 が生成されることを確認。鍵素材の移動と KCV による同一性検証を Python(boto3)で実装する。
シリーズ全 3 回の検証で発見した Java SDK v2 のハマりポイントを整理。HMAC 未対応、enum 名の不一致、クラス名の混乱など 6 つの落とし穴と対処法。
TranslatePinData による PIN の平文を経由しない再暗号化と、CMAC によるデータ完全性検証を Java SDK で実装。アクワイアラ処理の核心である鍵の中継を検証する。
カード発行者の 3 つの主要な暗号処理を Java SDK で実装。GeneratePinData が PEK と PVK の 2 鍵を同時に要求する仕組みなど、複数の専用鍵が協調する決済処理の実態を検証する。
Java SDK で 4 種類の決済用暗号鍵を作成・使用し、用途外操作のエラーから TR-31 KeyUsage による用途分離を体験する。KMS に慣れた開発者が最初に戸惑うポイントを整理。
Amazon ECS の NLB 向け Linear / Canary デプロイを実際に構築・計測。NLB 固有の10分遅延が各ステップに累積し、ステップ数がデプロイ時間のボトルネックになることを実測データで確認した。
Aurora PostgreSQL の新機能 Express Configuration を検証。VPC 不要で約30秒起動、Internet Access Gateway 経由の TLS 1.3 接続、IAM 認証デフォルトの挙動を実測データとともに共有する。
AWS Advanced JDBC Wrapper 3.3.0 の Remote Query Cache Plugin を ElastiCache for Valkey Serverless で検証。初回接続で必ずタイムアウトが発生し CacheMonitor が SUSPECT 状態に陥る問題を発見。ノードベースでは発生しない Serverless 固有の課題を整理した。
AWS Advanced JDBC Wrapper 3.3.0 の Remote Query Cache Plugin を Aurora PostgreSQL(100万行)+ ElastiCache for Valkey(ノードベース)で検証。749msの集計クエリが2msに短縮。TTL による整合性制御も期待通り動作した。
EKS Pod Identity の新機能セッションポリシーを検証。IAM ロールの権限をアソシエーション単位で動的に制限でき、ロール数の爆発を防げる。セッションタグとの排他制約やポリシーサイズ上限など、採用前に知るべきトレードオフも整理した。
Network Firewall Proxy の集中型構成を検証。PrivateLink エンドポイント経由のクロス VPC アクセスで SourceVpc による VPC 別ポリシー制御が機能する一方、SourceIp は NAT されて使えないことを確認した。
Network Firewall Proxy の TLS インターセプトを ACM Private CA で有効化し、PreRequest フェーズの HTTP メソッド制限と PostResponse フェーズの Content-Type ブロックを検証した。PCA 設定の落とし穴と Preview 固有の制約も共有する。
AWS Network Firewall Proxy(Public Preview)を検証。NAT Gateway 統合のセットアップから PreDNS フェーズのドメインフィルタリング、ソースベース制御、DNS スプーフィング耐性まで実機で確認した。
AWS JDBC Wrapper を 2.6.4 → 3.2.0 にアップグレードし、PostgreSQL と MySQL で Blue/Green Switchover を再検証。MySQL の接続失敗はタイミング依存(0〜1回)であることが判明。3.x 移行の判断基準をまとめる。
Aurora MySQL で Blue/Green Switchover を検証し、PostgreSQL との違いを比較。IN_PROGRESS フェーズが3秒と短い一方、BG プラグインでも0〜1回の接続エラーが発生する可能性がある。HikariCP の旧 Writer 接続問題はエンジン共通。Plain JDBC は復旧後も旧ホストに31秒間接続し続けた。
Blue/Green Switchover 中のダウンタイムを Plain JDBC・HikariCP リトライ・AWS JDBC Driver BG プラグインの3パターンで比較。プラグインは検証した400クエリ中0回の接続失敗。HikariCP は旧 Writer に接続し続ける落とし穴も発見した。
Aurora PostgreSQL のフェイルオーバーと Blue/Green Switchover のダウンタイムを実測比較。フェイルオーバーは12回の接続失敗(2回に分離)、Blue/Green Switchover は約26秒・6回の接続失敗。DNS TTL 60秒の影響も検証した。
EKS アップグレードを AWS ベストプラクティスに準拠して実施。Cluster Insights、非推奨 API スキャン、PDB による可用性保証まで、事前検証から事後確認までの全工程を記録する。
eksctl の YAML 設定ファイルで ArgoCD Capability を作成し、サンプルアプリのデプロイまでを実施。AWS CLI 版との違いや CloudFormation 経由の挙動を整理する。
EKS Capabilities として提供される ArgoCD Capability を AWS CLI で有効化し、サンプルアプリのデプロイまでを実施。Identity Center のリージョン指定やアクセスポリシーの関連付けなど、実際に踏んだ落とし穴も共有する。
EKS Auto Mode 環境で ClusterNetworkPolicy と ApplicationNetworkPolicy を検証。ドメイン名ベースの Egress フィルタリングにより、特定の外部サービスのみへの通信を許可する多層的なアクセス制御を実現した。
Powertools for AWS Lambda の getMetadata() を使った Same-AZ ルーティングを TypeScript で実装・検証。キャッシュ動作や clearMetadataCache() の挙動を実測データとともに共有する。
Lambda の新しい AZ メタデータエンドポイントを検証。ElastiCache Valkey クラスターへの同一AZ / クロスAZ接続レイテンシを実測し、Same-AZ ルーティングの効果を定量的に示す。
CloudWatch Vended Logs で Auto Mode の4コンポーネント(Compute/Block Storage/Load Balancing/IPAM)のログを収集・分析する手順を検証。Logs Insights クエリでスケールアップからスケールダウンまでの内部動作を時系列で追跡する。
eksctl一発でAuto Modeを有効化したEKSクラスターを作成する手順を解説。ノードグループ管理が不要になるAuto Modeの仕組みと、従来方式との違いを整理する。
Lambda Managed Instances の Rust サポートを検証。run_concurrent で8並列処理を実現し、Init Duration 2.9msでコールドスタートを実質排除。通常Lambdaとの使い分けを考察する。
Step・Wait・Callback・Parallel の4パターンを AWS CLI で検証。チェックポイント&リプレイの挙動、Step Functions との使い分けを実測データとともに整理する。
~/.aws をマウントしても SSO トークンの解決に失敗する。boto3 から一時認証情報を取得して環境変数で渡す方法が確実。
AWS Agent Registry で AGENT_SKILLS レコードを作成する際、CLI では skillMd(dict 型)、REST API では skillMarkdown(文字列型)。descriptorType も SKILL ではなく AGENT_SKILLS。
AWS Agent Registry で MCP レコードを作成する際、name の reverse-DNS 形式、description の 100 文字制限、schemaVersion の必須指定でバリデーションエラーになる。ドキュメントの Minimal example だけでは分からない。
Aurora PostgreSQL の Blue/Green Switchover 中、ドキュメントでは AdminShutdown エラーが記載されているが、RDS Proxy 経由では SSL connection has been closed unexpectedly が発生する。エラーハンドリングの設計時に注意が必要。
EKS Auto Mode で作成したクラスターにマネージドノードグループを追加すると NodeCreationFailure (cni plugin not initialized) で失敗する。vpc-cni、kube-proxy、coredns アドオンの手動インストールで解決する。
S3 Files に必要な amazon-efs-utils v3.0.0 を公式インストーラースクリプトでインストールしようとしたが、v2.x が既に入っていると v3.0.0 にならなかった。未インストール状態で実行すれば解決する。
認証情報を提供しなくても、Agent は SQL Injection でデータベースからクレデンシャルを抽出し、TOTP コードを推測して管理者としてログインした。ドキュメントの「認証情報なしでは公開ページのみテスト」は攻撃チェーンによる突破を除外していない。
Security Agent の SCANNER は JSON レスポンスからリンクを辿らない。API-only アプリをテストする場合は HTML の <a> タグやフォームを含むエントリポイントが必要。
Code Remediation を有効にしたペンテストで Unable to reach GitHub repository エラー。Agent のテスト環境は Agent Space のサブネットで起動し、GitHub にアクセスするためインターネット接続が必要。
create-pentest の vpcConfig.subnetArns は配列だが、2つ以上指定すると 'Maximum of 1 subnet id is allowed' エラーになる。EC2 と同じサブネットを1つだけ指定する。
Target Domain の HTTP Route 検証で UNREACHABLE になっても問題ない。Private VPC ドメインの場合、UNREACHABLE がペンテストに使用可能な正常状態。ドキュメントに記載あり。
ECS Managed Daemons が起動しない場合、インスタンスプロファイルに AmazonECSInstanceRolePolicyForManagedInstances をアタッチしているか確認する。従来の AmazonEC2ContainerServiceforEC2Role では動かない。
Security Agent の Application は1アカウント1つではなく1リージョン1つ。東京で作成した Application は us-east-1 からは見えず、リージョンごとに create-application が必要。
Security Agent のペネトレーションテストで PREFLIGHT が AccessDeniedException で即失敗する場合、サービスロールに logs:CreateLogGroup 権限が不足している。公式ドキュメントに記載がない。
AWS Security Agent は13カテゴリの攻撃を並列実行するため、Flask 開発サーバーのようなシングルスレッドサーバーは HTTP 503 でクラッシュする。gunicorn 等のマルチワーカー構成が必要。
sourceCode を使ったペンテストが東京リージョンで2回連続 INTERNAL_ERROR になったが、us-east-1 では同じ設定で正常に動作した。documents は東京でも問題なし。
create-pentest の assets.sourceCode に生ファイルを指定すると「Source code S3 URL must point to a ZIP archive」エラーになる。documents は生ファイルを直接指定可能。
sourceCode は CODE SCANNER(BUSINESS LOGIC / IMPORTANT FLOWS / FRAMEWORKS)で体系的な静的分析を実行し PENTEST 前に脆弱性を検出する。documents は DOCUMENTS タスクで文脈処理するのみ。
verify-target-domain CLI コマンドはパブリック経由で検証するためプライベート DNS は UNREACHABLE になるが、VPC Config 経由のペンテストでは PREFLIGHT 中に別途 VPC 内部検証が行われる。
AWS DevOps Agent の IAM アクションプレフィックスは devops-agent ではなく aidevops。boto3 のクライアント名は devops-agent だがポリシーでは aidevops:* を指定する。AWS CLI は v2.34.20 以降で対応。
ドキュメントには Duplicate messages are deduplicated と記載されているが、実際には同一 incidentId の Webhook は既存の Investigation にリンクされ、リンク先の Investigation が再び In Progress に遷移する動作が確認された。
Lambda の Python マネージドランタイムに含まれる boto3 が古く、DevOps Agent などの新サービスのサービスモデルがない場合がある。PYTHONPATH=/var/task を設定してバンドル版 boto3 を優先させることで解決する。
素の JDBC では不要だったウォームアップが、HikariCP のコネクションプール初期化により Spring Boot 環境では有効。初回リクエストが 2443ms → 264ms に改善した。
Lambda で AWS SDK for Rust のクライアントを Init で初期化しても、初回の API 呼び出しに約900msかかる。分離計測の結果、TLS ハンドシェイクが745msで99%を占めていた。
公式ドキュメントではアイドルタイムアウトが非公開だが、実機検証で10分のアイドル後もキャッシュ接続が維持されることを確認した。
「初回リクエストは通常より高レイテンシになる」ことが AWS 公式トラブルシューティングガイドの Reuse connections セクションに明記されている。
未修飾の関数名で invoke すると InvalidParameterValueException になる。$LATEST を付けるか publish-version したバージョン番号を指定する。
コールバック待ちでサスペンドしていても get-durable-execution のステータスは RUNNING。実行履歴の CallbackStarted イベントで判断する。
AmazonECSInfrastructureRolePolicyForLoadBalancers の ARN は service-role/ なし。他の ECS ポリシーと同じパターンで書くと AttachRolePolicy が失敗する。
ECS サービスの再作成なしに、update-service の --deployment-configuration で Linear と Canary を動的に切り替えられることを確認した。
aws elasticache create-cache-cluster --engine valkey が InvalidParameterValue で失敗する。Valkey エンジンは CreateReplicationGroup API が必須だった。
Aurora Express Configuration のクラスターで StorageEncrypted: false が返るが、公式ドキュメントには RDS サービス所有キーで暗号化されていると明記されている。API レスポンスとドキュメントの記述が矛盾する例。
セッションポリシー起因の拒否は「no session policy allows」、IAM ロール起因は「no identity-based policy allows」とエラーメッセージで区別できる。IAM の権限トラブルシューティングが格段にやりやすい。
TLS インターセプトなしでも HTTP の absolute-form リクエストに対しては PreRequest フェーズの HTTP メソッドやヘッダーの検査が可能。ドキュメントの記述は HTTPS に限定した話だった。
PrivateLink エンドポイント経由のクロス VPC アクセスでは request:SourceIp がエンドポイントの ENI IP に NAT される。SourceVpc や SourceVpce で代替する必要がある。
カスタムパラメータグループを使っている Aurora PostgreSQL クラスターでメジャーバージョンアップグレードを伴う Blue/Green デプロイメントを作成すると InvalidParameterCombination で失敗する。Green 用のパラメータグループを明示的に指定する必要がある。
デフォルトパラメータグループのまま create-blue-green-deployment を実行すると SourceClusterNotSupportedFault で失敗する。PostgreSQL は rds.logical_replication = 1、MySQL は binlog_format = ROW を設定し、全インスタンスの再起動が必要。
Blue/Green Switchover 中に全接続が切断された後、HikariCP が DNS キャッシュ経由で旧 Writer に再接続してしまう問題。書き込みワークロードでは read-only transaction エラーが発生する。PostgreSQL でも MySQL でも同じ挙動。
aws-targets.json に us-east-1 を指定しても、AWS_REGION=ap-northeast-1 が設定されていると ap-northeast-1 にデプロイされる。CLI のドキュメントに明記されていない挙動。
eksctl create cluster が AlreadyExistsException で失敗する場合、DELETE_FAILED 状態の CloudFormation スタックが残っている可能性がある。手動で削除すれば解決する。
EKS Auto Mode(Karpenter)は空ノードを DisruptionTerminating: Empty で自動ターミネートする。コスト最適化のための正常な挙動。
EKS Cluster Insights は kubelet version skew やアドオン互換性の問題を自動検出する。kubent/pluto と併用するとアップグレード判断が楽になる。
hostname だけだと同一 AZ 内の別ノードに分散するだけ。topology.kubernetes.io/zone を追加して AZ 間分散を保証する。
AgentCore Runtime が VPC 内に作成した ENI は destroy 後も数時間 in-use のまま残ることがある。サブネットや VPC の削除は ENI が available になってから再試行する。
Identity Center はグローバルに見えるが実体は特定リージョンにある。EKS Capabilities の idcRegion を間違えると AccessDeniedException になる。
Foundation Model の ARN は arn:aws:bedrock:region::foundation-model/... のようにアカウント ID が空。サンプルの ACCOUNT_ID プレースホルダーをそのまま置換すると権限が効かない。
EKS Capabilities が自動作成するアクセスエントリにはデプロイ権限がない。associate-access-policy で別途ポリシーを関連付けないと ArgoCD の同期が失敗する。
公式ドキュメントにはPython/TypeScript両方のPowertoolsコード例があるが、Python版3.25.0にはlambda_metadataモジュールが未収録でModuleNotFoundErrorになる。TypeScript版は@aws-lambda-powertools/commons 2.32.0で対応済み。
bedrock-agentcore-control(作成・削除)と bedrock-agentcore(セッション操作・コード実行)を混同すると AttributeError になる。
Bedrock AgentCore PolicyでCedar permitにwhen句を付けずに作成するとCREATE_FAILEDになる。FAIL_ON_ANY_FINDINGSの自動推論が原因。
Bedrock AgentCore GatewayはハイフンのみでPolicy Engineはアンダースコアのみ。同じプレフィックスを使い回すとValidationExceptionになる。
AWS CLIはデフォルトで~/.aws/以下を使うが、AWS_CONFIG_FILEとAWS_SHARED_CREDENTIALS_FILEを設定するだけでXDG準拠にできる。
update-function-configuration で後から追加しようとすると CapacityProviderConfig isn't supported for Lambda Default functions エラーになる。
Invoke API で Tail を指定するとエラーになる。代わりに CloudWatch Logs の platform.report イベントから Duration を取得できる。
EC2 FullAccess や AdministratorAccess をアタッチしても InsufficientRolePermissions で失敗する。専用のマネージドポリシーが必要だった。
batch-update-memory-records の timestamp 必須や、memory-strategies のキー名 semanticMemoryStrategy / namespaceTemplates など、ドキュメントと AWS CLI の差異をまとめた。
ドキュメントの一部に CheckpointDurableExecutions(複数形)と記載があるが、実際に必要なのは単数形。複数形だと権限エラーになる。
import { DurableContext } from '@aws/durable-execution-sdk-js' は SyntaxError になる。withDurableExecution のみ import し、型は推論に任せる。