「AWS CDKに興味を持ったけれど、なかなかコードを書き始められない」と悩んでいませんか?CDKは簡単に始めることができますが、メンテナンスしやすく、壊れにくいコードを書くためには覚えておきたいプラクティスがあります。しかし、すべてのエンジニアがインフラ構築やプログラミングに精通しているわけではなく、…
TL;DR プレビュー対象はcdk synthで出力されたCloudFormationのテンプレートファイル 構成図はVSCode拡張機能aws toolkitのApplication Composerでプレビュー表示(変更検知機能利用) nodemonを用いて、プレビューを開いた状態でtsファイル保存時にcdk synthを実行することで再表示させる nodemon -e ts --ignore cdk.out --exec 'cdk synth' 情報元: aws-summit-2024-iac-booth-demo/realtime-draw-diagram at main · aws-samples/aws-summit-2024-iac-booth-demo · GitHub 前準備 ※コンテナ開発/TypeScriptを前提とする。 1. CDKプロジェクト作成 すでに作成済み
「AWS CDKの脆弱性が発覚した」というニュース記事が流れてきたのですが、読んでも不安を煽るだけで何を言っているかよく分からない内容でした。 仕方がないので、脆弱性を報告したAqua Security社の記事を読んでみました。 非常に分かりやすくまとめてくれているので、マスコミのよく分からない記事で不安を感じている方は、原文を読むことをお勧めします。 超概要 見つかった脆弱性は、特定の手順を踏んでしまったCDK用のS3バケットを乗っ取れるという内容のようです。 脆弱性の影響の可能性があるアカウントには、2024/10/15 (日本時間だと2024/10/16かもしれない)にAWSから「Missing CDK bootstrap bucket」がタイトルに含まれるメールが送られています。 メールが来てなければセーフです。(今回の脆弱性に対しては)安全です。安心してください。 メールが来てい
データアナリティクス事業本部のueharaです。 今回は、Serverless Frameworkの有償化に伴いAWS CDKとAWS SAMへの移行について検討してみたいと思います。 はじめに 2023年の10月に、Serverless FrameworkがV.4から有料化されることが発表されました。 ライセンス費用を支払いV.4を利用するというのも1つの手ではあるのですが、今回はAWS CDKとAWS SAMへの移行を検討してみたいと思います。 結論 まずは、移行を検討した結果の表を以下にまとめます。 個別の内容については以降の章で説明を実施します。 フレームワーク 利用コスト 移行コスト メリット・デメリット Serverless Frameworkからの移行の総論
パッと静的Webサイトを用意したい こんにちは、のんピ(@non____97)です。 皆さんはパッと静的Webサイトを用意したいなと思ったことはありますか? 私はあります。 AWS上で静的Webサイトを構築するとなると思いつくのは「CloudFront + S3」の構成です。しかし、OACの設定をしたりアクセスログの設定をしたりと意外と設定する項目が多く大変です。そのため、検証目的で用意する際には手間がかかります。 毎回都度用意するのも面倒なので、AWS CDKを使って一撃で構築できるようにしてみました。(Route 53 Public Hosted Zoneを作成する場合は二撃です) AWS CDKのコードの紹介 やっていること AWS CDKのコードは以下リポジトリに保存しています。 やっていることは以下のとおりです。 Route 53 Public Hosted Zoneの作成 また
はじめに 今回は、今話題の Claude 3 でAWS CDKというAWSインフラのプロビジョニングツールを使い、簡易的なメール通知の仕組みを作成しました。 基本的にはClaudeに尋ねながら構築を行っており、AWS CDKの最初のセットアップ以外はコードをほとんど書いていません。 なので、AWS CDKに馴染みが無い方でも、最初のセットアップさえ出来れば、Claudeを活用しながら、どなたでもAWS CDKをご活用頂けるのではと考えております。 技術要素の紹介 Claude 3 2024年3月4日に発表されたAnthropic社の最新モデルの生成AIです。 特に驚いたのは「マルチモーダル」対応という事で、画像やPDFの分析もしてくれます。 anthropic.comに登録すると、Claude 3 Sonnetをお試し頂けます。 今回はこちらを利用し、AWS CDKのコードを出力しています
AWS CDK の脆弱性が発覚、S3バケット名の予測可能性で管理者権限奪取の危険|約38,000アカウントに影響の可能性 Last Updated on 2024-10-25 08:42 by admin Aqua Securityのセキュリティ研究チームは、AWSの6つのサービス(CloudFormation、Glue、EMR、SageMaker、ServiceCatalog、CodeStar)に重大な脆弱性を発見した。この発見は2024年8月のBlack Hat USAカンファレンスで発表された。 脆弱性の概要 – AWS Cloud Development Kit (CDK)のデフォルトのS3バケット命名パターンが予測可能で、攻撃者による悪用が可能 – 攻撃者は未使用のAWSリージョンで事前にS3バケットを作成し、被害者がそのリージョンでサービスを使用するのを待つことができる – こ
EC2インスタンスの踏み台を用意したくない こんにちは、のんピ(@non____97)です。 皆さんはEC2インスタンスの踏み台を用意したくないと思ったことはありますか? 私はあります。 VPC上のRDS DBインスタンスやRedisクラスター、OpenSearch Service ドメインなどのリソースに接続したい場合、Site-to-Site VPNやClient VPN、Direct Connectがなければ踏み台(Bastion)が必要になります。 踏み台へのアクセス方法は以下のようなものがあります。 直接SSH SSMセッションマネージャー EC2 Instance Connect そして、踏み台となるリソースとして採用される多くがEC2インスタンスだと考えます。EC2インスタンスの場合、OS周りの面倒をみる必要があります。OS内のパッケージのアップデートが面倒であれば「踏み台が
「Startup Day 2023」は日本中のAWSを利用するStartupが、AWSの知見を披露するHubとなる1日です。2023年はサブテーマに「スタートアップ冬の時代を共に乗り越える」を掲げて、スタートアップが面しているこの逆境をどうやって跳ね除け、成長につなげていけるかを共有します。ここで、株式会社メイツのk.goto氏が登壇。続いて、CDKの便利機能について話します。前回はこちらから。 CDKの便利機能 (L2,L3)コンストラクト k.goto氏:次に、CDKの便利機能を1個ずつ紹介していきます。まずはL2、L3コンストラクト。まずコンストラクトが何かというと、CDKの独自機能や独自概念という感じです。ソースコード上でいうと、CDKの独自クラスによるAWSリソース定義の抽象化をしてくれるものです。 L1、L2、L3というようにレイヤーが分かれていて、数字が大きくなる、上にいくほ
「Startup Day 2023」は日本中のAWSを利用するStartupが、AWSの知見を披露するHubとなる1日です。2023年はサブテーマに「スタートアップ冬の時代を共に乗り越える」を掲げて、スタートアップが面しているこの逆境をどうやって跳ね除け、成長につなげていけるかを共有します。ここで、株式会社メイツのk.goto氏が登壇。まずは、AWS CDKの良いところの5つのうち3つを紹介します。 k.goto氏の自己紹介 k.goto氏:では「スタートアップでこそCDKが活きた ~生産性を向上できた5つの理由~」というお話をします。どうぞよろしくお願いします。 gotoと申します。ふだんはテックリードをやっていて、AWS Community Builderというものにも選んでもらっています。プライベートで技術ブログとか自作ツールのオープンソース開発とか、あとは今日話すAWS CDKのC
新規プロダクト開発にサーバレスアーキテクチャを採用 Works Human IntelligenceはERP市場 人事・給与業務分野 シェアNo.1[1]を獲得しているエンタープライズ向け統合人事システム「COMPANY」の開発、販売、サポートを行っている企業である。Works Human Intelligenceによると、COMPANYは国内大手法人の3社に1社にあたる約1200社が導入しており、約510万人の人事データを管理している。同社ではこの膨大な人事データを活用し、より顧客にとって価値のある製品や機能の開発に取り組んでいる。その一つが齋藤氏の紹介する「COMPANY Human Capital Insight(HCI)」である。HCIはCOMPANYやその他外部のシステムと連携し、人事データなどのあらゆるデータを集約。そのデータを元に男女間賃金差異や女性管理職比率などの人的資本に
[アップデート]AWS CDKでIaCジェネレーターを利用して、既存リソースからCDKアプリケーションを作成できるようになりました(cdk migrate –from-scan) 先日、IaCジェネレーターが発表されました。 AWS CDKのアップデートに以下がありました。 migrate: Add CDK Migrate --from-scan functionality (#28962) (bbc14b3) Release v2.126.0 · aws/aws-cdk IaCジェネレーターのCloudFormationスタックに関連付けられていないAWS リソースから、CDKアプリを生成するオプションのようです。 早速試してみました。 注意点として、cdk migrateは現時点(2024/2時点)で実験的な機能になっています。今後破壊的な変更が起きる可能性があります。 前提 aws-
Amazon Web Services ブログ 組織内での AWS CDK 利用拡大のためのベストプラクティス 企業はクラウド移行の加速を常に追求しています。Infrastrcture as Code (IaC) は、クラウドリソースを効率的に自動化および管理するうえで不可欠です。AWS Cloud Development Kit(AWS CDK) を使用すると、お気に入りのプログラミング言語でクラウドインフラストラクチャをコードとして定義し、AWS CloudFormation を使用してデプロイできます。この記事では、組織内での CDK の採用を加速するための戦略とベストプラクティスについて説明します。この記事での議論は、組織がパイロットプロジェクトを成功裏に完了した後に始まります。この記事を読むことで、パイロットプロジェクトから得た教訓をプラットフォームエンジニアリングを通じて組織全
サクッとSAML認証を実装したい こんにちは、のんピ(@non____97)です。 皆さんサクッとSAML認証を実装したいなと思ったことはありますか? 私はあります。 自分でSAML認証のService Provider(SP)側の処理を実装するのは大変です。そのような場合はALBとCognitoを使うと簡単に行えます。 ということで実際にやってみました。今回はIdPとしてOktaを使用します。 「SAML認証ってなんやねん」や「OktaのSAMLアプリってどうやって作成すればいいんだ」、「CognitoでSAML認証ってどうやって行えばいいんだ」という方は以下ドキュメントをご覧ください。 初心者向けSAMLガイド SAMLアプリ統合を作成する | Okta ユーザープールへの SAML ID プロバイダーの追加 - Amazon Cognito また、せっかくなので以下アップデートで可能
海外のCDKの知見を学ぼう! Advanced AWS CDK: Lessons learned from 4 years of use COM302 参加レポート #AWSreInvent2023 re:Invent2023で参加した「Advanced AWS CDK: Lessons learned from 4 years of use」のレポートです。感想多めです。 はじめに re:Invent現地参加組の佐藤智樹です。今回は、AWS DevTools HeroであるMatthew Bonigさんの登壇、「Advanced AWS CDK: Lessons learned from 4 years of use」に参加した際のレポート記事です。彼は4年間CDKの利用歴があり、その中で得た知見をもとにCDK Bookも共著で執筆されています。そんな4年間の中での学びが共有されたセッシ
Amazon Web Services ブログ Projen と AWS CDK のはじめ方 現代のクラウドコンピューティングにおいて、Infrastrcture as Code (IaC) は、クラウドリソースのデプロイと管理に不可欠な要素となっています。AWS Cloud Development Kit (AWS CDK) は、開発者が馴染みのあるプログラミング言語を使用してクラウドリソースを定義できるようにする、人気のオープンソースフレームワークです。関連するオープンソースツールである Projen は、複雑なソフトウェア設定の管理を簡素化する強力なプロジェクト生成ツールです。この記事では、Projen と AWS CDK を使用するための基本的な使い方について学び、Projen を使用することのメリットや課題について議論します。 Projen とは 高品質でモダンなソフトウェアを構
こんにちは。ソーシャル経済メディア「NewsPicks」で主に検索システムを開発しております崔(ちぇ)です。 去年まで弊社の検索システムをEC2上に構築しておりました。今年にそれをコンテナ化しECSへ移行しました。コンテナ化に関しては前回の記事でまとめてますので、ご興味ありましたら是非読んでみてください。 tech.uzabase.com EC2からECSへ移行することに限らず、あらゆる「AからBへ移行する」行為はスイッチを切り替えるように簡単ではありません。 仮に、昨日までAが100%担った処理を、今日からBが100%担うようにしたとしましょう。何かの考慮漏れがあり以下のようなエラーが発生した際に、その障害の影響範囲は全体にわたり、最悪の場合はしばらくサービスが使えなくなることだってあり得ます。 想定より負荷が高まり新しいリクエストに対して全くレスポンスが返せない 想定できなかったバグが
みなさん、こんにちは ! AWS の Solutions Architect 木村 友則 (@tkimurz) です。 Infrastructure as Code (IaC) を活用していますか ? AWS Cloud Development Kit (CDK) を使ってみたことはありますか ? 本記事では、まだ AWS CDK の利用経験がない方に向けて、AWS CDK のローカル開発環境の構築や基本的な利用方法をご紹介します。 IaC や CDK について、キーワードは聞いたことがあるけど詳しい内容まではわからないという方は、こちらの「使い慣れたプログラミング言語でクラウド環境を構築 ! AWS CDK をグラレコで解説」という記事を事前にご覧ください。IaC や CDK について全体像をご理解いただくのに最適な記事となっています。 IaC や CDK に興味があっても、環境構築が大
Amazon Web Services ブログ AWS CDK Pipelines と AWS CodeDeploy を使用したブルー/グリーンデプロイ お客様から Amazon Elastic Container Service (Amazon ECS) に AWS CodeDeploy を使用して ブルー/グリーン デプロイを実装するための支援がしばしば求められます。 お客様のユースケースは通常、クロスリージョンおよびクロスアカウント間でのデプロイシナリオが含まれます。 これらの要件だけでも十分に難しいのですが、さらに CodeDeploy を使用する際には特定の設計上の決定が必要となります。 具体的には CodeDeploy の設定方法、CodeDeploy リソース (アプリケーションやデプロイグループなど) の作成時期と方法、アカウントとリージョンの任意の組み合わせにデプロイでき
Amazon Web Services ブログ CDK Migrate: AWS CDK への移行コマンドの発表 本日は、AWS Cloud Development Kit (CDK) の新機能である CDK Migrate についてご紹介します。この機能を使用することで、ユーザーは以前にデプロイされた AWS CloudFormation テンプレートや CloudFormation スタック、Infrastrcture as Code (IaC) の管理外で作成されたリソースを CDK アプリケーションに移行できます。この機能は、CloudFormation の管理外で作成されたリソースをテンプレートにインポートし、新しく生成された CloudFormation スタックに取り込むのに役立つ CloudFormation IaC ジェネレーター と同時に公開されています。IaC ジェネ
この記事では、cdkでスタック分割を利用してAPIGateway, Lambda の構成を作る際に起こる問題と解消法について紹介しています。 スタック分割構成を利用している方、検討している方の参考になる情報となっています。 はじめに 概要 この記事では、cdkでスタック分割を利用してAPIGateway, Lambda の構成を作る際に起こる問題と解消法について紹介しています。 理想的な形はスタックを分割せずに同一スタックで管理することですが、CloudFormationのリソース数上限(500個)やファイル上限(51,200バイト)などの制限により、スタック分割の構成を選択することがあります。 スタック分割の構成ではcdk deploy時に以下のような問題が起こります。 スタック分割を行うと新たにAPIのパスを追加した際に、自動デプロイされない問題 ステージ設定を変更した際に昔のデプロイ
1. AWS CDKとは 2. AWS CDKを触ってみる 2.1 環境構築 Volta Node.js CDK 2.2. とりあえずLambdaを作成するところまでやってみる 2.2.1. プロジェクト作成 2.2.2. デプロイ用のLambda関数を書く 2.2.3. CDKのStackにLambda関数を記載する 2.2.4. デプロイしてみる 2.2.5. お片付け 2.3. CRUDっぽいAPIをAPI Gatewayで公開してみる 2.3.1. Lambda関数を用意する 2.3.2. CDKを用意する 2.3.3. デプロイして動かしてみる 2.3.4. お片付け 2.3.5. 詰まったところ 3. 感想 We Are Hiring! ABEJAでプロダクト開発をしている平原です。ABEJAアドベントカレンダー2023の6日目の記事です。皆さんはAWSでIaCを利用する時には
皆さん、こんにちは。AWS DevTools Hero の後藤と申します。普段、AWS Cloud Development Kit (AWS CDK) へのコントリビュート活動を行っており、Top Contributor、並びに Community Reviewer に選定いただいています。 AWS CDK は、使い慣れたプログラミング言語でクラウドリソースを定義できるオープンソースのフレームワークです。プログラミング言語で書けるということは、一般的なソフトウェア開発で行われるようなテストコードを書くことができるということです。 今回はそんな IaC ツールである AWS CDK におけるテストのうち、単体テストの使い所、つまり「どんな場面でどのように単体テストを使えば良いのか」について紹介します。
はじめに こんにちは、ZOZOMO部FBZブロックの山村です。普段はFulfillment by ZOZO(以下、FBZ)が提供するAPIシステムを開発・運用しています。 FBZは、AWS Lambda(以下、Lambda)を中心にAWSが提供するフルマネージドサービスを活用したサーバーレスアーキテクチャを採用しています。 以下の記事にてサービス構成やアーキテクチャ戦略の詳細を説明しています。 techblog.zozo.com 今回は、イベント駆動型のアーキテクチャを開発するうえで直面した課題と、その開発経験をもとにどのようにアプローチしたかをご紹介します。 目次 はじめに 目次 背景・課題 インフラリソース定義のための知識が必要であり、プロジェクトの参入難度を上げていた イベント駆動ではアプリケーションコードに合わせて関連リソース定義も必要になる 記述時点では正しく記述できているか気づ
AWS DevOps Blog Best practices for scaling AWS CDK adoption within your organization Enterprises are constantly seeking ways to accelerate their journey to the cloud. Infrastructure as code (IaC) is crucial for automating and managing cloud resources efficiently. The AWS Cloud Development Kit (AWS CDK) lets you define your cloud infrastructure as code in your favorite programming language and depl
こんにちは、CX 事業本部製造ビジネステクノロジー部の若槻です。 Serverless Express は、AWS Lambda などのサーバーレス環境で Express.js を利用した REST API を構築できるライブラリです。 今回は、Serverless Express + AWS Lambda + API Gateway の構成を AWS CDK でデプロイして作成してみました。 試してみた パッケージの導入 いくつかのパッケージ npm からインストールして導入します。 @codegenie/serverless-express をインストールします。 npm i @codegenie/serverless-express 最近、Serverless Express が CodeGenie に移行したので、古い方のパッケージをインストールしないように注意してください。 その
そこでふと気になったのが、「価格クラスごとに、CloudFront Destribution の作成や削除などの操作に掛かる時間はどのくらい違うのか?」ということです。世界中のエッジロケーションへの伝搬が必要な Distribution の操作は何かと時間が掛かるため、低い価格クラスを選択することにより、デプロイ時間の短縮に繋がるのではないかと考えました。 そこで今回は、Amazon CloudFront Distribution の価格クラスごとに、AWS CDK でのデプロイ所要時間は大きく変わるのか確認してみました。 型定義 CDK においては CloudFront Distribution の価格クラスは、PriceClass という enum で定義されています。 node_modules に生成された PriceClass の型定義は以下となります。3 種類の価格クラスが定義さ
皆さん、こんにちは。2024 年 3 月に AWS DevTools Hero に選出いただきました、後藤と申します。普段は、AWS Cloud Development Kit (AWS CDK) へのコントリビュート活動などを行っています。 AWS CDK において、AWS CDK でアプリケーション・インフラ環境を構築する(AWS CDK を使う) 方も、AWS CDK にコントリビュートする(AWS CDK を作る) 方も、どちらにもユーザーから受け取る値のバリデーションは欠かせません。またそのバリデーション方法は、どちらの立場においても基本的には同じ方法で実装することができます。 今回はそんな、AWS CDK を「使う側」と「作る側」、どちらにも共通するバリデーションの使い分け方についてご紹介します。
こんにちは、製造ビジネステクノロジー部の若槻です。 AWS CDK の最近のリリースである v2.162.0 で、下記のアップデートが追加されていました。 cli: cdk rollback (#31684) (3e40edc), closes #31407 端的に言うと cdk rollback コマンドが利用可能になったというものです。AWS CDK のドキュメントにもコマンドのページが追加されていました。 用途としては、デプロイ失敗時にデバッグのためにデプロイされたリソースを保持したい場合に、cdk deploy --no-rollback コマンドによりデプロイ失敗時の自動ロールバックを停止させることが今までもできていました。この停止したロールバックを CLI で再開させることができるのが今回のコマンドになります。 試してみた cdk rollback 次のようなデプロイが失敗する
builders.flash 読者の皆さん、こんにちは!みずほリサーチ&テクノロジーズ株式会社の松尾です。 当社では、AWS Cloud Deployment Kit (AWS CDK) と AWS Service Catalog を活用して AWS の社内向けプラットフォームを構築しています。前回の記事 では「AWS Service Catalog を使ったセルフサービス型機能の提供」について、紹介しました。 本記事では、当社が実装したセルフサービス型のアカウント発行方法について、検討の経緯を追いながらご紹介します。本稿では前回の記事を前提としていますので、未読の方はそちらも是非ご覧ください。 本プラットフォームでは、AWS Control Tower ランディングゾーンを採用しています。AWS Control Tower ランディングゾーンでは AWS IAM Identity Cen
『AWS CDK Advent Calendar 2023』21日目の記事です。 qiita.com 目次 目次 目次 GoFデザインパターンとは AWS CDKではGoFデザインパターンが使われている? AWS CDKではどのGoFデザインパターンが使われている? Strategyパターン Strategyパターンとは? CDKのどこで使われている? Singletonパターン Singletonパターンとは? CDKのどこで使われている? Visitorパターン Visitorパターンとは? CDKのどこで使われている? 補足 AWS Dev Day 2023 Tokyo 実際どうなの? AWS CDK × GoFデザインパターンのサンプルコード まとめ GoFデザインパターンとは 「オブジェクト指向におけるコード設計のデザインパターン」といったもので、具体的には、およそ30年ほど前に
[AWS CDK] CloudFront のカスタムオリジンとして Amazon S3 のウェブサイトエンドポイントを指定した場合のアクセス制御について検証してみた 2023/01/17 追記:本記事の検証について、キャッシュの考慮をしておらず正しい検証結果を得られていませんでした。再検証を次の記事で行っているので、合わせてご覧ください。 https://dev.classmethod.jp/articles/re-amazon-cloudfront-custom-origin-access-control-verification-with-amazon-s3-website-endpoint/ こんにちは、CX 事業本部製造ビジネステクノロジー部の若槻です。 Amazon CloudFront では、Distribution のカスタムオリジンとして S3 バケットのウェブサイトエンド
Construct ID命名に関するTipsを調べると色々とありますが、命名時の明確な方針が欲しかったのでまとめてみました こんにちは。リテールアプリ共創部のきんじょーです。 AWS CDK でインフラを定義する際、皆さんは Construct ID をどのようなルールで命名していますか? Construct ID を適切に命名することで、自動生成されるリソース名や CloudFormation の 論理ID の可読性を高く保ち、保守しやすいインフラを構築できます。 以下のブログでは CDK と CloudFormation でデプロイされるリソースの命名規則について全体像が解説されています。 この記事では CDK による論理 ID 生成処理をさらに深掘りし、それを踏まえた上でどのように Construct ID を命名すべきか実装例を交えてご紹介します。 先に結論 以下を意識することで、
はじめに この記事はDevOps on AWS大全の一部です。 DevOps on AWS大全の一覧はこちら。 この記事ではAWS CDKに関連する内容を超詳細にまとめています。 具体的には以下流れで説明します。 AWS CDKとは AWS CDKの仕組み AWS CDK for Advance AWSの区分でいう「Level 200:トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル」の内容です。 この記事を読んでほしい人 AWS CDKがどういうサービスか説明できるようになりたい人 AWS CDKを採用するときのベストプラクティスを説明できるようになりたい人 AWS Certified DevOps Engineer Professionalを目指している人 AWS CDKとは AWS CDKとは高水準言語でインフラストラクチャを記述できるサー
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く