kakakakakku blog

Weekly Tech Blog: Keep on Learning!

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

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

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…

Terraform で「最新の」Amazon ECS タスク定義を追跡できる aws_ecs_task_definition の track_latest オプション

Terraform で Amazon ECS タスク定義を作りつつ,アプリケーションのライフサイクルとして GitHub Actions などの「Terraform 以外で」イメージタグを差し替えて Amazon ECS タスク定義を更新(正確には更新ではなくリビジョン追加)する運用を選択すること…

位置情報や地図を仕事で使う前のキャッチアップに最適な「現場のプロがわかりやすく教える位置情報エンジニア養成講座」を読んだ

「現場のプロがわかりやすく教える位置情報エンジニア養成講座」を読んだ 今まで GIS: Geographic Information System など位置情報を取り扱うための技術的な知識や経験がなく,地図アプリケーションを使うと「便利だな〜w」という感想しか出てこないような…

Habitify API で習慣データを取得しよう

2024年から Habitify で個人的な習慣化の管理をしていて,もうとにかく便利で毎日の習慣化を支えてもらっている❗️朝活・読書・サプリメントなどを記録しつつ,Habitify のチャレンジ機能を使って毎日プランクを続けていたりもするHabitify は無料でも十分使…

GitHub Actions から AWS CodeBuild のビルドを実行できる「aws-actions/aws-codebuild-run-build」

AWS CodeBuild Run Build for GitHub Actions (aws-actions/aws-codebuild-run-build) を使うと GitHub Actions から AWS CodeBuild のビルドを実行できる github.com シンプルに AWS CodeBuild のビルドを実行するだけなら project-name パラメータを指定す…

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

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

Python の独自パッケージを作って AWS CodeArtifact で管理する

開発チームで共通的に使うコードを独自ライブラリ(パッケージ)にして管理したい場面はあると思う.今回 AWS CodeArtifact で管理する流れを試す❗AWS CodeArtifact は npm / pip / Maven など複数のパッケージマネージャーをサポートしているけど,今回は p…

AWS Lambda 関数 (Python) の import 時間を計測しよう / -X importtime オプション or 環境変数 PYTHONPROFILEIMPORTTIME

AWS Lambda の初期化フェーズ (INIT) は「10秒」に制限されている.例えば,AWS Lambda 関数の「ベストプラクティス」を意識してハンドラ外に実装した処理が長くなったり,AWS Lambda 関数 (Python) で機械学習系のライブラリなどを多く import しようとして…

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

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

AWS CodeBuild の buildspec.yml でコマンドに改行を含める

AWS CodeBuild の buildspec.yml でコマンドに改行を含める場合は以下のように記述できる❗ コマンドのオプションが多かったりすると改行したくなることもあると思う \( 'ω')/ 1. シンプルに改行する バックスラッシュ \ を含めずシンプルに改行すれば OK …

GitHub Actions で [skip ci] のような「カスタムメッセージ」でワークフローを制御する

GitHub Actions を使っていて,コミットはプッシュするけどビルドはまだ実行したくないというときに [skip ci] をよく使っている.GitHub Actions では2021年にサポートされていて,他にも [no ci] や [skip actions] などのメッセージも使える docs.github.…

トラフィックの急増に耐えられるソリューション!? Virtual Waiting Room on AWS を試した

AWS

ウェブサービスのトラフィックが急増して障害が発生してしまうことはあると思う.そういうときにリクエストを一時的にバッファリングして,適切に入場制限をする仕組みとして「Virtual Waiting Room(仮想待合室)」という仕組みがある.実際にショップ・病…

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(…

Cyber-Dojo で Fizz Buzz の次におすすめするエクササイズ5選

環境構築に悩むことなくペアプログラミング・モブプログラミングの練習ができるので「Cyber-Dojo」をよく使っていて,モブプログラミング未経験のチームに導入を支援するときにも使っている Cyber-Dojo には数年前に紹介した「結果予測機能」もあってテスト…

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

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

Terraform の count で制御したリソースを one 関数で output する

Terraform で count Meta-Argument を if のように使ってリソースを作るかどうかを制御できるという Tips がある.リソース間で参照するときは,同じく count で制御しつつ,例えば aws_iam_user.kakakakakku[0].name のようにインデックスを指定できるけど…

Amazon Bedrock のユースケースに実践的に入門できる「Amazon Bedrock Workshop」

Amazon Bedrock で基盤モデル (Foundation Models) を実践的に活用する流れを体験できる「Amazon Bedrock Workshop」を実施した❗️Amazon Bedrock をマネジメントコンソールの playground で試すのは簡単だけど,Python (boto3) でどう実装するのかというコー…

2023年の振り返りと2024年の抱負

2023年の振り返り 技術を学び続けた 2019年から5年連続で「幅広く技術を語れるように学び続ける」を年間目標にしていて,さらに2023年は「実戦投入力」を意識することも追加していた.後ほど紹介するけど,2023年は kakakakakku blog に年間100記事書くこと…

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…

朝活 振り返り(2023年)

2023年2月から「朝活」を習慣化できるように取り組んでいて,2023年の年末まで10ヶ月半ほど続けられたので簡単に振り返っておく 本当に朝活をはじめて良かったと思うし,2023年のインプット・アウトプットは朝活に支えられていたと言えるほどでもある❗️朝活…

カックマイクラ実況 YouTube 振り返り(2023年)

2023年7月に YouTube チャンネル「カックマイクラ実況」を作って,仕事と並行して「6ヶ月間」ほぼ毎週動画を1つ企画・収録・編集・公開してみた❗️毎週テックブログも書きながら動画も公開して,我ながら楽しく頑張れたと思う.簡単に振り返っておく.ぜひチ…

Amazon S3 のマルチパートアップロード・署名付き URL・Transfer Acceleration を組み合わせてファイルをアップロードするソリューション

Amazon S3 バケットにサイズの大きなファイルをアップロードするソリューション aws-samples/amazon-s3-multipart-upload-transfer-acceleration を試した❗️このソリューションは Amazon S3 の機能「マルチパートアップロード」と「署名付き URL」と「Transf…

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) を有効化する場合,マネジメントコンソ…

リモートスキーマ・アクション・イベントを体験できる!Hasura のチュートリアル「Backend Tutorial (Python)」

Hasura のチュートリアルはとても充実していて,今まで GraphQL を学ぶ「GraphQL Tutorial」と Hasura を学ぶ「Hasura GraphQL Tutorial」を実施した \( 'ω')/ どちらもおすすめ kakakakakku.hatenablog.com kakakakakku.hatenablog.com 今回は Hasura と…

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 のデメリットとして話題に上がることも多かったので,非常に期待されていたアップデートだと思う.アクセス制御を細かく行えるようになり…