aws (13)

SAMとGitHubActionsでNuxtをSSR構成で構築したい

Serverless Framework (sls) で API Gateway + Lambda で SSR を構築する文献は多いのですが、SAM や CloudFormation に慣れている身としてはどうも sls は取っつきづらくインフラコードが SAM で完結すると嬉しい。ということで SAM で SSR するコードを考えてみた。

SAMでJestを使っていると遭遇するNetworkErrorを解決

SAMでSendGridをコールするAPIを作っているとJestのテスト時にNetworkErrorに遭遇しました。結論、Jestのテスト環境の設定をデフォルトの'jsdom'から'node'に変えることで解決。原因はハッキリと言えないのですが、node環境下でサーバサイドを組んでいるのなら環境を'node'にしてテストするのが当たり前っぽいです

AWSCLIv1をPipenvで管理したい

私は下記の観点のもと AWS CLI を Python のバージョン・パッケージ管理と仮想環境を使ってプロジェクト単位でインストールしています。身も蓋もないですが、ローカル環境をあまり汚したくない。Python のパッケージ管理で AWS CLI 自体のバージョン管理が行える。パッケージ + Git 管理下で、新たな端末または他者にも AWS CLI の環境構築が展開しやすくなる。CICDツール や AWS の CodeDeploy を導入している際にどの道必要となる場合がある。

CognitoのSDKでアドレス変更してもコード未確認状態で使えてしまう問題

CognitoでemailをSDKで変更すると、確認コードが未検証のまま変更アドレスでアクセスができてしまいます。バグっぽくて公式な対応はまだなのですが、GithubのIssueに有志の方が対応策を上げてくれています。対応策はAmplifyベースですが、今回はそれをJavaScriptSDKをベースに実装してみました。

CodePipelineの状態をCodeStar Notificationsで通知

CodePipeline で CI/CD を組んでいると各ステージの進捗状況や結果を CloudWatch と SNS を使って Slack 等に通知されている方もいるかと思いますが、これを CodeStar Notifications と言うサービスの通知機能を使えば簡単に代替することができます。今回は CodeStar Notifications + SNS + Lambda を使って CodePipeline の状態通知を Slack に送信する仕組みを作ってみます。

AWS SAM CLIでSlack通知のLambdaを簡単に開発・デプロイ

Lambda から Slack への通知は昔からこすられてるネタですが、わざわざ AWS SAM CLI を使って検証している方は少ないように思います。そこで今回は Slack 通知の Lambda を AWS SAM CLI で簡単に作成してみようと思います。

[初心者向け] 小さなサーバーをAWSのCloudFormationで構築してみる

近頃、インフラ設定の再利用性と属人性の最小化を目的にインフラのコード化を強く意識し始めたのですが、今回はAWSの Infarastructure as Code(IaC)サービスの1つである CloudFormation を使って、なるべく簡単にAWSの小さなサーバ環境を構築してみます。