- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2023-08-14T14:16:49+09:00","default:irrp","irrp")
#author("2024-06-04T11:54:59+09:00","default:irrp","irrp")
→IaC(Infrastructure as Code)
→TypeScript関連
#contents
*一般 [#tb081f43]
-[[AWSの構成図をChatGPT(GPT-4V)に読み込ませてIaCコードを生成してみた | DevelopersIO>https://dev.classmethod.jp/articles/chatgpt-convert-aws-diagram-to-iac/]] 2023.10
-[[AWS Cloud Control API に触れてみる | iret.media>https://iret.media/80185]] 2023.9
* AWS CDK(Cloud Development Kit) [#fb553963]
-[[CI/CDはじめの一歩 IaC実践編 - CDKを使ったリソースの構築>https://techblog.asia-quest.jp/202406/first-steps-to-cicd-iac-practice]] 2024.6
-[[CodeCommitトリガーでPRの差分ファイルを取得する>https://zenn.dev/ncdc/articles/1f3a31e337c789]] 2024.4
-[[なぜCDKを使う「べき」なのだろう? - Uzabase for Engineers>https://tech.uzabase.com/entry/2024/03/29/112719]] 2024.3
-[[AWS CDKがなにもわからないので、勉強の為にAPI GatewayとLambdaをデプロイしてみた>https://zenn.dev/ncdc/articles/e900f7a18d3506]] 2024.3
-[[Claude 3とAWS CDKを使い爆速でAWSの検証が出来る環境を手に入れよう! #AWS - Qiita>https://qiita.com/yoyoyo_pg/items/dc3c0e5f4c9af9be9214]] 2024.3
-[[AWS CDKでIPv6オンリーなVPCとEC2を作成してみたけど、なかなか厳しいものがある | DevelopersIO>https://dev.classmethod.jp/articles/create-ipv6-only-ec2-by-using-aws-cdk/]] 2024.3
-[[社名変更に伴う Web アプリのドメイン変更が CDK でサクッと終わった話 - 電通総研 テックブログ>https://tech.dentsusoken.com/entry/replace_web_app_domain_using_cdk]] 2024.3
-[[初心者のためのAWS CDKを使った環境構築 #AWS - Qiita>https://qiita.com/KoutaKawaguchi1101/items/ff88e9824c82d74df424]] 2024.1
-[[LocalStackを使ってCDKをローカル環境で動作確認をしてみる - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/2024/01/24/151405]] 2024.1
-[[使い慣れたプログラミング言語でAWSのインフラ管理をする 〜AWS CDKのススメ〜 - ABEJA Tech Blog>https://tech-blog.abeja.asia/entry/advent-2023-day06]] 2023.12
-[[[AWS CDK] 一撃でIPアドレスベースのApache HTTP ServerとApache TomcatのVirtual Hostが動作しているEC2インスタンスを作成してみた | DevelopersIO>https://dev.classmethod.jp/articles/aws-cdk-httpd-tomcat-virtual-host-ip-addresses/]] 2023.8
-[[CDK(Cloud Development Kit)を始めましょう! | DevelopersIO>https://dev.classmethod.jp/articles/cdkcloud-development-kit/]] 2023.8
-[[【初心者向け】AWS CDK TypeScript 入門 - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/cdk-typescript-handson]] 2023.7
-[[AWS CDK / CDK for Terraform についての所見 - エキサイト TechBlog.>https://tech.excite.co.jp/entry/2023/07/31/162418]] 2023.7
-[[CDK(typescript)をVSCodeでデバッグ実行を行う記事 - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/2023/07/21/061111]] 2023.7
-[[ASCII.jp:AWS CDK v2における基本コマンドの操作をハンズオン形式で学んでみる>https://ascii.jp/elem/000/004/144/4144789/]] 2023.7
-[[AWS CDKで学ぶGoFデザインパターン〜IaCにもコード設計〜 / aws dev day cdk gof design patterns - Speaker Deck>https://speakerdeck.com/gotok365/aws-dev-day-cdk-gof-design-patterns]] 2023.6
-[[CDK importができないといつから錯覚していた? 〜我々にはChatGPTがいる〜 - NRIネットコムBlog>https://tech.nri-net.com/entry/cdk-import-with-chatgpt]] 2023.5
-[[CDK の node と少しだけ仲良くなる - KAKEHASHI Tech Blog>https://kakehashi-dev.hatenablog.com/entry/2023/05/24/140000]] 2023.5
-[[CDKを使用した案件のまとめ記事 - その1(パイプラインを使用してS3とCloudFrontのサイトを構成する) - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/2023/05/17/202140]] 2023.5
--[[CDKを使用した案件のまとめ記事 - その2(クロスアカウントのパイプライン構成) - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/2023/05/17/202146]] 2023.5
-[[TypeScript for CDK>https://catalog.workshops.aws/typescript-and-cdk-for-beginner/ja-JP/10-getting-started/10-setup]] 2023.5
--公式ハンズオン
-TypeScript,Python,JavaScriptなどで作ったプログラムからCloudFormationを生成できるツール
-[[AWS CDKを始めるハンズオン ─ IaCの第一歩をAWS LambdaとDynamoDBのシンプルな仕組みで学ぶ - エンジニアHub|Webエンジニアのキャリアを考える!>https://eh-career.com/engineerhub/entry/2023/04/27/093000]] 2023.4
-[[AWS CDKの基礎 - エキサイト TechBlog.>https://tech.excite.co.jp/entry/2023/03/14/081019]] 2023.3
-[[AWS CDKのテストをやってみる - エキサイト TechBlog.>https://tech.excite.co.jp/entry/2023/03/14/082100]] 2023.3
-[[AWS CDKでの開発の流れについてまとめてみた - エキサイト TechBlog.>https://tech.excite.co.jp/entry/2023/03/14/081904]] 2023.3
-[[AWS CDKでMavenではなくGradleを使用する - エキサイト TechBlog.>https://tech.excite.co.jp/entry/2023/03/14/082308]] 2023.3
-[[初めてのAWS CDKで検討したことや学んだことのまとめ - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/aws-cdk-manabi]] 2023.1
-[[AWS利用料金を毎日Slackに通知する仕組みをCDKで作りたくてやってみた | DevelopersIO>https://dev.classmethod.jp/articles/awscdk-costexplorer-notify-to-slack/]] 2023.1
-[[AWS CDKでVPC、サブネット、EC2を作成してみる | DevelopersIO>https://dev.classmethod.jp/articles/aws-cdk-vpc-subnet-ec2/]] 2023.1
-[[AWS CDKをチーム開発する際に採用したプロジェクト管理、開発のフローについて - mazyu36の日記>https://mazyu36.hatenablog.com/entry/2023/01/06/181459#%E3%82%B3%E3%83%BC%E3%83%89%E7%AE%A1%E7%90%86%E3%83%97%E3%83%AD%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6]] 2023.1
-[[AWS CDKを使ってCognitoとReactでサインインとサインアップ機能を作ってみた!|SHIFT Group 技術ブログ|note>https://note.com/shift_tech/n/na9cda6cda9b6]] 2022.12
-[[CDK with Pythonの単体テストの話 - NRIネットコムBlog>https://tech.nri-net.com/entry/unit_test_of_cdk_with_python]] 2022.12
-[[TypeScript for CDK/TypeScriptの基礎から始めるAWS CDK開発 入門>https://catalog.workshops.aws/typescript-and-cdk-for-beginner/ja-JP]] 2022.12
--[[プログラミング経験があまりない人にもおすすめなAWS CDKのワークショップ「TypeScriptの基礎から始めるAWS CDK開発 入門」の紹介 | DevelopersIO>https://dev.classmethod.jp/articles/aws-cdk-typescript-beginner-workshop/]] 2022.12
-[[AWSのCDKに入門してみた - Qiita>https://qiita.com/matsunao722/items/f18114c37f1667d171c4]] 2022.10
-[[ローカルのWindowsPCにCDK環境を作成してみた | DevelopersIO>https://dev.classmethod.jp/articles/created_cdk_environment_on_my_local_windows/]] 2022.10
-[[API Reference · AWS CDK>https://docs.aws.amazon.com/cdk/api/v2/docs/aws-construct-library.html]] 2022.9
-[[セキュリティグループ を Excelファイルで管理し、CDKで作成してみる | DevelopersIO>https://dev.classmethod.jp/articles/security-group-add-excel/]] 2022.8
-[[AWS CDKでVPCにCIDRブロックを追加してみた - JTP Technology Port>https://tech-blog.jtp.co.jp/entry/2022/08/17/080000]] 2022.8
-[[AWS CDK(L2)で作成したサブネットのCIDRを指定する方法 | DevelopersIO>https://dev.classmethod.jp/articles/specify-subnet-cidr-on-aws-cdk-l2/]] 2022.7
-[[通常のAWS CDK App開発もprojen使ったら快適だった | DevelopersIO>https://dev.classmethod.jp/articles/cdk-app-dev-projen/]] 2022.7
-[[AWS CDKの門戸を叩いてみた | DevelopersIO>https://dev.classmethod.jp/articles/tanomou-aws-cdk/]] 2022.7
--[[実践!AWS CDK #1 導入 | DevelopersIO>https://dev.classmethod.jp/articles/cdk-practice-1-introduction/]] 2021
-[[CI/CDサービスからCDKでデプロイする際、差分がないはずなのにno changeにならない原因と対策 | DevelopersIO>https://dev.classmethod.jp/articles/why-cdk-diffs-in-cicd-environment/]] 2022.6
-[[2分で分かるAWS CDK入門〜AWS CDKとは?〜>https://qiita.com/Toru_Kubota/items/e73de2c0fdf43dedfd32]] 2022.6
-[[[小ネタ]AWS CDKで管理しているリソースに一括でタグを付与する | DevelopersIO>https://dev.classmethod.jp/articles/aws_cdk_add_common_tag/]] 2022.5
-[[初めての AWS CDK 入門〜 TypeScript 編〜 - Blogical>https://blog.logical.co.jp/entry/2020/01/28/100000#%E3%82%B9%E3%83%86%E3%83%83%E3%83%97-12-Nodejs-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B]] 2020
-[[AWS CDKの学習方法 ドキュメントや学習コンテンツをまとめてみる | DevelopersIO>https://dev.classmethod.jp/articles/aws_cdk_learning_method/]] 2022.4
-[[CDK で Windows EC2 インスタンスを作成する際に AMI を指定する方法 - FFRIエンジニアブログ>https://engineers.ffri.jp/entry/2022/03/30/115909]] 2022.3
-[[AWS CDKで管理しているスタックの削除保護を有効化してみた | DevelopersIO>https://dev.classmethod.jp/articles/enable-delete-protection-for-stacks-managed-by-aws-cdk/]] 2022.3
-[[CDKを使って、一つのlambda関数でAPI設計してみた | DevelopersIO>https://dev.classmethod.jp/articles/cdk-one-lambda-apis/]] 2022.2
-[[AWS CDKとは何か、IaCの変遷を踏まえての紹介 - Sexually Knowing>https://this.aereal.org/entry/2020/09/07/174808]] 2020.9
--現代においてインフラとアプリケーションの境界は非常に曖昧 で、比較的はっきり別れていた時代に定義・設計された IaCの概念や実装から進化した存在が必要 であるという考えに応えて登場したのがAWS CDK
--AWS CDKは:
L1 layer: CloudFormationのリソース定義に一対一で対応するクラス群
L2 layer: CloudFormationのリソース定義を包みユーザーフレンドリーなAPI (intent-based API) を提供するクラス群
patterns: 1つのクラスが複数のサービスのリソースを包括的にプロビジョニングするクラス群
…の、3つの層から成り立っています。
--AWS CDKはコアがTypeScriptで書かれNPMパッケージとして配布されています。TypeScriptが第一級のサポート対象言語ですが、PythonやJavaへも移植されています。
--基本的にCDKはCloudFormationの上位互換と捉えてよいです。即ちCloudFormationでできることはすべてCDKで実現できる
--Terraformはレイヤや設計としてはCloudFormationの直接的な競合
--抽象度の点ではTerraformよりCDKの方が高い
--TerraformはAWSに限らずGCPなどのクラウドプロバイダーではなくGitHubなどのWebサービスのリソースも管理できます
--CDK for TerraformというバックエンドをTerraformとしたCDKも開発・リリースされています
-[[CDK で記述した Serverless API をローカル環境でテストする | DevelopersIO>https://dev.classmethod.jp/articles/cdk-sam-local-lambda-start/]] 2022.2
-[[CDKを使用してVPCを作成する | DevelopersIO>https://dev.classmethod.jp/articles/create-vpc-with-cdk-python/]] 2022.1
-[[実践!AWS CDK #30 よく使う CDK コマンド | DevelopersIO>https://dev.classmethod.jp/articles/cdk-practice-30-cdk-command/]] 2021.12
-[[AWS CDKをやってみた! - Qiita>https://qiita.com/akiraabe/items/86c995496d5ee2786088]] 2020
**TypeScriptによるCDK [#md5475ae]
-[[AWS CDKを使うためTypeScriptに入門したので図解してみた #初心者 - Qiita>https://qiita.com/minorun365/items/0c8a59af95309b64d624]] 2024.3
-[[TypeScript for CDK>https://catalog.workshops.aws/typescript-and-cdk-for-beginner/ja-JP/10-getting-started/10-setup]] 2023.5
--公式ハンズオン
-[[TypeScript for CDK/TypeScriptの基礎から始めるAWS CDK開発 入門>https://catalog.workshops.aws/typescript-and-cdk-for-beginner/ja-JP]] 2022.12
--[[プログラミング経験があまりない人にもおすすめなAWS CDKのワークショップ「TypeScriptの基礎から始めるAWS CDK開発 入門」の紹介 | DevelopersIO>https://dev.classmethod.jp/articles/aws-cdk-typescript-beginner-workshop/]] 2022.12
-[[【初心者向け】AWS CDK TypeScript 入門 - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/cdk-typescript-handson]] 2023.7
-[[CDK(typescript)をVSCodeでデバッグ実行を行う記事 - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/2023/07/21/061111]] 2023.7
-[[初めての AWS CDK 入門〜 TypeScript 編〜 - Blogical>https://blog.logical.co.jp/entry/2020/01/28/100000#%E3%82%B9%E3%83%86%E3%83%83%E3%83%97-12-Nodejs-%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B]] 2020
* AWS CloudFormation [#jfb39214]
-[[AWS入門ブログリレー2024〜AWS CloudFormation編〜 | DevelopersIO>https://dev.classmethod.jp/articles/introduction-2024-aws-cloudformation/]] 2024.4
-[[AWS CloudFormation IaC generatorを試してみた。 | DevelopersIO>https://dev.classmethod.jp/articles/aws-cloudformation-iac-generator/]] 2024.3
-[[CloudFormation で EC2 が全然作成されない…! - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/cloudformation-ec2-not-created-instanceprofile]] 2023.11
-[[RAGでよく使うKendraとS3をCloudFormationで構築してみた | DevelopersIO>https://dev.classmethod.jp/articles/kendra-s3-cfn/]] 2023.11
-[[AWS CloudFormationを用いたリソース構築 - Blogical>https://blog.logical.co.jp/entry/2023/04/20/173000]] 2023.4
-[[【コピペで使える】リソース削除忘れを防止する自動削除 CloudFormation を作ってみた | DevelopersIO>https://dev.classmethod.jp/articles/delete-cfn-auto-2/]] 2023.1
-[[AWS環境でDDoS攻撃を受けた時の対処をCloudFormationで自動化する(EC2編) - ISID テックブログ>https://tech.isid.co.jp/entry/2023/01/04/AWS%E7%92%B0%E5%A2%83%E3%81%A7DDoS%E6%94%BB%E6%92%83%E3%82%92%E5%8F%97%E3%81%91%E3%81%9F%E6%99%82%E3%81%AE%E5%AF%BE%E5%87%A6%E3%82%92CloudFormation%E3%81%A7%E8%87%AA%E5%8B%95%E5%8C%96%E3%81%99%E3%82%8B]] 2023.1
-[[時限式CloudFormation を作成してみた | DevelopersIO>https://dev.classmethod.jp/articles/delete-auto-cfn/]] 2022.10
-[[Snyk IaC で Cloudformation テンプレートをセキュリティ解析してみた | DevelopersIO>https://dev.classmethod.jp/articles/security-analysis-of-cloudformation-by-snyk/]] 2022.7
-[[【AWS CloudFormation/AWS CLI】複数のテンプレートで定義したParametersの値を1つのファイルで管理する方法 - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/cloudformation-parameter-management]] 2022.7
-[[CloudFormation の YAML テンプレートで特定のタグの値が true または false に自動的に変わる理由を教えてください | DevelopersIO>https://dev.classmethod.jp/articles/tsnote-cloudformation-why-does-cloudformations-yaml-template-automatically-change-the-value-of-certain-tags-to-true-or-false/]] 2022.6
-[[【駆け出しの方へ】簡易的な AWS の EC2 設定ができているか比較して確かめる用の CFn 【IaC】 - Qiita>https://qiita.com/ItsukiN32/items/a24740475be73c3b8b07]] 2022.6
-[[[小ネタ]Cloudformationで置換した文字列値と文字列を組み合わせる方法 | DevelopersIO>https://dev.classmethod.jp/articles/cloudformation-replace-string/]] 2022.5
-[[CloudFormationを使ってHTTP API(API Gateway)を構築してみる | DevelopersIO>https://dev.classmethod.jp/articles/build-httapi-with-api-gateway-by-cloud-formation/]] 2022.5
-[[【CloudFormation】一撃でプライベートサブネットにEC2を起動し、SSMポートフォワード経由でRDPする | DevelopersIO>https://dev.classmethod.jp/articles/cloudformation-private-ssmrdp/]] 2022.4
-[[AWS再入門ブログリレー2022 AWS CloudFormation (StackSets 編) | DevelopersIO>https://dev.classmethod.jp/articles/re-introduction-2022-cloudformation-stacksets/]] 2022.3
-[[CloudFormationで文字列の大文字/小文字を変換する | DevelopersIO>https://dev.classmethod.jp/articles/cloudformation-string-to-lower/]] 2022.2
-[[AWS再入門2022 AWS CloudFormation編 | DevelopersIO>https://dev.classmethod.jp/articles/re-introducation-2022-aws-cloudformation/]] 2022.2
-[[CloudFormationをゼロから勉強する。(その1:前準備) - Qiita>https://qiita.com/sakai00kou/items/46e12aa5936b6d6064f2]] 2020
-[[AWS CloudFormationのデプロイエラー - Qiita>https://qiita.com/uegaki-masaaki/items/b6a4b7ba961819ec0ce6]] 2018
--以下のようなエラーへの対応。ポリシー付与してやれば良い
User: arn:aws:iam::xxx:user/xxxx is
not authorized to perform: cloudformation:CreateUploadBucket
because no identity-based policy allows the cloudformation:CreateUploadBucket action
-CloudFormationを拡張し、Serverless Application開発を容易にした SAM(Serverless Application Model)という機能も存在する。
-SAM Localを利用すればコードを手元で動作確認しながら、サーバレスアプリケーションの開発ができます。
*AWS SAM(Serverless Application Model) [#a60b9e56]
→AWS Lambda関連
-CloudFormationを拡張し、Serverless Application開発を容易にした SAM(Serverless Application Model)という機能
-SAM Localを利用すればコードを手元で動作確認しながら、サーバレスアプリケーションの開発ができる
-[[AWS SAMのTypeScriptサポートが、いつの間にかGAになっていたという話 - CLOVER🍀>https://kazuhira-r.hatenablog.com/entry/2023/09/28/235630]] 2023.9
-[[【AWS SAM】入門してみた - サーバーワークスエンジニアブログ>https://blog.serverworks.co.jp/sam-getting-started]] 2023.4
-[[CodeDeployとSAMを利用してLambdaを更新するチュートリアルを試してみた | DevelopersIO>https://dev.classmethod.jp/articles/codedeploy-sam-lambda-tutorial/]] 2022.4
-[[AWS Serverless Application Model (AWS SAM) とは - AWS Serverless Application Model>https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/what-is-sam.html]] 2022.2
-[[AWS SAMを使ってみる>https://qiita.com/spring_i/items/e087905a82c40cf900a0]] 2019.8
-[[AWS サーバーレスアプリケーションモデル - アマゾン ウェブ サービス>https://aws.amazon.com/jp/serverless/sam/]]
--AWS サーバーレスアプリケーションモデル (SAM、Serverless Application Model) は、サーバーレスアプリケーション構築用のオープンソースフレームワークです。迅速に記述可能な構文で関数、API、データベース、イベントソースマッピングを表現できます。リソースごとにわずか数行で、任意のアプリケーションを定義して YAML を使用してモデリングできます。デプロイ中、SAM が SAM 構文を AWS CloudFormation 構文に変換および拡張することで、サーバーレスアプリケーションの構築を高速化することができます。