「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の作成 また
この本の概要 本書は,Amazon Web Services(AWS)のリソースを対象とした,コードによるインフラ管理――Infrastructure as Code(IaC)をテーマにした実践的な解説書です。IaCツールの中でも,幅広いシステムに対応できる「Terraform」と,抽象的なリソース記述が可能な「AWS CDK」を取り上げます。それぞれのツールの基本的な使い方や仕組みを解説するとともに,VPCやECSの構築といった具体例を通じてこれら2つのツールを横断的に比較・理解します。両ツールの「宣言的なコード記述」という共通点や,コード記述法や差分抽出プロセスの違いを掘り下げながら,AWSにおけるIaCの汎用的なスキルを習得できる内容となっています。IaCをこれから始めるユーザーに加え,Terraformユーザー,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バケットを作成し、被害者がそのリージョンでサービスを使用するのを待つことができる – こ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに 今回は、今話題の Claude 3 でAWS CDKというAWSインフラのプロビジョニングツールを使い、簡易的なメール通知の仕組みを作成しました。 基本的にはClaudeに尋ねながら構築を行っており、AWS CDKの最初のセットアップ以外はコードをほとんど書いていません。 なので、AWS CDKに馴染みが無い方でも、最初のセットアップさえ出来れば、Claudeを活用しながら、どなたでもAWS CDKをご活用頂けるのではと考えております。 技術要素の紹介 Claude 3 2024年3月4日に発表されたAnthropic社の最新
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内のパッケージのアップデートが面倒であれば「踏み台が
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 0. 記事を書いたきっかけ アプリ開発者からAWSを勉強して、AWS CDKを書き始めて8ヶ月ほど経ちました。 それまでに得た知見をもとに社内でCDK勉強会を開催したところ、分かりやすかったという反応をいただけて嬉しかったので外部公開用に記事としてまとめました。 8か月ほど前のRuby on Railsエンジニアの自分に向けてわかりやすく解説しようとする記事になります。 似たような立場のCDKの初学者の方の参考になりましたら幸いです。 1. CDKとは IaCを実現するツールです IaCとはInfrastructure as Conde
新規プロダクト開発にサーバレスアーキテクチャを採用 Works Human IntelligenceはERP市場 人事・給与業務分野 シェアNo.1[1]を獲得しているエンタープライズ向け統合人事システム「COMPANY」の開発、販売、サポートを行っている企業である。Works Human Intelligenceによると、COMPANYは国内大手法人の3社に1社にあたる約1200社が導入しており、約510万人の人事データを管理している。同社ではこの膨大な人事データを活用し、より顧客にとって価値のある製品や機能の開発に取り組んでいる。その一つが齋藤氏の紹介する「COMPANY Human Capital Insight(HCI)」である。HCIはCOMPANYやその他外部のシステムと連携し、人事データなどのあらゆるデータを集約。そのデータを元に男女間賃金差異や女性管理職比率などの人的資本に
サクッとSAML認証を実装したい こんにちは、のんピ(@non____97)です。 皆さんサクッとSAML認証を実装したいなと思ったことはありますか? 私はあります。 自分でSAML認証のService Provider(SP)側の処理を実装するのは大変です。そのような場合はALBとCognitoを使うと簡単に行えます。 ということで実際にやってみました。今回はIdPとしてOktaを使用します。 「SAML認証ってなんやねん」や「OktaのSAMLアプリってどうやって作成すればいいんだ」、「CognitoでSAML認証ってどうやって行えばいいんだ」という方は以下ドキュメントをご覧ください。 初心者向けSAMLガイド SAMLアプリ統合を作成する | Okta ユーザープールへの SAML ID プロバイダーの追加 - Amazon Cognito また、せっかくなので以下アップデートで可能
この記事はNTTテクノクロス Advent Calendar 2024シリーズ2の24日目の記事であり、翌日25日の記事と合わせた連載の第1回目になります。 こんにちは。NTTテクノクロスの堀江です。普段はAWSやAzure上でのシステム設計、構築や実装、調査検証系の案件を幅広く担当しています。 1. はじめに 本記事では、「テストピラミッド」の概念を用いて、AWS CDKで実装するインフラの適切なテスト戦略を模索していきます。 テストピラミッドは一般的なソフトウェア開発におけるテスト戦略(どの様なテストを、どの程度実施すべきか)を検討する上で頻繫に用いられる概念です。それをインフラに対するテスト戦略としても運用可能か、インフラのテストにおけるテストピラミッドはどの様な形になるか、といったことを本記事では模索します。 1.1. 構成 この取り組みは、本記事【理論編】と明日公開されるもう一つ
皆さん、こんにちは。AWS DevTools Hero の後藤と申します。普段、AWS Cloud Development Kit (AWS CDK) へのコントリビュート活動を行っており、Top Contributor、並びに Community Reviewer に選定いただいています。 AWS CDK は、使い慣れたプログラミング言語でクラウドリソースを定義できるオープンソースのフレームワークです。プログラミング言語で書けるということは、一般的なソフトウェア開発で行われるようなテストコードを書くことができるということです。 今回はそんな IaC ツールである AWS CDK におけるテストのうち、単体テストの使い所、つまり「どんな場面でどのように単体テストを使えば良いのか」について紹介します。
こんにちは。ソーシャル経済メディア「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 リソース (アプリケーションやデプロイグループなど) の作成時期と方法、アカウントとリージョンの任意の組み合わせにデプロイでき
この記事では、cdkでスタック分割を利用してAPIGateway, Lambda の構成を作る際に起こる問題と解消法について紹介しています。 スタック分割構成を利用している方、検討している方の参考になる情報となっています。 はじめに 概要 この記事では、cdkでスタック分割を利用してAPIGateway, Lambda の構成を作る際に起こる問題と解消法について紹介しています。 理想的な形はスタックを分割せずに同一スタックで管理することですが、CloudFormationのリソース数上限(500個)やファイル上限(51,200バイト)などの制限により、スタック分割の構成を選択することがあります。 スタック分割の構成ではcdk deploy時に以下のような問題が起こります。 スタック分割を行うと新たにAPIのパスを追加した際に、自動デプロイされない問題 ステージ設定を変更した際に昔のデプロイ
はじめに こんにちは、ZOZOMO部FBZブロックの山村です。普段はFulfillment by ZOZO(以下、FBZ)が提供するAPIシステムを開発・運用しています。 FBZは、AWS Lambda(以下、Lambda)を中心にAWSが提供するフルマネージドサービスを活用したサーバーレスアーキテクチャを採用しています。 以下の記事にてサービス構成やアーキテクチャ戦略の詳細を説明しています。 techblog.zozo.com 今回は、イベント駆動型のアーキテクチャを開発するうえで直面した課題と、その開発経験をもとにどのようにアプローチしたかをご紹介します。 目次 はじめに 目次 背景・課題 インフラリソース定義のための知識が必要であり、プロジェクトの参入難度を上げていた イベント駆動ではアプリケーションコードに合わせて関連リソース定義も必要になる 記述時点では正しく記述できているか気づ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに NTTテクノクロスの渡邉 洋平です。 わたしはAWS CDKが好きなので個人的に数年コントリビュートしてますし、カンファレンスでも3年ほど登壇しています。そんなバックグラウンドからか、「CDKに入門するには?」という相談を受けることもあります。 以下のような良質なコンテンツは当然伝えるとして、毎回いろいろな内容を口頭で伝えており、今回はそれらの内容(偏見)を記事にまとめてみようと思います。 1. プログラミング言語の機能に頼るべからず 「TypeScriptでCDKを書くから、TypeScriptの高度な機能を習熟しなきゃ」と
皆さん、こんにちは。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
この記事で伝えたいこと SDK/CDK/CLIが利用できるDev Containersの作り方を伝えるんだぜ 実際にAWS CLI/AWS SDK/AWS CDKをDev Containersで使ってみるよ はじめに この記事ではDev Containersを使ってAWS向けに快適な開発環境を構築する方法を書いています。 なお、前提としては環境はmacOSまたはLinux上としています。 Windows版については後ほど追記予定です。(ディスクマウントの方法が若干異なる以外はすべて同じ設定で対応可能です。) AWSで利用できるコマンドやツールをすぐに使えるようにしたい AWSマネジメントコンソールで操作してインフラを構築することはもっとも簡単な方法ですが、昨今ではさまざまな方法でAWSを操作できます。 たとえば AWS CLIで設定を変更する AWS SDKを使ってリソースを操作する AW
Construct ID命名に関するTipsを調べると色々とありますが、命名時の明確な方針が欲しかったのでまとめてみました こんにちは。リテールアプリ共創部のきんじょーです。 AWS CDK でインフラを定義する際、皆さんは Construct ID をどのようなルールで命名していますか? Construct ID を適切に命名することで、自動生成されるリソース名や CloudFormation の 論理ID の可読性を高く保ち、保守しやすいインフラを構築できます。 以下のブログでは CDK と CloudFormation でデプロイされるリソースの命名規則について全体像が解説されています。 この記事では CDK による論理 ID 生成処理をさらに深掘りし、それを踏まえた上でどのように Construct ID を命名すべきか実装例を交えてご紹介します。 先に結論 以下を意識することで、
こんにちは、製造ビジネステクノロジー部の若槻です。 2024/11/01 にクラスメソッド日比谷オフィスで開催された勉強会イベントクラスメソッドのCDK事情大公開スペシャル#1 で「AWS CDK の設計では Construct の構造も意識しよう!」というテーマで登壇しました。 登壇資料 この資料では AWS CDK の Construct の構造について、設計時に意識するべきポイントを紹介し、以下のようにまとめています。 CloudFormation のツリービューを活用しよう コンストラクト分割は、リソース種類単位とサービス単位を組み合わせて行うと良さげ 上記を意識するとコンストラクト構造が直感的になり、開発・運用上の認知負荷を低減できる マネコンからのリソース探索時 CDK コードによる開発時 サンプルコード 資料中で紹介した「リソース種類単位とサービス単位でのコンストラクト分割に
こんにちは、製造ビジネステクノロジー部の若槻です。 AWS CDKでは、StackProps の Environments を指定することでスタックごとにデプロイ先の AWS アカウントおよびリージョンを明示的に指定することができます。 今回は、Environments で指定したリージョンにスタックが思った通りにデプロイされない事象に遭遇しましたので、確認すべきだったポイントを共有します。 事象 AWS CDK で us-east-1 リージョンにスタックをデプロイしたいが、デフォルトリージョンである ap-northeast-1 でデプロイされてしまう事象が発生しました。 CDK スタック定義 import { Stack, StackProps, CfnOutput } from 'aws-cdk-lib'; import { Construct } from 'constructs
AWS CDK ☘️ はじめに 本ページは、AWS に関する個人の勉強および勉強会で使用することを目的に、AWS ドキュメントなどを参照し作成しておりますが、記載の誤り等が含まれる場合がございます。 最新の情報については、AWS 公式ドキュメントをご参照ください。 👀 Contents AWS CDK とは CDK v2 対応言語 CDK ワークショップ CDK の構成要素 App Stack(s) Construct L1 Construct / L2 Construct Patterns CDK のテスト Snapshot test Unit Test CDK のコマンド CDK 作成時の Metadata を削除したい場合 AWS CDK での開発方法 ディレクトリ構造例 App 定義 App 定義にリリースミス防止策の例 スタック定義ファイルの基本構造 AWS CDK とは AW
Amazon Web Services ブログ AWS CDK による開発の前進: PGA ツアーはいかに開発を加速させたか PGA ツアーは、ツアープロゴルファーの最高峰の会員組織で、下部ツアーやシニアツアー、国際ツアーの共同大会運営も担っています。 PGA ツアーは、ゴルフファンをプレーヤー、トーナメント、コースに近づける努力をしています。新しいモバイルアプリと PGATOUR.com ウェブサイトを開発し、リーダーボードをほぼリアルタイムで、ショットごとのデータ、動画ハイライト、スポーツニュース、統計、3D ショットトラッキングなど、没入感のあるパーソナライズされた体験をファンに提供しています。PGA ツアーは競争の激しい分野で、ファンの要求に応え、魅力的なコンテンツを提供することを重要視しています。 成熟した DevOps 文化と開発プロセスの加速は、PGA ツアーのファンエンゲー
こんにちは。自称ソフトウェアエンジニアの橋本 (@hassaku_63)です。 本記事は CDK と TypeScript の初級者向けです。今回の題材に限らず割と頻出テクニックだと思うので、手探りに実装している人はぜひ参考にしてください。 この記事では「dev 環境では試行錯誤するために DeletionPolicy, UpdateReplacePolicy を "DELETE" に強制セットする方法」を紹介します。 また、最後のセクションでは「慣用句」的な表現を覚え、共有することの重要性について私見を述べます。 前提: 用語の定義 dev, stg, prod のような、その環境の位置付けを定義する名称を私たちはよく使います。いわゆる「環境」とか「ステージ」のように呼ばれることが多い概念だと思います。この記事では一貫して「ステージ」と呼称します。 この記事で実装するもの 開発プロジェク
builders.flash 読者の皆さん、こんにちは ! みずほリサーチ&テクノロジーズ株式会社の松尾です。 当社では、AWS Cloud Deployment Kit (AWS CDK) と AWS Service Catalog を活用して AWS の社内向けプラットフォームを構築しています。これから全 2 回に渡って、当社事例をご紹介します。 今回は当社のプラットフォームでなぜ AWS CDK と AWS Service Catalog を採用したのか、またどのように既存資産を移行したのか、ご紹介します。 第 2 回 AWS Step Functions を活用した AWS アカウント発行処理の自動化 ~ はこちら »
TL;DR Baseline Environment on AWS(BLEA) v3.0.0を元にAWS CDKのリファレンス構成を確認します はじめに AWS Japanの方が開発し提供してくださっている、Baseline Environment on AWS(BLEA) というAWS CDK のテンプレート群があります。 AWS Japan作なので日本語でのドキュメントも用意されています。 BLEAとは、日本語Readmeの最初の内容のみ引用しますと以下のとおりです。 Baseline Environment on AWS (BLEA) は 単独の AWS アカウントまたは AWS Control Tower で管理されたマルチアカウント環境で、セキュアなベースラインを確立するための リファレンス AWS CDK テンプレート群です。このテンプレート群は AWS のセキュリティサービス
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く