投稿

ラベル(AWS-CDK)が付いた投稿を表示しています

AWS-CDKでECSの構成作ってみた

  AWS-CDK で ECS/Fargate の NativeのBlue/Green 使える構成を作ってみた。とはいえほとんど Cline 任せでしたが・・・・ ECSのCDK構成に関しては他の方々が色々と作成されているし、そちらの方が有益な記事だと思うのでそちらを読んでいただいた方がいいかなと。 まぁ他と違う点としては ・configのtsファイルを使用してパラメータ可変にしているところ ・scripts配下にEC2のユーザスクリプト埋め込める ・configgenerator使えばウィザードとかCSVからconfig生成できるところ ・buildspec.yamlをファイル、Git、インラインから選べる 位ですね。 あまり有益じゃないと思いますが、まぁ備忘録的に残しておこうかと思います。 かなり複雑なので、なんかイケてないし残念な感じです。 CDKは構成決めてからシンプルに作らないと意味がないなという教訓は得られました。 一応、CI/CDをCodePipeline経由でできるようにしています。GitHubとAWS接続させて連動させることはできます。 awscdk_ecs_backendsample の方がECS用のコードで、 awscdk_ecs_frontendsample がCloudFront+S3のStaticWebSiteHosting用です。buildspec.yamlはGitHub側で制御する感じです。 完全にテストしたってわけでないので挙動怪しいし、意図通り動かないかもしれないです。 ちなみに全リソース構築すると完了までに50分位かかります。CI/CDのSNSのメールのSubscriptionも飛んでくるので許可してやる必要あります。 ◆GitHub(作成したCDKなど) https://github.com/Otazoman/awscdk_ecs_sample https://github.com/Otazoman/awscdk_ecs_backendsample https://github.com/Otazoman/awscdk_ecs_frontendsample ◆参考サイト ・ECSのCDK化 https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/...

CDKで静的WebSiteホスティング

  このサイト のGitHubをCloneしてきてCloudFront+S3やってみました(ほぼ丸パクリ)。 1リージョンでしか作成できなかったのでバージニア北部リージョンで作成した ACM を使えるようにして東京リージョンでS3を使えるようにしたかったので、やってみました。たぶん、そういうニーズあるの自分くらいでしょうけれども・・・。 修正したやつは以下のGitHubmに上げてます https://github.com/Otazoman/static-website-cdk-sample ◆環境構築(node) $ nvm install --lts --latest-npm $ nvm alias default 'lts/*' $ node -v v20.13.1 ◆AWS-CDKインストール $ cd $ mkdir aws-cdk $ cd aws-cdk $ echo 'lts/iron' > .nvmrc $ nvm use $ npm install -g aws-cdk $ npm install -g typescript $ cdk version 2.141.0 (build 3d1c06e) 既存のソース使ってるのでクロスリージョンのところでかなり嵌ってしまって、何とか調べながら対応しました。かなり時間かかった。(一応、苦労した箇所の説明) まず、スタックからhostedzone取得するところで必要になるパラメータを吐き出してやります。 // for Cross Region this.certificateArn = certificateConstruct?.certificate.certificateArn || ""; this.hostedZone = hostedZoneConstruct ? { hostedZoneId: hostedZoneConstruct?.hostedZone.hostedZoneId, zoneName: hostedZoneConstruct?.hostedZone.zoneName, } : undefined; ...