AWS CDK Conference Japan 2024でお話しした内容です https://jawsug-cdk.connpass.com/event/317921/

「AWS CDKの脆弱性が発覚した」というニュース記事が流れてきたのですが、読んでも不安を煽るだけで何を言っているかよく分からない内容でした。 仕方がないので、脆弱性を報告したAqua Security社の記事を読んでみました。 非常に分かりやすくまとめてくれているので、マスコミのよく分からない記事で不安を感じている方は、原文を読むことをお勧めします。 超概要 見つかった脆弱性は、特定の手順を踏んでしまったCDK用のS3バケットを乗っ取れるという内容のようです。 脆弱性の影響の可能性があるアカウントには、2024/10/15 (日本時間だと2024/10/16かもしれない)にAWSから「Missing CDK bootstrap bucket」がタイトルに含まれるメールが送られています。 メールが来てなければセーフです。(今回の脆弱性に対しては)安全です。安心してください。 メールが来てい
AWS FargateでCDK Typescriptを使ってCodeDeplyを作成する。 CDKでFargateのCodeDeployを作成したので、記事を書きます。 本番環境にデプロイするときは、Codedeploy使ったほうがいいですよね。 またCDKで記述しておけば、後々らくです。 手作業に対するCodeDeployのメリット 公開する前に、同じ環境で、動作確認ができる。 一部の人に最初に公開し、問題ないか確認できる。 すぐに切り戻しができる。 ある程度、好きなタイミングで公開できる。 前置き すでにCDKでFargateを作成していること。今回の記事はCodeDeploy部分の解説です。 CodeDeployの動きなどは自分で調べてください。 サービスの命名はきちんと適切なものに変更してください。 サービスの修正 const loadBalancedFargateService
はじめに 皆様こんにちは、ソーシャル経済メディア「NewsPicks」(Media Infrastructureチーム)エンジニアの北見です。 現在、私は弊社サービスの一部のインフラ刷新を行なっている最中で、ここ数ヶ月 AWS CDKを触っておりました。 前職では Infrastructure as Code として Terraform を使ったことがあるのですが、少なくともAWS を使うという条件においては CDKを使うべき という結論に辿り着きました。 今回はそのように考えるようになった理由について説明していこうと思います。 前提 Terraform はパブリッククラウドにおける Infrastructure as Code の走りとして様々な現場に導入実績があり、それに対するリスペクトは持つべきです。 しかしよくある「AvsB」というメリデメの構図で「どっちでもいいよ、好みだよ」と投
Amazon Web Services ブログ AWS CDK アプリケーションのためのインテグレーションテストの作成と実行 自動化されたインテグレーションテストはシステムコンポーネントを検証し、新しいソフトウェアリリースの信頼性を高めます。AWS にデプロイされたリソースでインテグレーションテストを実行すると、AWS Identity and Access Management (IAM) ポリシー、サービスの制約、アプリケーション設定、およびランタイムコードの検証が可能になります。AWS Cloud Development Kit (AWS CDK) を Infrastructure as Code (IaC) ツールとして活用している開発者向けに、インテグレーションテストをソフトウェアリリースに簡単に実装できるテストフレームワークが用意されています。 AWS CDK は、サポートされ
こんにちは、CX事業本部 IoT事業部の若槻です。 GitHub ActionsではOpenID Connect(OIDC)がサポートされたため、AWSなどと安全にキーのやり取りが可能となっています。 Secure deployments with OpenID Connect & GitHub Actions now generally available | The GitHub Blog GitHub ActionsをAWSとOIDC連携する場合は、「ID Provider」と「IAM Role」をAWS上に作成する必要があるのですが、これらリソースをAWS CDKで作ってコードで管理するようにしてみました。 やってみた 以前作ったID Providerの確認、削除 以前にコンソールから手動で作成した同じくGitHubとのOIDC連携用のID Providerを取得します。 $ OP
「AWS CDK 環境ごとに変えたい設定はどう表現すればいいんだろう?」 本番環境と開発環境でインスタンスのスペックが違うなど、環境ごとに変えたい設定が発生することがあります。 その際に、AWS CDKではどういった方法で環境差異を表現するか悩むことがあると思います。 今回は個人的によく使う方法を2つ紹介します。 ブログ中のコードは以下になります。 msato0731/cdk-config-sample 1. Context Contextとは 1つ目は、Contextを使う方法です。 ランタイムコンテキスト - AWS Cloud Development Kit (AWS CDK) v2 CDKのコマンド実行時に、引数で値を渡すことができます。 $ npm run cdk deploy -- -c vpcId=vpc-xxxxxxx-c instanceType="t3.micro" 受
背景 データ境界の悩み データ境界の設計・構築において、S3 などのセキュリティ設定を確認するためにはアクセステストが必要です。 しかし、アクセステストをシステムテスト工程などで案件終盤にまとめて行うという方法には問題があります。 アクセステストでは、IAM ポリシー・VPC エンドポイントポリシー・S3 バケットポリシーなど、複雑なポリシーの組み合わせによって決まる多様なアクセスパターンを検証する必要があります。そのため、テストケースの数が多くなり、テストの実施や結果の分析・報告に多くの工数がかかります。さらに、テスト中に問題が発生した場合、修正や再テストにも時間がかかり、納期への影響が懸念されます。 筆者が過去に携わった案件では、このような方法でアクセステストを行っていましたが、開発の早い段階でテストを自動化できれば、後工程で同じ内容を行う必要がなくなり、効率的になると考えました。そこ
こんにちは、つくぼし(tsukuboshi0755)です! 以前以下のブログで、CDK(TypeScript)でECSとECRのコンテナ構成を実装しました。 今回はこの構成に対して、CodeCommit及びCodeBuildを含むCodePipelineを追加し、ECSのブルー/グリーンデプロイ構成を実現するCDKコードを作ってみたいと思います! 前提条件 今回は以下の通り、CDKv2を使ってコードを書いていきます。 $ cdk version 2.83.1 (build 006b542) またDockerクライアントとしては、Rancher Desktopを使用します。 $ rdctl version rdctl client version: 1.1.0, targeting server version: v1 全体構成 今回はVPC+ALB+ECS(Fargate)+ECRに加えて
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内のパッケージのアップデートが面倒であれば「踏み台が
AWS CDKでEC2のスポットインスタンスを立てるのは実は大変。 立てる方法の説明と、それをライブラリー化したので紹介します。 なお当記事はCDKですがTypeScript限定です、すいません。 お急ぎの方 ライブラリー化してみた をご覧ください。 2023年1月12日追記: ライブラリをTypeScript以外、Python, Java, C#(.NET), Goにも対応させました。 はじめに マネジメントコンソールでEC2のスポットインスタンスを立てることは簡単です。この画像のように、EC2インスタンスを立てる手順の中で、チェックを入れるだけです。 一方CDKでは、EC2を作るためのInstanceコンストラクトにスポットインスタンス関係のプロパティ等は見つからず1、Web検索で調べてもずばりの情報は出ません。 ただ、気になるページを見つけました。 CloudFormation 一撃
DevelopersIO 2023のイベントで登壇した際の内容です。
CDK大好きちゃちいです。こんにちは。 これまではECS(Fargate)のデプロイもCDKで行っていたんですが、依存やら時間やらが気になるため、ecspressoを組み合わせてみたのですが、AutoScalingで躓いたのでその解決までの記録です もし、もっといいやり方があるぞ!!という場合はお知らせください… 2023/08/10 時点 構成 Fargate クラスタはCDK、サービスとタスクはecspressoでデプロイしたい AutoScalingはややこしいのでCDKで定義したい インフラ構築リポジトリ (AWS CDK) CloudFront, Fargateクラスタ, ECR その他諸々を構築 ecspressoでデプロイするために SSM Parameter Store に必要な情報を出力する アプリケーションリポジトリ Dockerコンテナで実行 こちらからインフラ構築リ
はじめに こんにちは、Web アプリケーションエンジニアの keyamin です。 自分は IaC がけっこう好きで仕事でも書くことが多く、前職で 1 年弱 Terraform を使っていましたが昨年 11 月に転職してからは AWS CDK を勉強しています。 その際に Terraform の plan コマンドと CDK の diff コマンドの挙動の違い、またドリフトの扱いの違いで戸惑った部分があったので、検証・考察してみました。 TL;DR Terraform の plan コマンドでは、実行時に state ファイルに記載されているインフラリソースの実際の設定を確認しに行き、ドリフトが発生してたらそれも含めてコードの状態に上書きするような計画を出力する。apply コマンドではそれをそのまま実行する。 CDK の diff コマンドや CloudFormation の変更セットで
最近関わっているプロジェクトでは、大きなアプリケーションのリアーキテクチャを行っています。 そこではフルスクラッチでインフラの構成を書き直す機会がありました。 そのプロジェクトは社内では比較的複雑な構成になっていて、リアーキテクチャにあたっては、アプリケーション特有の事情により、考慮すべきポイントや難度が高いところがたくさんありました。 具体的には、複数のマイクロサービス間の協調性や独立性とそれに付随する認証/認可、クライアント証明書(mTLS認証)の管理、歴史的経緯による複雑性を正すためのawsアカウント移行などなど。 それらは別の機会で語る(or 同僚の誰かが語ってくれることに期待したい)として、この記事ではインフラをフルスクラッチで書き直すにあたって選択したCDKTFについて、紆余曲折を経つつも最終的に採用したディレクトリ構成について書きたいと思います。 タイトルには「ベストな」とあ
パッと静的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の作成 また
「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のCo
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く