各方面でご好評をいただいている本講義資料ですが,この度増補・改訂のうえ書籍として出版することが決定いたしました! 書籍限定の書き下ろしの3章 (約100ページ分!)を新たに追加して,2021年9月27日に発売予定です. この資料を気に入っていただいた方は,手に取っていただけるとありがたいです. ここで公開している資料は引き続きオンラインで無料で読めますので,ご安心ください🙇
各方面でご好評をいただいている本講義資料ですが,この度増補・改訂のうえ書籍として出版することが決定いたしました! 書籍限定の書き下ろしの3章 (約100ページ分!)を新たに追加して,2021年9月27日に発売予定です. この資料を気に入っていただいた方は,手に取っていただけるとありがたいです. ここで公開している資料は引き続きオンラインで無料で読めますので,ご安心ください🙇
AWSによるクラウド入門 少し前に話題になっていた東京大学の講義資料をやってみたので、内容、感想などメモ。 講義で使用するソースコードはすべて Python で書かれていますが、自分が実際に使うとしたら TypeScript で書くだろうなと思ったので TypeScript で写経しました。 が、CDK のコードはすべて TypeScript で書けましたが、Lambda 関数や動作確認用のスクリプトなどを全て置き換えるところまでは至らず、Python のままです。 写経したリポジトリは https://github.com/zaki-yama-labs/intro-aws に。 学べること 本講義資料には全部で5つのハンズオンがあります。 各ハンズオンで利用する AWS のサービスについては以下の通り。 全般 AWS CDK: Cloud Development Kit CloudFor
こんにちは。はてなのアプリケーションエンジニアの id:onk です。 最近、若手エンジニアを中心に、いろいろな技術を見つめ直すワーキンググループをやっています。今回は、その中から「デプロイ」の会で発表されたことをまとめました(なお、私は会のとりまとめをやっている非若手です)。 デプロイのライフサイクルの違い Infrastructure Platformでのデプロイ Application Runtime Platformでのデプロイ Applicationsのデプロイ デプロイ方式はどのように変化してきたか In place から Blue/Green へ Immutable Infrastructure という考え方 オートスケールへの対応 push 型デプロイと pull 型デプロイ コンテナによるデプロイの現況 コントロールプレーンによって何が変わったか ECS におけるデプロイ
「AWS CDK Conference Japan」は AWS CDK ユーザーが集まって事例やノウハウを共有しあうイベントです。今回は、CDKv2をメインテーマに、初の大型カンファレンスが開催されました。アマゾンウェブサービスジャパンの大村氏は「Baseline Environment on AWS (BLEA)開発にあたって検討したこと」をテーマに発表しました。まずはCDKとBLEAについて解説したのち、これからCDKを使う方たちへのナレッジを紹介します 自己紹介 司会者:次は、今までがんばってCDK(Cloud Development Kit)を普及させてきた大村さんです。 大村幸敬氏(以下、大村):よろしくお願いします。 司会者:初めて聞く単語なんですが、読み方は「ブレア」でいいですか? 大村:「ブレア」でいいです。 司会者:準備ができたらBLEA(Baseline Environ
驚くべき完成度!AWSでサーバレスAPIの作成をChatGPTに頼んだ結果〜AWSエンジニアの役割が変化する?!〜AWSCDKChatGPT記事投稿キャンペーン_ChatGPTGPT-4 はじめに ChatGPTがリリースされて日々、会話しては衝撃を受けています。 現在AWSエンジニアとして働いていますが、自分たちの働き方も大きく変わるのでは?!と感じて色々ChatGPTの使い方、自分達の働き方を模索しています。 AWSでのサーバレスAPIの作成をChatGPTに依頼たらどうなるのか? という事を現時点(2023/3/19のGPT-4)のChatGPTで試しながら、結果を元に自分たちの働き方がどう変わるのか考えてみたいと思います。 ChatGPTとは ChatGPTとは、OpenAIが開発した大規模な言語モデルです。 自然言語処理の能力が非常に高く、チャットベースで依頼・質問する事で質問応
はじめに CX事業本部の佐藤智樹です。 先日AWS DevDay Japan 2022 というイベントで「AWS CDKでECS on FargateのCI/CDを実現する際の理想と現実」というタイトルで登壇しました。 今回は上記の登壇で使用した資料の公開と発表の補足を記載いたします。 登壇動画 登壇資料 発表理由 1年前に上記の構成を始めた際に、思っていたよりは理想の状態にできないことが多々あり、情報も多くないように感じたので少しでも参考になるように実践例をベースにまとめました。同じような構成を試される際は参考になるかと思います。また発表の1ヶ月以内(2022/09~10)に結構更新があったので、昔同じ構成試してダメだった部分があったかたも参考になる部分あるかと思うのでみてもらえると嬉しいです。 最後に 本当は資料90ページぐらいになってタイトルと関連性の薄い内容(ECS on Farg
こんにちは、つくぼし(tsukuboshi0755)です! 最近ChatGPTがGPT-4Vを発表し、AI業界がさらに盛り上がりを見せてますね。 GPT-4Vを用いる事で、ChatGPTがユーザ側から入力された画像を読み取った上で、応答を返してくれるようになります。 GPT-4V(ision) system card この機能追加により、なんと以下のようにAWSの構成図を読み取って、IaCコードを生成できる事が話題になっていました。 本日をもって引退します pic.twitter.com/fygAQDQ5kj — 電気ひつじ(onoteru) (@teru0x1) October 13, 2023 これを見て私もGPT-4Vを試してみたくなったので、今回はChatGPTを使って、様々なAWSの構成図を入力し、どこまで正確にIaCコードを生成できるか確認してみます! GPT-4Vを利用する際
今日のお題 結局、CDKとTerraformどっちがいいんだろう、という宗教論争 それぞれをある程度触ってきた上での個人的見解を今後の自分のためにまとめます。 長くダラダラした記事なると思いますがご容赦を。 先に結論 CDK、非常にいいんだけれど、ちょっと辛いかも。 ずっと運用することを考えるとTerraformかな。 (2022/07/22追記) ・・・と思っていたが、使い方によってはCDKの方が良さそうという人になってきました。 その内容は こちら そもそも、CDKとかTerraformってなんだ? 一言で言えば、Infrastructure as Code(IaC)のツールです。 AWSに限らず、GCPやAzureなど様々なクラウドサービスがありますが、これらのクラウドサービス上でコードによりインフラ管理を行う仕組みがIaCです。 これにより、コードさえあれば、どのアカウントにも同じ
CloudWatchだけでは実現できない超高速なFargateのスケール処理をCDKをつかったStep Functionsで実装しているリポジトリです。是非参考にしてみてください。 「Fargateをいかに早くスケールさせるか、そこに命をかけた男がいた…」 先日参加したセミナー(コンテナ好き4名がコンテナの魅力を喋り倒すJAWS-UGコンテナ支部に行ってきた)にそんな男がいたわけですが、その仕組を改めて動かす機会があったので、紹介します。 CloudWatchを利用しないStep Functionsを利用した爆速スケールの仕組み CDKによる環境一式のデプロイ という両面で非常に参考になるリポジトリです。そのあたり興味があるかたは是非一度この記事を読んでいただきながら皆さんの環境でためしていただきつつ、今後のStep Functionsの使い方やCDKのサンプルとして活用いただければと思い
Amazon Web Services ブログ AWS環境にセキュアなベースラインを提供するテンプレート「Baseline Environment on AWS」のご紹介 みなさんこんにちは。ソリューションアーキテクトの大村です。 このブログでは、私たちAWS Japanのソリューションアーキテクトが AWS Samples に公開している 「Baseline Environment on AWS(BLEA)」について詳しくご紹介します。 これはAWSのセキュリティのベストプラクティスを実装した環境を、迅速に実現するためのテンプレートです。 セキュリティサービスだけでなく、よく利用されるアプリケーションの実装サンプルも含んでいます。これによって基本的なセキュリティを実現した状態をスタート地点としてシステム構築を開始できます。このテンプレートは単一のアカウントでも、また AWS Contro
はじめに CX事業本部の佐藤智樹です。 今回はAWS CDKでServerlessアーキテクチャを構築する上で参考となる実装が紹介されているCDK Patternsという取り組みが気になったので紹介します。 実装はGitHub上で公開されているので、いつでもすぐにcloneして動かすことができます。 この記事を読むことでAWS CDK+Serverlessで何か開発する際の設計パターンが分かり、独自に検討するより早く実装できるようになります。 正直自分でもこのパターンいいじゃん!使いたい!となったので、CDKで何か作ってる方には絶対参考になると思います。 CDK Patternsとは 以下はCDK PatternsのGitHubリポジトリからの引用です。 CDK Patterns houses an opensource collection of AWS Serverless archi
Amazon Web Services ブログ AWS CDKでクラウドアプリケーションを開発するためのベストプラクティス この記事では、AWS Cloud Development Kit (AWS CDK) を中心とした、大規模なチームで複雑なクラウドアプリケーションの開発を組織化するための戦略について説明します。AWS CDK では、開発者や管理者は、TypeScript、Python、Java、C#などの使い慣れたプログラミング言語を使ってクラウドアプリケーションを定義することができます。アプリケーションは、Stage、Stack、Constructに整理されており、ランタイムロジック (AWS Lambda コードやコンテナ化されたサービスなど) と、Amazon Simple Storage Service (Amazon S3) バケット、Amazon Relational D
Next.jsをproduction環境で使うために外観を掴んでおきたいと思い、Next.jsアプリケーションを動かすAWS環境をaws-cdkを使って構築するサンプルを作ってみた。だいぶ荒削りだけど、参考になる例にはなったと思う。 https://github.com/shibayu36/nextjs-on-ecs 利用した技術 AWS CloudFront S3 ECR ECS aws-cdk Docker Next.js + TypeScript 今回作ったアーキテクチャ 全てのリクエストをCloudFrontに通すフルCDNアーキテクチャ フルCDNアーキテクチャ実験 / Minami Aoyama Night #1 - Speaker Deck フルCDNアーキテクチャでサービス設計した話 - Speaker Deck next buildで生成した静的ファイルはS3から配信
「AWS CDK?学習コスト高そう。。」 AWS CDKは、プログラミング言語でインフラを定義できる便利なツールです。 反面、プログラミングに慣れていない人には学習コストが高そうに感じるかもしれません。 AWS CDKを使ったことがない方が学習を進めるのに役立つドキュメントや学習コンテンツをまとめてみました。 以下のような方の、参考になると嬉しいです。 AWS CDK何から始めればいいのかわからない 概要は知っているけど触ったことはない プログラミング言語を使うことにハードルを感じる 入門 とりあえず動かす とりあえず、動かしてみましょう。 CDK入門には「CDK Workshop」が有名ですが、以下の方がボリュームは少ないのでファーストステップにおすすめです。(所要時間 25分) AWS Cloud Development Kit (CDK) の開始方法 | はじめに こちらのガイドでは
【React も AWS CDK も】何も考えず VS Code に全任せして TypeScript コードをステップ実行デバッグする【できるよ!】 環境構築 「何もしてないのにできた」を実現するため、この記事ではインストール直後の Visual Studio Code と Node.js を使用しています。皆さんは今まで通りの環境で大丈夫です。 各ツール類のバージョンは執筆時点で最新のものを使用しています。 Visual Studio Code 1.52.1 Japanese Language Pack(任意) Node.js v14.15.3 プロジェクト作成 任意のディレクトリを作成し、初期化して必要なモジュールをインストールします。そして VS Code で開きましょう。 mkdir ts cd ts npm init -y npm install typescript ts-no
「TypeScriptでKubernetesのYAMLを生成できるよ!そうcdk8sならね」 というわけで、先日AWSより突然、cdk8sなるものが発表されました。 Introducing the CDK for Kubernetes, a New Software Development Framework and Open Source Project for Defining Kubernetes Applications Using Code 正直最初これを見たときの第一印象は「なんて安易なネーミングなんや…」でしたが、見れば見るほど、KubernetesのYAMLをそのまま管理する辛さに対しての別次元のアプローチとして、すごい斬新で期待感が持てたので、意気揚々とブログを書いております。この記事では、cdk8sの特徴とそれが解決してくれること、および関連リソースをまとめてます。ぜひ
こんにちは。CX事業本部MAD事業部のきんじょー(@joe_king_sh)です。 AWSでインフラを構築する際に必ず書くもの、 AWS構成図 皆さんはどうやって描いていますか? 初めからきっちり決めて作ることもあれば、試行錯誤した後、最後に残すドキュメントとして描くもあり、できることならなるべく楽して作成したいですよね。 そこで今回は、CDKで構築したAWS環境の構成図を自動生成するツール「CDK-Dia」が、実際どれくらい使えるのか検証してみました。 CDK-Diaの使い方 環境 macOS Big Sur 11.5.1 node v14.17.6 cdk 1.131.0 cdk-dia 0.3.0 インストール CDK-Diaと構成図の描写に使用するGraphvizをインストールします。 $ npm install cdk-dia $ brew install graphviz 使い
はじめに おはようございます、加藤です。AWS CDKのv1.122.0からhotswap deploymentsという機能が追加されました。 通常cdk deployを実行するとCloudFormationをデプロイしますが、このオプションがONの場合はそうせずにSDKでLambda関数をデプロイします。これによってCloudFormationを実行する時間が発生しないため素早くデプロイを行うことができます。 当然この方法によるデプロイを行うとCloudFormationが管理する状態とドリフトが発生してしまいます。この機能は開発環境で素早くデプロイして動作を確認する為のものであり、本番環境では使用してはいけません。(ドキュメントにも明記されています) hotswap deploymentsは実験的な実装であり今後破壊的な変更が入る可能性があります。 v1.122.0時点でのDocs:
Amazon Web Services ブログ CloudFormation テンプレートから AWS Cloud Development Kit への移行 AWS CloudFormation を使用すると、開発者やシステム管理者は、関連する AWS リソースのコレクションを簡単に作成および管理し、それらを整然かつ予測可能な方法でプロビジョニングおよび更新できます。AWS CloudFormation のサンプルテンプレートの使用、または独自のテンプレートの作成によって、アプリケーションの実行に必要な AWS リソース、相互の依存関係、および実行時パラメーターを定義できます。AWS サービスのプロビジョニングの順序や、それらの依存関係を解決するための詳細を把握する必要はありません。CloudFormation はあなたに代わってこれを処理します。AWS リソースをデプロイしたら、制御され
AWS CDKでコードの記述30行ほどでVPC, ECS, Fargateなどを使ったインフラ環境を構築してみました。 HAPPY BIRTHDAY, クラスメソッド! 弊社には 7月7日の会社のお誕生日にブログ書くという文化があります。 せっかくなので私も最近はまっている CDK ネタで一本書いてみようと思います。 ついこの間、はじめて CDK を使って VPC 環境を構築する機会があったのですが、思いのほかシンプルだったのでご紹介したいと思います。 作るもの VPC、 ECS、 Fargateでインフラ環境を構築します。 使うもの AWS CDK を Typescript で記述します。 cdk --version 1.32.2 tsc -v Version 3.7.4 Typescript の watch モードをオンにする 私はよくビルドし忘れてデプロイの時にこけるので Watch
はじめに おはようございます、加藤です。先日、こちらの記事で紹介しましたが、AWS CDKは本来Cloud Formationテンプレートを生成してデプロイを行いますが、Lambda関数をデプロイする際にCloud Formationを使用せずにAWS SDKを使うことで高速にデプロイする機能が登場しました。この機能はhotswap deploymentと呼ばれます。 昨日、v1.128.0がリリースされ、hotswap deploymentにECSサービスが対応しました。また、気づいていませんでしたがStep Functionsも対応していました。 デプロイ速度 具体的にどれぐらい早くなるのか、ecs-patternsのApplicationLoadBalancedFargateServiceを使った構成で試してみました。使用したDockerfileとアプリケーションは下記のとおりです。
AWS CDKでプロバイダーとしてTerraformが使える!!CDK for Terraformが発表されました!! #awscdk AWS CDKがデプロイプロバイダーとしてTerraformをサポートしました!!!まだPreview版ですが、試しにVPCを作成してみました。 はじめに おはようございます、加藤です。私にとっては今年1番熱いアップデートが来ました!AWS CDKがなんとデプロイプロバイダーとしてTerraformをサポートしました!!! ただし、今の所アルファテストステージなので、原則プロダクション環境に使うべきでありません、使う際は慎重に判断してから使用しましょう。 今まで、TerraStackIO/terrastackという同様にCDKでプロバイダーとしてTerraformを使おうとするプロジェクトはあったのですが、あまり開発は進んでいませんでした。なので、これまで
AWS Compute Blog Better together: AWS SAM and AWS CDK Today AWS is announcing the public preview of AWS Serverless Application Model CLI (AWS SAM CLI) support for local development and testing of AWS Cloud Development Kit (AWS CDK) projects. AWS SAM and AWS CDK are both open-source frameworks for building applications using infrastructure as code (IaC). AWS SAM is template-based using JSON or YAML
先日Serverless StackというAWSでサーバーレスアプリケーションを簡単に構築できるフレームワークの存在を同僚に教えて貰いました。どうやらAWS CDKをラップして実装しているらしく興味をもったのでさっそく触ってみました。 はじめに おはようございます、加藤です。先日Serverless StackというAWSでサーバーレスアプリケーションを簡単に構築できるフレームワークの存在を同僚に教えて貰いました。どうやらAWS CDKをラップして実装しているらしく興味をもったのでさっそく触ってみました。 概要 公式サイト: https://serverless-stack.com/ Serverless StackはAWSで簡単にサーバーレスアプリを構築するためのフレームワークです。 GitHubのスター数の変化を見てみると2021年1月から注目を浴びたようです。 AWS CDKをベース
AWS Developer Tools Blog Testing infrastructure with the AWS Cloud Development Kit (CDK) The AWS Cloud Development Kit (CDK) allows you to describe your application’s infrastructure using a general-purpose programming language, such as TypeScript, JavaScript or Python. This opens up familiar avenues for working with your infrastructure, such as using your favorite IDE, getting the benefit of autoc
はじめに 先日のre:Invent 2020にて、Lambdaのパッケージフォーマットとして、従来のZIP形式に加えてコンテナイメージがサポートされました。詳しくは下記を参照してください。 【速報】Lambdaのパッケージフォーマットとしてコンテナイメージがサポートされるようになりました!! #reinvent CDKでLambdaのパッケージフォーマットにコンテナイメージの定義ができると実践投入や構成を考えやすなーと思っていたところ、CDKのv1.76.0で定義できるようになっていたため、今回はそちらを試します。 以下注意点です。ご了承お願いします。 本記事は、CDK v1.76.0ベースで記載した記事となります。CDKのバージョンが上がった場合には、記事通りやっても動かない可能性があります 作成する関数は、Node12系です。別言語で作成したい方は、一部しか参考になりません 構成 概要
お仕事でAWS環境を構築する機会がありましたので、今回はじめてCDKを使って構築してみました。CDKで環境構築する記事はたくさんありますので全体は割愛するとして、本記事ではCDKを使ったECS(Fargate) Serviceのデプロイフローにフォーカスしてご紹介します。 バージョン $ cdk version 1.32.0 (build 9766ad6) 全体構成 全体構成としては、以下の図のようにオーソドックスなWeb3層アプリケーションの構成です。 ECS Serviceに関連する主なリソース構成を以下の図に示します。 このリソース構成のうち、緑色の線で示したリソースはインフラ管理用のCDKで管理し、オレンジ色の線で示したリソースはECS Serviceデプロイ用のCDKとしてアプリケーションのリポジトリで管理しています。 デプロイフロー デプロイフローを以下の図に示します。 Git
valueFromLookup このメソッドを使うと生成するテンプレートにパラメータストアに格納されていたStringを転記します。テンプレートに転記する為、SecureStringに対して使用する事ができません。SecureStringに対して使用できてしまうと、CloudFormationに対する読み取り権限があれば誰でもテンプレートを閲覧する事で内容を確認できてしまいます。Stringに対してパラメータストアの階層構造などで権限管理している場合、その管理から外れて閲覧できるユーザーが発生しうるので注意が必要です。 パラメータのバージョンはlatestに強制されます。 実は、SecureStringに対して使用する事は出来ますが、暗号化されたままの文字列で取り出されるので使い道はありません。 import { Construct, RemovalPolicy, Stack, Stack
セッション概要 PythonやTypeScriptなどのプログラミング言語でAWSの構成を記述・構築できるAWS CDKの仕組みや使い方、コーディング、テスト、CloudFormationとの違いについてDeepDiveしていく。 登壇者 大村 幸敬 様(アマゾン ウェブ サービス ジャパン株式会社) AWSの環境を構築する方法 AWSの環境を構築するには様々な方法がある。 下記に手法とメリットデメリットを記述する。 マネジメントコンソール pros 始めるのが簡単 cons 人間が操作を行う 繰り返しが可能ではない ヒューマンエラーが起きやすい 時間がかかりやすい スクリプト(SDK、CLI) pros APIが公開されているのでそれを叩く シェルで書くのでプログラム言語に慣れていないくてもかける cons apiコールが失敗した場合にどう処理するか AWS環境のアップデートを行う場合や
こんばんは。CX事業本部MAD事業部のYui(@MayForBlue)です! どうやら AWS CDK V2 がリリースされたようなので速報をお届けします。 AWS CDK V2 数時間前に以下の v2.0.0 を示すバージョンがリリースされており、CDKのV2がstableとして提供されたことが確認できます! aws/aws-cdk/Releases/v2.0.0 これまでは experimental(実験的なバージョン)として提供されていたAWS CDK V2 ですが本日よりstable(安定したバージョン)となりました! これにより、V2で利用できる機能の中で本番適用したかった機能を、開発環境などでテストした上でリリースできるようになりました。 CDKを本番利用する可能性がまた広がり、CDK利用者としても嬉しい限りです! 以上、速報としてお届けします。 引き続き利用可能になった機能を
CDKプロジェクトと必要なライブラリのインストール $ mkdir aws-cdk-construct-library-sample $ cd aws-cdk-construct-library-sample $ cdk init app --language=typescript $ npm install --save @aws-cdk/aws-lambda @aws-cdk/aws-apigateway @aws-cdk/aws-iam @aws-cdk/aws-ecs-patterns @aws-cdk/aws-ecs High Level Constructで実装 まずは、High Level Constructで実装します。Lambda + API Gatewayのリソースを作成します。 サンプル用のLambdaのコード src/handler/app.ts export as
Amazon Web Services ブログ CDK for Kubernetes のご紹介 Kubernetes を採用してアプリケーションをグローバルにデプロイし、機械学習モデルを大規模にトレーニングし、データセンターやクラウド全体において新技術の導入方法を標準化しているお客様が急速に増えてきているのを、AWS は目の当たりにしています。Kubernetes では、手作業による処理を置き換える自動ツールの構築、インフラストラクチャのあらゆる部分での運用パイプラインの実装、アプリケーションの実行方法をきめ細かく制御できるよう開発チームの支援が可能です。 従来であれば、Kubernetes アプリケーションは人間が読める静的 YAML データファイルで定義され、これを作成し管理するのは開発者の仕事でした。新しいアプリケーションの構築には、大量のボイラープレート設定を記述したり、他のプ
Amazon Web Services ブログ CDK Pipelines: AWS CDK アプリケーションの継続的デリバリ AWS Cloud Development Kit(AWS CDK)は、使い慣れたプログラミング言語でクラウドインフラストラクチャを定義し、AWS CloudFormation を通じてプロビジョニングするためのオープンソースのソフトウェア開発フレームワークです。AWS CDK は、次の 3 つの主要なコンポーネントで構成されています。 再利用可能なインフラストラクチャ・コンポーネントをモデリングするためのコアフレームワーク CDK アプリケーションをデプロイするための CLI AWS Construct Library(クラウドリソースを抽象化し、実績のあるデフォルト値をカプセル化する高レベルのコンポーネントのセット) CDK を使用すると、cdk deploy
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く