mazyu36の日記

某SIer所属のクラウドエンジニアのブログ

AWS CDK

CDKのコントリビュートデビューしたのでやったことや詰まったこと等をまとめる

まとまった時間が取れたので、重い腰を上げて前からやってみたかったCDKのコントリビュートにチャレンジしてみました。 備忘録的にやったことや詰まったことを等まとめておきます。 ちなみに私が初挑戦時に取り組んだのは以下です。booleanのプロパティをL2 …

CDK alpha moduleを使用してAWS GlueからVPC内のAurora PostgreSQLにアクセスする

AWS Glueを使用してRDS内のデータのETLを行う機会があったので、CDKで実装してみました。いくつかハマった点もあったのでその記録です。 今回は以下のようにRDSにアクセスするCrawlerとジョブを実装します Glue Crawler からRDSにアクセスしてData Catalogを…

AWS CDKで作ったAurora グローバルデータベースは運用できるのか(2024 ver)

以下の記事においてAWS CDKでAurora グローバルデータベースをCDKで構築する方法、また運用が行えるかの解説を行なっていました。 記事内では「計画外フェイルオーバー」時のクラスターの切り離し作業等を行った際に、AWS CDKによる変更適用・その後の運用が…

Step Functions Distributed Mapを完全に理解したい(+ AWS CDKで実装する方法)

最近の個人的イチオシ機能として、Step Functions で分散処理が行える DIstributed Map があります。分散処理させて問題ないかなどの考慮は必要ですが、適合するユースケースでは大幅な処理時間短縮も可能であり、効果が大きい機能だと思います。 aws.amazon…

AWS Batch Deep Dive を CDK で実装し、AWS Batch (ECS on EC2) を理解する

AWS Batch の理解があやふやな状態のまま使っていたので、学習し直すために AWS Batch Deep Dive(以下のWorkshop)を一通りCDKで実装してみました。 ECS on EC2 における AWS Batch について、様々なパターンのジョブを学習可能であり、コンテンツとして非…

AWS IoT Core Rule で Protocol Buffers を直接デコードする

AWS Iot Coreのルールエンジンで Protocol Buffers を直接デコードするという少々マニアックな話です。 以下のAWS公式ブログでも紹介されている内容です。 aws.amazon.com 本機能は2022/12 に追加されています。 aws.amazon.com

Amazon Bedrock 超入門はキャッチアップに非常に良かった

Bedrockのキャッチアップしたいなーと思いつつ、全く触れていなかったところ以下の書籍が発売されたので、購入し色々実装してみました。 感想としてはBedrockでできることやAPIの使い方が学習でき、周回遅れ気味な私には非常に良かったです。 Amazon Bedrock…

JAWS-UG CDK支部 #12で登壇してきた

ちょっと前の話ですが、2024/2/21 の JAWS-UG CDK支部#12で登壇してきました。 speakerdeck.com 以下イベントのリンクです。 jawsug-cdk.connpass.com CDK 支部は#7 でも登壇させていただいており、2回目になります。 mazyu36.hatenablog.com

CDKのL2 ConstructでVPCのDual Stackを設定しIPv6による通信を試す

VPCのL2 ConstructでDual Stackがサポートされるのを待っていたところ、v2.121.0でサポートされていました。 今回はこちらを試してみます。 AWS CDK v2.121.0 新機能✨#cdk_releases1/ Vpc L2コンストラクトでDual Stackを構成してIPv6を使用可能に。ipProtoc…

Global AcceleratorのWorkshopをCDKで実装する

業務でGlobal Acceleratorを検討する機会があったのですが、恥ずかしながら使用したことがないため勉強がてらCDKで実装してみました。 題材としては以下のWorkshopのGlobal Acceleratorパートを使用しています。 catalog.workshops.aws 実装は以下にあります…

AWS App Runner Workshop を AWS CDKで実装する

App Runnerの学習にあたり、以下のWorkshopをCDKで実装してみました。そのまとめです。 catalog.us-east-1.prod.workshops.aws コードは以下にあります。 github.com ※App Runnerが何であるかは一切書いてありません。基礎知識を得たい場合は以下の記事がお…

ハンズオンやWorkShopをAWS CDKで実装するようにしたら学習効果が上がった話

🎄本記事は、AWS CDK Advent Calendar 2023 の 18日目の記事となります AWSのサービスを学ぶときにハンズオンを行うことは多いと思いますが、最近は基本的にCDKで実装しています。 メリットや具体的な流れを簡単にまとめます。

AWS CloudFormationのGit Syncを使って、AWS CDK用のGitOpsパイプラインを構築する

🎄本記事は、AWS CDK Advent Calendar 2023 の 5日目の記事となります 前回、CloudFormationのGit SyncをCDKで使う方法を紹介しました。 mazyu36.hatenablog.com 今回はこちらを活用して、AWS CDK用のGitOpsパイプラインを組んでみたいと思います。

AWS CDKでCloudFormationのGit Sync機能を使用してデプロイする

CloudFormationのGit Sync機能が追加されました。 aws.amazon.com こちらをAWS CDKで試してみたので、やり方などまとめます。 ※CDKでできないかなーと試している時に、Xで以下のポスト見かけて参考にさせていただきました。感謝。 CloudFormation git sync w…

モノレポなNext.jsのアプリケーションをAWS Amplifyでホスティングする(w/ AWS CDK)

タイトルの通りですが、Next.jsのアプリケーションをAWS Amplifyでホスティングする機会があったので試してみました。 また趣味ですがAmplify自体はCDKで実装しています。

【CDK】HTTP API Callを使ったIntegration testを試す

CDK integ-tests モジュールを使用したintegration test(以下integ test)を試してみたのでその記録です。 CDKでdeployしたリソースに対して、動作確認用のinteg testを走らせるということができます。 以下がAWS公式の解説ブログで、基本的な使い方や仕組…

【CDK】Connectionsのメソッドを使用して楽に通信設定を行う

CDKだとIConnectableインタフェースのプロパティであるconnectionsを使うことで通信の許可設定を容易に行えることを最近知りました。 今まではセキュリティグループ(以下SG)を個別に定義し、インバウンドルールを設定ということをやっていましたが、上記の…

JAWS-UG CDK支部 #7で登壇してきた

タイトルの通りですが、JAWS-UG CDK支部で登壇してきました。 speakerdeck.com イベントのリンクは以下です。 jawsug-cdk.connpass.com

AWS IoT CoreでMQTTを試す + Topic Ruleを活用したデータ基盤を構築する

以下のAWSにおけるMQTT通信シリーズの続編です。 今まではMQTTブローカーとしてのAmazon MQとAWS IoT Coreの比較、Amazon MQのフェイルオーバーを考慮したMQTTの実装例を解説しました。 mazyu36.hatenablog.com mazyu36.hatenablog.com 今回はAWS IoT Core(…

Amazon MQで Multi AZなMQTTブローカーを構築し、フェイルオーバーを考慮したMQTT通信を行う(AWS CDK, paho-mqtt)

前回の記事で、AWSにおけるMQTTブローカーのサービスに比較について記載しました。 mazyu36.hatenablog.com 今回はその中でもAmazon MQを使用し、Multi AZであるMQTTブローカーを構築した上でMQTT通信を試してみました。 ポイントとしては以下です。 Amazon …

【CDK】 Aurora Serverless v2に対応したL2 ConstructのAPIを使用して旧APIからの移行を試す

AWS CDK v2.82.0でAurora Serverless v2が正式にL2 Constructに対応しました。 AWS CDK v2.82.0 新機能✨#cdk_releases⑥Aurora Serverless v2を利用可能に。設計時の判断を記述するArchitecture Decision Record (ADR) も公開されているため興味がある方はご…

VPC LatticeをAWS CDK(L1 Construct)/ CloudFormationで実装する

re:Invent 2022でも話題になっていたVPC Latticeが2023/3/31にGAしました。 aws.amazon.com キャッチアップついでにAWS CDK(L1 Construct)で実装したので、その内容をまとめます。なお L1 ConstructはCloudFormationとほぼイコールなので、CloudFormation…

CodeBuildのbuildspecはCDKのBuildSpec.fromObjectで作成するようにした

タイトルの通りですが、AWS CDKを使い始めてからAWS CodeBuildのbuildspecはBuildSpec.fromObjectを使って生成しています。 個人的にはbuildspecの管理がかなり便利だと思っているので、簡単にまとめます。

AWS CDKで各種ログに対するAmazon AthenaのPartition Projectionを実装する

Amazon AthenaにPartition Projection(パーティション射影)という機能があります。 dev.classmethod.jp ざっくりいうとパーティション管理を自動化して、高速にクエリが実行でき、お財布にも優しいというものです。個人的にはめちゃくちゃ便利だなと思い、…

AWS CDKでECSタスク定義を作成後、アプリを更新するとイメージタグがずれる問題への対応

CDKでECSのタスク定義を作成すると、必ず遭遇する(と思う)コンテナのイメージタグがCDKと実態でズレる問題への対応についてです。 以下のスライドでまさに言及されているものです。 AWS CDKでECS on FargateのCI/CDを実現する際の理想と現実 / ideal-and-r…

AWS CDKで作ったAuroraクラスターはRDS Blue/Green Deploymentsを使って運用できるのか

本ブログでは何回かAWS CDKで構築したAurora(RDS)クラスターを運用の観点で検証してきました。 当たり前ですがCDKで作ったとしても、そのあとは運用を行っていく必要があるので、運用継続ができるかは重要かと思います。特にDB(ステートフルなリソース)…

AWS CDKで作ったAurora グローバルデータベースは運用できるのか

-----(2024/3/25追記) ----- 本記事の内容は古いです。2024年時点では本記事のように「計画外フェイルオーバー」時にクラスターの切り離し作業などが不要です。 詳細は以下をご覧ください。 mazyu36.hatenablog.com ----- 追記ここまで ----- リージョン間…

AWS監視アラートをCDKで実装する

前回以下の監視アラートに関する記事を書きました。(予想以上に反響がありました。ありがとうございます) mazyu36.hatenablog.com 監視アラートの基準はシステム特性によるものの、同じメトリクスを使用する場合は閾値や集計期間がシステムによって違うぐ…

AWS CDKのチーム開発時に実装時の考慮事項、意識合わせした点について

はじめに 以下の記事でAWS CDKにおけるチーム開発のフローやテストについて記載した。 mazyu36.hatenablog.com mazyu36.hatenablog.com 今回は実装内容についてチーム内で意識合わせしておいた方が良いと思った点をまとめておく。

Fargate BastionとAthena Federated Queryを使用して楽にAurora MySQLを運用する( + CDKで実現する方法)

初めに Fargate BastionとAthena Federated Queryを使って、サーバレスでAurora MySQLを手軽に運用する仕組みを導入したところ、なかなか便利だったのでまとめておく。