CDK
LLMアプリ開発プラットフォームのDifyでは、ワークフローのコードブロックでPythonコードを実行できます。 この記事では、このコード内でboto3やnumpyなど任意のライブラリを呼び出す方法をまとめます。セルフホストのDify向けです。 Difyコードブロックの例…
Amazon OpenSearch Serviceでは、ドメインに対するアクセス制御の手段の一つとして、Fine-grained access control (きめ細かいアクセス制御、以下FGAC) が利用できます。 この記事では、FGACの設定をAWS CDKから管理する方法を紹介します。 なぜFGACを使うか…
AWS CDK Tipsシリーズです。 松尾さんの記事に触発されて、今回はCDKにおけるインテグレーションテストの体験談を書きます。なお、本記事では以降integ testという言葉は、CDKのinteg-testsとinteg-runnerモジュ―ルで実現される自動テストのことを指すことと…
TL;DR; 以下のコードでCDKからSOCIインデックスをビルドし、ECRにプッシュすることができます。 # 依存関係のインストール npm install deploy-time-build import { SociIndexBuild } from 'deploy-time-build; const asset = new DockerImageAsset(this, 'I…
AWS CDK Tipsシリーズです。 AWS CDKのコンストラクトライブラリをPython向けに公開する手順のメモです。 最近 upsert-slr というライブラリをPyPIにも公開したので、その時のコードを例に紹介します。 モチベーション 最近のサーベイによれば、CDKのPython…
最近にわかに話題沸騰中のJavaScriptランタイム LLRT を紹介する記事です。 github.com LLRTとは LLRT (Low Latency Runtime) は、軽量なJavaScriptランタイムです。サーバーサイド向けのJavaScriptランタイムはNode.js、Deno、Bunなどが有名ですが、それら…
AWS CDK Tips シリーズです。 CDKに addDependency メソッドが2種類あることをご存知でしたか?今日は2つの違いをお伝えします。 addDependency とは addDependency メソッドは、コンストラクト間の依存関係を明示的に指定するための機能です。AWS CDKにおい…
AWS CDK Tipsシリーズの記事です。 CDKアプリケーションの開発運用が成熟するにつれ、CDKの合成処理 (synthesize)が遅く感じることがあります。 合成処理はCDKのデプロイやdiffのたびに走るため、速ければ速いほど嬉しいものです。 この記事では、合成処理を…
先日CDK Day 2023というイベントに登壇しました。 今後本イベントに登壇を考えている人の参考になればと思い、手続きの概要や感想などまとめておきます。 CDK Dayとは AWS Cloud Development Kit (CDK)やcdktf・cdk8s・projenなどCDK周辺の話に特化した、CDK…
昨今LLMの台頭により、テキストをベクトル化して類似文書の検索に利用する手法が流行っています。 今回はAWSでこの検索を実現するための一方法として、SQLiteのプラグインであるsqlite-vssをAWS Lambda上で使う方法をまとめます。 github.com 意外とハマりど…
AWS CDKを使えば、CloudFormationのカスタムリソースをLambda関数で簡単に定義することができます。 しかしながら、時にLambda関数だけでは都合が悪く、別のコンピュート環境を使いたくなる場合もあるでしょう。 私の作っている deploy-time-build というCDK…
AWS CDK Tipsシリーズです。 昨日のCDKカンファレンスで触れた ID=Default の話に思わぬ反響があった (嬉しい!) ので、詳しくまとめます。 ID=Default とは この記事では、AWS CDKのコンストラクトの第2引数のID (Identifier) に Default という文字を指定…
AWS CDKを日々使う中で溜まった知見を書き出しています。記事を追加するごとにここも更新していきます。 以下はベストプラクティス的な話です: CDK Tips: コンストラクトで構造化しよう すべてのリソースをスタックのコンストラクターにベタ書きしないほうが…
AWS CDK TIpsシリーズの記事です。 AWSでサービスを構築する際、単一リージョンで提供するサービスであっても、クロスリージョンのデプロイが必要になる場合がまれにあります。AWS CDKでは、そのような構成も簡単に実装可能です。今回はCDKを使ったクロスリ…
これは AWS LambdaとServerless Advent Calendar 2022 の記事です。 Next.jsをホスティングする手段の一つとして、Standaloneモードで動かす方法があります。 コンテナ1個で動かせるため非常にお手軽な選択肢で、GCPのCloud RunやAWSのApp Runnerなどで動か…
AWS CDK TIpsシリーズの記事です。 CDKのコードが散らかってきた、スタックのコードがベタに数百行以上もあって読みづらい… そんな状況に直面したことはないですか?今回はCDKコードを構造化して、可読性・保守性を高めるコツを紹介します。 背景 前回の記事…
AWS CDK TIpsシリーズの記事です。 AWS CDKのスタック、まとめてますか?分けてますか?分けている方はどういう基準で分けていますか? この議論は人によって割と意見の分かれることも多く、最高の飲み会ネタになるでしょう。今日は私見も交えながら、CDKの…
先日自分が修正してマージされたAWS CDKのバグが個人的には結構面白かったので、ざっくりとまとめます。 github.com どういうバグか CDKのhotswapデプロイ*1をするとき、hotswapできそうでできない変更が2つ以上あると、CDKがクラッシュするという現象が起き…
はじめに 最近AWSのサーバーレスサービスで作るWebサービスの雛形を公開してみた*1。小規模サービスならかなり安く (ほぼ無料になるケースも多そう) で運用できるので、割と良い選択になる場面も多いと考えている。今日はその布教記事。 github.com 全体構成…
AWS CDK TIpsシリーズの記事。 最近 deploy-time-build というCDK コンストラクトをリリースできたので、その過程で得られた知見を共有する。 github.com Tips プロジェクトの初期化はprojenで一発 プロジェクト生成ツールのprojenを使うことで、コマンド一…
CDKでWebフロントエンドのSPAをデプロイするときの方法まとめ。下図のありがちなSPA構成を想定している。 このような場合、フロントエンドアプリからAPI GatewayのエンドポイントURLやCognitoのUser Pool IDなどの値を参照する必要があって、それらの値をど…
AWS CDK TIpsシリーズの記事。 タイトルの通り、AWS CDKのNodejsFunctionを使う時に依存関係を解決する方法が数パターンあるので比較してみる。 例 今回は、以下のTypeScriptのLambdaをデプロイするケースを考える。 // よくあるAPI GatewayのLambda Authori…