AWS
導入: リソースベースポリシーとプリンシパル AWSにおいてアクセス元を識別するための仕組みとしてプリンシパルがある。 IAMポリシーにおいてリソースベースのポリシーを定義するとき、さまざまな種類のプリンシパルから指定することができる。 docs.aws.ama…
まさにこれに遭遇した。 dev.classmethod.jp S3バケットポリシーにIAMユーザのアクセス許可を付与していた。 IAMユーザを削除したが、S3バケットポリシーの修正もれが生じていた。 S3バケットポリシーはterraformで管理していたが、IAMユーザの指定ではIAMユ…
AWS LambdaのNode.js 16ランタイムは 2024年6月に廃止がアナウンスされている。 (Node.js 16 LTS自体は公式には2023年11月にEOLを迎えている)。 できるだけ早めに Node.js 18 or 20にアプデートしたい。 docs.aws.amazon.com AWS Lambda固有の事情として、No…
AWS のCloudTrailログにおいてイベント名は基本的にAPI名と一致する。 例えば、S3に関するCloudTrailログであればイベント名は ListBucketsやGetBucketAclなど。 これはAWSドキュメントのAPI Referenceなどに記載の名前と一致する。 docs.aws.amazon.com 一…
AWS Lambdaの go1.xランタイムのサポートが切れるのでアップデートする。 aws.amazon.com provided.al2023の選択 ランタイムアップデートについてはAWS LambdaのGo言語向けドキュメントにまとまっている。 以下以外のドキュメントでは Amazon Linux 2023 (pr…
Step Functionsにはリビジョン・バージョン・エイリアスの概念がある。 単にStep Functionsを更新するとリビジョンが更新されるが、特定のリビジョンにバージョンやエイリアスを発行することもできる。 docs.aws.amazon.com (公式ドキュメントより) Step Fun…
ECS fargateのログドライバでawslogsを利用するとき、awslogs-groupおよびawslogs-stream-prefixを指定する必要がある。 特にawslogs-stream-prefixはECS on EC2の場合は任意だが、ECS on fargateの場合は必須になるので注意が必要。 docs.aws.amazon.com ま…
PythonランタイムのLambda関数を作成する場合には依存パッケージを特定ディレクトリに出力したい。 出力したディレクトリをzipファイルに含めることで依存パッケージを利用することができる。 docs.aws.amazon.com このPythonプロジェクトでパッケージ管理に…
VPC内にLambda関数を構築する場合、プライベートサブネットを利用することが推奨されている。 インターネットアクセスが必要な場合はNAT経由でアクセスしろとある。 アカウントの VPC に関数を接続すると、VPC からアクセス権が付与されない限り、関数はイン…