[小ネタ]AWS CloudTrail Lakeの外部イベント統合で使うエンドポイントを確認してみた
こんにちは、臼田です。
みなさん、ログ集めてますか?(挨拶
今回はエンドポイントマニア向けの小ネタです。
概要
先日AWS CloudTrail LakeがCloudTrail以外の外部のログを取り込めるようになりました。
CloudTrail以外では、AWS Configが取り込みできるようになっていましたが、他のAWSのログを差し置いて外部のログを取り込めるようになってなかなか衝撃的なアップデートでした。
で、このアップデートに伴ってログ取り込み用のAPIが実装されたことが上記ブログで解説されています。
AWS CLI もアップデートされていて、新たに
cloudtrail-data
というサブコマンドが提供されています。 この中のput-audit-events
相当の API が上記コードでは実行されていました。
新しくcloudtrail-data
が出てきたということで、「エンドポイントが増えたのでは?」と思い調べてみることにしました。
調べてみた
AWS CLIリファレンス
こちらがブログに貼ってあったので確認してみました。
「cloudtrail-data」で個別にページが作られていて、今の所APIはput-audit-events
のみでした。ただここにはエンドポイントが別れているかの記述が無かったので、別のところを調べに行きました。
APIリファレンス
上記からリファレンスに行くと左上は「AWS CloudTrail」とだけなっています。しかしActionは「PutAuditEvents」だけなので、何かがおかしいです。
1階層上に上がるとここは既存のものと別に「CloudTrail-Data API Reference」って書いてあります。一応APIリファレンスが別れていることが確認できましたが、エンドポイントはどこにも書いてませんでした。
エンドポイント一覧
「よく考えたらエンドポイント一覧見ればいいや」と気づいて見に行きました。
しかし、こちらは英語表示にしても、CloudTrailのページしかなく、Endpoint欄の記載も特に増えていませんでした。これはエンドポイントは一緒なのか…?
動作確認
結局確証が得られなかったので、実際の動きを見ることにしました。CloudShellを立ち上げて、適当にファイルを準備して(参照したブログでやり方書いてあるので参考にしています)、下記コマンドを実行します。
[cloudshell-user@ip-10-2-93-140 ~]$ aws cloudtrail-data put-audit-events --channel-arn a --audit-events file://hoge.json --debug …省略… 2023-03-01 13:50:16,628 - MainThread - botocore.auth - DEBUG - CanonicalRequest: POST /PutAuditEvents channelArn=a content-type:application/json host:cloudtrail-data.ap-northeast-1.amazonaws.com x-amz-date:20230301T135016Z …省略… An error occurred (InvalidChannelARN) when calling the PutAuditEvents operation: The specified channel ARN is not a valid channel ARN.
--debug
をつけるとHTTPのリクエストが確認できます。
正解はcloudtrail-data.ap-northeast-1.amazonaws.com
でした。ちゃんと分かれていましたね。
まとめ
新しいサービスとかならエンドポイント分かれているのは当然ですが、今回みたいなパターンだと気になりますよね?
動かすのめんどくさいなーと思っていろいろ調べましたが、やっぱり動かすのが一番早いですね。
ドキュメントたちはそのうち反映されていると思います。