理系学生日記

おまえはいつまで学生気分なのか

aws

AWS SDKのサポート期間

aws

プロダクトの新規開発はもちろん、一度リリースした後も、プロダクトの維持・保守は重要です。 プロダクトの維持・保守には、セキュリティパッチの適用、バグフィックス、機能追加などが含まれます。 そこでは当然、利用しているライブラリのEOL等も認識して…

Route 53で取得したドメインを別のAWSアカウントに移管する

Route 53で登録した自分のドメインを、別のAWSアカウントへ移管する必要が生じました。 この方法については、異なる AWS アカウントへのドメインの移管で紹介されています。 今回は、AWS CLIを利用して移管を実施しました。マネジメントコンソールからは実行…

Serverless FrameworkでLambda関数を個別にパッケージングする

最近、Lambda関数はServerless Frameworkで管理することが多くなってきました。 Serverless Frameworkでは、一般に「Service」という単位で複数のLambda関数を管理します。 Serverless Framework Services デプロイ自体も、このService単位で行います。 # Se…

Amazon PinpointでiPhoneにPush通知を送信する

最近関わっている案件で、モバイルアプリへのPUSH通知を必要とする気配があります。このPUSH通知は、特定タイミングで、特定の条件を満たすユーザに対して通知しなければなりません。 モバイルアプリや通知に関しては赤子のような知識しかなかったので、色々…

AWS SDK for JavaScript v3のGetObjectCommand、TypeScriptで使いにくくないか?

S3上にあるオブジェクトの内容をTypeScriptで読み込みたい、こういうユースケースは多数あります。 自身としては今回初めて、AWS SDK for JavaScript v3の@aws-sdk/client-s3を使って実装してみました。 そこで感じたのは、GetObjectCommandまわりのインタフ…

TerraformでMultiAZ構成のAmazon Aurora Serverless v2を構築する

Amazon Aurora Serverless v2 Amazon Auroraはコンピューティングとストレージを分離した構成をとるデータベースです。 そして先月に、そのServerless版の新しいバージョンである、Amazon Aurora Serverless v2がGAになりました。 ここで言う「Serverless」…

CognitoのHosted UIを独自ドメインでホストするところまでをTerraformで構築する

かなり沼にハマりましたが、TerraformでAmazon CognitoのHosted UIを独自ドメインでサーブするところまでを構築できました。 実装はこちら。 構築のハマりどころ Hosted UIに割り当てる証明書はバージニアで作成する Hosted UIに割り当てる独自ドメインの1つ…

AWSのVPC Reachability Analyzerで疎通性を確認する

課題 解決に向けて 構成 感想 課題 プライベートサブネットに対し、SSM Agentを インストールしたEC2を配置しました。セッションマネージャー経由で接続を試みたところ、どうも疎通ができません。 解決に向けて そこで思いあたったのがReachability Analyzer…

Puppetterを使ったアプリをコンテナ化してLambdaにデプロイする

ChromeやChromiumをNode.jsから操作できるライブラリとしてPuppetterがあります。 これを使うと、Chromeでできるさまざまな事柄が自動化できます。 一方で、PuppetterはChromeを内蔵しており、Lambda関数化したとしてもそのサイズは非常に大きくなります。 L…

GitHub ActionsでAWSのクレデンシャル登録なしにAWS操作を行う

これまでGitHub ActionsからAWSのリソース操作しようとすると、以下のような対応が必要でした。 権限を絞ったロールを付与したIAMユーザを作成する そのアクセスキーIDをGitHub Actionsに登録し、Jobから利用できるようにする しかし、GitHub ActionsがOIDC…

TerraformでAWS Budgetsを設定する

プライベートでもAWSを使っているのですが、そういえばAWS Budgetsを設定しようと思って忘れていました。 AWS Budgetsとは AWS Budgetsは、コストや使用量を追跡し、予実の可視化やコスト等が閾値を突破したときのアラートを通知してくれたりするサービスで…

AWS SDK + LambdaでAWSの前日コストをSlackに通知する

AWSを使っていると、変な使い方をしてると予算をオーバーしてしまいます。 このため、日次でAWS Cost Explorerを確認しているのですが、これはこれで面倒です。 面倒な行為というのはだいたい能動的な確認が求められるのから面倒であるので、 AWS Lambdaから…

Eponaをリリースした

この間ようやくDevOps環境構築キットEponaというものをOSSとしてリリースしました。 DevOps DevOpsという言葉は様々な場所で聞きますが、理解するのがとても難しいです。 ずっと頑張って学んでいますが、まだまだ奥深く、いくらでも掘り下げるところがありま…

Alpine ベースのコンテナイメージで AWS CLI v2 を使う

CI/CD で以下のコマンドを実行したかっただけでした。 $ aws ecr get-login-password | docker login --username AWS --password-stdin [AWS Account ID].dkr.ecr.ap-northeast-1.amazonaws.com/my-repository このコマンドラインには 2 つの実行バイナリが…

CodePipeline 失敗時のトラブルシュートのノウハウ

CodePipeline + CodeDeploy で ECS へのデプロイメントパイプラインを組んでいたんですが、このパイプラインが様々な理由で失敗します。 マネジメントコンソールで確認しても、Internal error 的な文言しか表示されず、とにかくデバッグがしんどいです。 つ…

CodePipeline から別アカウントの ECR ソースを参照する

CodePipeline から別アカウント上の ECR を Source Action から指定したい。 これはそれなりに存在するユースケースではないでしょうか。 この実現にマジで苦しんだので、葛藤の記録を残しておきます。 概観 バケットポリシー CodePipelie からクロスアカウ…

AWSクロスアカウントでTerraformを実行する

以下のエントリで記載したように、AWS 上においてはマルチアカウントで環境を構成することがベストプラクティスとされています。 このエントリでは、Custodian アカウントという概念が登場しました。これは結局 IAM ユーザやグループを 1 つのアカウントにの…

AWS におけるマルチアカウント構成の動向

aws

AWS で環境を構築する際はマルチアカウントになることが多い、これは理解していたつもりでした。 stg 環境と prod 環境は AWS アカウントごと分ける。dev 環境も分ける。 しかし、世の中のベストプラクティスはもっと先を行っていました。 なぜアカウントを…

AWS Organizations を使って AWS アカウントを自動で作成する

AWS においてはマルチアカウント戦略が重要とされています。 たとえば、開発環境/ステージング環境/本番環境といった各環境は、セキュリティ、ガバナンス面で分離すべきです。 メンバーの権限管理がすっきりする 特定の環境の作業が他環境に影響しない この…

「AWS IAM のマニアックな話」を呼んだ

AWS 初心者なんですが、今後 AWS とガチで向き合う必要が出てきました。 AWS といえば、まず押さえるべきは IAM でしょうということで、「AWS IAM のマニアックな話」を読みました。 全体的な感想 IAM の運用 踏み台アカウントという概念 今後 全体的な感想 …

Terraformに入門してサーバを構築してみるまで

VPS を何年も前に解約してから Linux の遊び場もなくなってしまっていたのですが、 AWS を勉強したこともあり、あー EC2 なり S3 なり使えば色々できるなぁと思い立ちました。 せっかくなので、楽に遊び場を作ったり消したりしたいなぁということで、 Terraf…

Amazon Web Services クラウドデザインパターン実装ガイド

30 週くらい遅れて AWS クラウドデザインパターン実装ガイドを読み終わりました。 これ、5 年くらい前に買ったんですが、ずっと積読しておりました…。おい、そしたらいつの間にか改訂版もでてるぞ、おい…。 Amazon Web Services クラウドデザインパターン実…

AWS ソリューションアーキテクトの勉強をはじめる

本格的に AWS の勉強を始めようかということを思っています。 同期が昔に言っていて影響を受けたのは、"体系的に学ぶときは資格試験対策をするのが一番早い"ということもあって、最初のターゲットをソリューションアーキテクトに合わせて勉強を進めています…

AWS Glacier

aws

刺激的なタイトルとともに、AWS の新サービス、Glacier がローンチされてました。 -AWS News Blog **Glacier とは データバックアップやアーカイブ向けのクラウドストレージサービスです。1 ヶ月あたり $0.01/GB という破格の値段。ファイル自体は、AES-256 …