less is more

心のフルスタックエンジニア👨‍💻バイブスでコードを書いています🤘

CloudFormation

cloudformation:CreateStack のオプションを整理する

aws-cli のドキュメントをもとに一つずつ見ていく。 create-stack — AWS CLI 1.18.78 Command Reference --stack-name スタック名。必須。 英数字またはハイフンのみ。 最大128文字で、先頭は英文字でなければならない。 また、リージョン内でユニークという…

CloudFormationを扱う際のIAMの考え方

あるスタックを作成するケースを考える SQSのキューを1つだけ作るテンプレートを用意する。 # sample.cf.yml AWSTemplateFormatVersion: "2010-09-09" Resources: SampleQueue: Type: AWS::SQS::Queue とあるIAMユーザーのプロファイルを指定してcreate-stac…

イメージが残っているECRを含んだCloudformationスタックは削除できない。なのでできるようにした。

できない ECR単体の削除であれば、例えばCLIだったらecr delete-repository --forceとすればイメージごとリポジトリを削除できるのだが、Cloudformationのスタックとして作成されている場合、イメージが残っているとスタックの削除に失敗する。このケースに…

GoでAWS APIをモックする

開発中のCLIツールのテストで、AWS API の呼び出しをモックする仕組みを試行錯誤したのでメモ。 github.com ツールでは aws-sdk-go を用いてAPIを呼び出している。 例として、CloudFormation の ListStacks API をモックする。 サービスクライアントを差し替…

CloudFormationでECSのBlue/Greenデプロイができるようになったので試す

概要 これまで CodeDeploy と連携させて実現していた ECS の Blue/Green デプロイが CloudFormation にインテグレートされて、Externalなデプロイメントコントローラーとして使用できるようになりました。これによって、一連のデプロイパイプラインをテンプ…

aws-sdk-goを触ってみた所感

普段はcli, Ruby, Node.jsなどでAWSと戯れていますが、今回初めてaws-sdk-goを使ってみたので所感をしたためておきます。 ▼題材はこれです。 bluepixel.hatenablog.com Rubyで書いた40行ほどのスクリプトをGo実装で焼き直してみました。 rezept/main.go at m…

CloudFormationで使われていないExportを洗い出す

CloudFormationにおいてスタック間で値を受け渡したいときに、参照される側で出力値をエクスポートして、参照する側でFn::ImportValueで読み込む方法があります。 docs.aws.amazon.com エクスポートされている値は各スタック詳細の出力や[エクスポート]から…

CloudFormationのスタックのdiffをGithubで参照できるようにする

続きです。 bluepixel.hatenablog.com 自前のGithub Actionを作っていきます。 ワークフローの内容 CloudFormationで作成したスタックを更新する際、変更セットというものを作る必要があります。 この変更セットには、どのリソースの何が変更されるのが、置…

自前のGithub Actionsを作ってみる

この記事を書いた時に、プラットフォームの発展に結構可能性を感じたので自分でも作ってみる。 bluepixel.hatenablog.com 何を作るかはさておき、まずは作り方を一通り調べてみる。 ドキュメントはここから。 help.github.com 基本的な仕様 About actions - …