すきま風

勉強したことのメモとか

AWS

AWS SDK for JAVA V2 でS3にMultipart Uploadする

検索してもAWSのサンプルコード以外にヒットしないので需要があるのかわからないけどコードを書いたので記事にします。 localstack で確認していますが、AWSでは動かしていません テスト環境 Library Version Kotlin 1.4.21 Spring Boot 2.4.2 AWS SDK for …

aws Fargate × golangでIAM Database認証をする

仕事で必要になったのでサンプルを書きました。FargateでIAM Database認証をしているサンプルをネット上で見つけることができなかったことと、awsに掲載されているコードのコピペでは動かなかったので2日くらいハマっていました。誰かの助けになればと思いま…

Cloud Native Buildpacksのrun:base-cnb に curlを入れたい

はじめに この記事内容は古いので、こちらを参考にしてください。 Spring Boot の bootBuildImage で custom runImageを利用する - 秋の魔法使い 以下、せっかく書いたので残しておくもの AWSのECSでサービスディスカバリを構築する場合、 タスク定義にhealt…

goでfile splitterを実装する あるいは AWS ECSによるbatch fan-out

仕事で↓の画像みたいな仕組みを作りました。 fan-out S3にアップロードしたcsv fileをLambdaで複数ファイルに分割して再度アップロードし、それぞれのs3 eventを別のLambdaで補足して、分割したファイルごとにFargateによるバッチ処理を起動してDynamoDBにデ…

AWS Fargate 1.4.0 にUpdateしたらVPCPeeringで通信できなくなった

※ 詳細な調査をしていないので、参考情報程度にしてください アプリケーションをFargate 1.4.0にアップデートしたらVPCPeering接続しているVPCとの通信で落ちるようになったのでネットワークに関するアップデート情報を調べた Fargate 1.4.0 から Jumbo Fra…

Lambdaをどう管理する?

Terraformでインフラコードを管理しているとLambdaの管理は割と悩ましい問題になる。 Terraformで管理したいのはインフラコードであってアプリケーションコードではないのだが、 TerraformでLambdaのresourceを定義するためにはアプリケーションコードが必要…

Docker Container の軽量化 あるいはAWS ECS Taskの起動速度改善

以前の記事 でPHP ApplicationのDockerfileを書きましたが Apacheモジュールバージョンではなく fpmで運用したくなったので書き直します。 また、せっかくなのでdebian baseとalpine baseを用意して サイズの比較と、実際にAWS ECSでの起動速度をカジュアル…

AWS Fargate × Firelens (Fluentd) でGoogle BigQueryとCloudWatch LogsにLogを連携する

記事の要点 Fargateで起動しているApplication LogをBigQueryとCloudWatch Logsに連携する Table Createをしたいので、Fluent-bitではなくFluentdを利用する Fluentd用のDockerfile, custom.conf を実装する

serverless-artilleryでIP制限のあるAPIの負荷テストを行う

仕事で負荷テストツールの選定をしているので、得た知見をブログに書いていこうと思います。 ちなみに、今まで負荷テストは人任せで、ツールはほとんど触ったことがありませんでした serverless-artillery serverless-artillery は負荷テストツールのArtill…

Terraformでターゲット追跡スケーリングポリシーのAuto Scalingを実装する

AWSメモ記事でゲス。 AWSのECSにおけるオートスケールは、EC2インスタンスのオートスケールと、インスタンス内のコンテナのオートスケールのコンテキストがありますが、 これはFARGATEでの運用を考えて書いたものなのでコンテナをターゲットにしています。参…