kakakakakku blog

Weekly Tech Blog: Keep on Learning!

CDK

AWS CDK で AWS Step Functions から Amazon SageMaker Processing を .sync で実行する

AWS Step Functions から別のサービスを直接統合するときに「最適化された統合 (Optimized integrations)」と「AWS SDK 統合 (AWS SDK integrations)」という選択肢がある.例えば AWS Step Functions から Amazon SageMaker Processing を実行する場合,AWS…

AWS CDK で外部パッケージを含む Python の AWS Lambda 関数をデプロイする

AWS CDK で外部パッケージを含む Python の AWS Lambda 関数をデプロイする場合,requirements.txt から依存関係を解決して,デプロイするアセットとして ZIP にまとめる(バンドルする)必要がある 今回は aws-cdk-lib.aws_lambda module と @aws-cdk/aws-l…

AWS CDK で Amazon EventBridge Pipes の「ターゲット入力トランスフォーマー」を設定する

AWS CDK で Amazon SQS x Amazon EventBridge Pipes x AWS Step Functions の構成を設定する流れは前にまとめた kakakakakku.hatenablog.com 前にまとめた設定では Amazon SQS キューに登録したメッセージをデフォルト設定のまま Amazon EventBridge Pipes …

AWS CDK の DockerImageAsset と cdk-ecr-deployment でビルドしたイメージを Amazon ECR に保存する

AWS CDK で「Dockerfile をビルドして Amazon ECR リポジトリにイメージを保存する」選択肢として DockerImageAsset と cdklabs/cdk-ecr-deployment を紹介する❗️ aws_ecr_assets.DockerImageAsset を使う まず,1番簡単なのは aws_ecr_assets.DockerImageAs…

Dependabot で AWS CDK を自動的にアップデートしよう

Dependabot version updates を使うと package.json に指定しているパッケージのアップデートを自動化できる❗️設定は比較的簡単で package-ecosystem に npm を設定して,あとは必須の directory と schedule.interval でアップデートの対象ディレクトリとス…

AWS CDK の cdk import コマンドを使って既存リソースをインポートする

AWS CDK の cdk import コマンドを使って既存リソースをインポートする(取り込む)手順を試してみた❗️何かしらの理由があって Infrastructure as Code (IaC) に組み込めず,そのままプロダクションにリリースされてしまうということもあると思う. Amazon S…

AWS CDK で AWS CodeBuild の GitHub Webhook を設定する

AWS CodeBuild で GitHub リポジトリにプッシュをしたら Webhook 経由で自動的にビルドを開始する構成を AWS CDK で実装してみたちなみに AWS CDK で AWS CodeBuild の Webhook を設定するだけだと以下のように Failed to call CreateWebhook というエラーが…

AWS CDK でリソースに一括でタグを設定する

AWS CDK を使っていてリソースに「一括でタグを設定したい」と思ったら Tags.of(SCOPE).add() を使えば簡単に設定できるTags.of に指定する SCOPE は IConstruct インタフェースを実装していれば良くて App も Stack も指定できる docs.aws.amazon.com App(…

AWS CDK で Amazon CloudWatch Alarm の AWS Lambda アクションを設定する

2023年12月のリリースで Amazon CloudWatch Alarm から直接 AWS Lambda 関数を呼び出して,何かしらのアクション(復旧処理など)を実行できるようになった❗️今までは Amazon SNS と組み合わせて実行する必要があって,今までよりもシンプルに統合できるよう…

AWS CDK で Amazon EventBridge Pipes(SQS ソース・Step Functions ターゲット)を設定する

AWS CDK で Amazon EventBridge Pipes を設定する場合,AWS CloudFormation に沿った L1 Construct の CfnPipeを使う必要がある.今回はソース(Amazon SQS キュー)・ターゲット(AWS Step Functions ステートマシン)で Amazon EventBridge Pipes を構成す…

AWS CDK で Amazon EventBridge Pipes(SQS ソース・Lambda エンリッチメント・ECS ターゲット)を設定する

AWS CDK で Amazon EventBridge Pipes を設定する場合,AWS CloudFormation に沿った L1 Construct の CfnPipeを使う必要がある.今回はソース(Amazon SQS キュー)・エンリッチメント(AWS Lambda 関数)・ターゲット(Amazon ECS タスク)で Amazon Event…

AWS CDK でローカルファイルを Amazon S3 にアップロードできる aws_s3_deployment

AWS CDK で aws_s3_deployment モジュールを使うとローカルにある ZIP ファイル・ディレクトリなどを Amazon S3 にアップロードできる❗️使いどころとしては,静的ファイル・設定ファイル・データセットなどのアップロードも AWS CDK のワークフローに含めて …

AWS CDK で VPC IP Address Manager (IPAM) を設定する

2023年11月から VPC IP Address Manager (IPAM) に「無料枠利用枠」が追加されて Public IP Insights など一部の機能が無料で使えるようになった aws.amazon.com AWS アカウント個別に VPC IP Address Manager (IPAM) を有効化する場合,マネジメントコンソ…

AWS CDK のアルファモジュールで Amazon EventBridge Scheduler を設定する

AWS CDK で Amazon EventBridge Scheduler を設定する場合,現状では L2 Construct がなく AWS CloudFormation に沿った L1 Construct の CfnSchedule を使う必要がある.以下のドキュメントにも There are no official hand-written (L2) constructs for th…

AWS CDK で NLB にセキュリティグループを設定する

2023年8月にリリースされた NLB (Network Load Balancer) に対するセキュリティグループ設定のサポートは,今まで NLB のデメリットとして話題に上がることも多かったので,非常に期待されていたアップデートだと思う.アクセス制御を細かく行えるようになり…

AWS CDK で AWS Lambda 関数の高度なログ制御機能(フォーマット・ログレベル・ログ集約)を設定する

2023年11月にリリースされた AWS Lambda 関数の「高度なログ制御機能 (advanced logging controls)」によって,大きく3種類の追加設定ができるようになったどれも AWS Lambda 関数を多く運用しているチームになどに嬉しいアップデートではあるけど,個人的に…

AWS CDK で ログクラス(低頻度アクセス)の Amazon CloudWatch Logs ロググループを追加する

2023年11月にリリースされた Amazon CloudWatch Logs ロググループのログクラス(低頻度アクセス: Infrequent Access)を使うとログの取り込みコストを 50% 削減できる❗️アカウントのコスト削減をするときに必ずと言っても良いほどに話題に上がる Amazon Clo…