HAPPY HACKING Oouchi's BLOG

PSE(ポンコツエンジニア)の技術ブログ

CognitoメッセージメールをSESから送信されるようにする

はじめに AWSリソースのサービスクォータ制限の対応って情報があまりないんですね。 今回はサービスクォータ対応の一つ、CognitoメッセージをSES経由でメール送信する手順について記載しようと思います。 (adsbygoogle = window.adsbygoogle || []).push({})…

Amazon CloudWatch を使用してEC2のCPU使用率が高い時に通知する

はじめに Amazon CloudWatchはAWSリソースのパフォーマンスモニタリングに最適なサービスです。 SNSと組み合わせることでリソースの状態に合わせて通知を送ることもできます。 今回は、EC2のCPU使用率が高くなったらメール通知を実施する仕組みを構築してみ…

JavaScriptでエクスポネンシャルバックオフを実装してみる

エクスポネンシャルバックオフとは? アルゴリズムの一つです。 直訳すると「指数関数的後退」で、いわゆるリトライ処理の間隔を指数関数的に増加させる方式のことです。 リトライ間隔例:1秒、2秒、4秒、8秒・・・ docs.aws.amazon.com ユースケース 主にネ…

CognitoユーザープールをCFnで構築し、TypeScriptでユーザーを追加する

はじめに AWS Cognitoは簡単に認証基盤を作成することができます。 環境構築からサインアップまでの流れは結構な頻度で実装することになるため個人的な覚書として投稿します。 aws.amazon.com 本題 環境構築 環境構築はCloudFormationを使用します。 ユーザ…

TypeScriptでDynamoDB読み書き

はじめに TypeScriptでDynamoDBの書き込みを実装する機会があったのでメモとして残しておきます。 今回はCloudFormationでの構築からやってみようと思います。 本題 DynamoDB構築 今回はCloudFormationを使用して構築します。 テーブル定義 KeyType KeyType …

お名前.comで取得したドメインでwww無しからwww有りへリダイレクトする

はじめに 完全に自分用メモです。 ただ、これができないと結構困る人もいるのかなーと思いつつ・・ 本題 転送情報設定画面まで お名前.comNavi にログインします。 ドメイン一覧をクリックします。 ドメイン機能一覧をクリックします。 下までスクロールし、…

EC2にAuto Scalingを設定する

AWS Auto Scalingは、必要に応じてリソースを自動的に増減してくれるサービスです。 EC2を利用したスケーラブルなアーキテクチャにはほぼ必須と言っても良いと思います。 目的 EC2にAWS Auto Scalingグループを適用する スケーリングポリシーによってEC2を起…

S3内にライフサイクルルールを作成する

S3バケット内のオブジェクトのライフサイクルルールを作成する方法について記載します。 目的 S3にライフサイクルルールを付与する S3内のオブジェクトを90日後にGlacierに移行する 移行したS3オブジェクトを120日後に失効させる 本題 S3にオブジェクトをア…

WinAuthを使用してIAMユーザーのMFA認証を行う

はじめに MFAデバイスと言えば、Google Authenticatorのスマホアプリを思い浮かべる人が多いと思います。 ただ、作業環境をできるだけPCで完結したい、そもそも社内規定で私有スマホ端末の利用が難しい場合もあると思います。 そういったときはWinAuthを使用…

S3 put時に Amazon SNSを使用してメールを送信する

目的 S3のputをトリガーにSNSでメール通知を行う 本題 SNSトピックを作成 SNSコンソールを開き、トピックを押下します。 トピックの作成を押下し、トピックの作成をしていきます。 名前:TestTopic 表示名:TestTopic 他の設定はデフォルトで大丈夫です。 ト…

S3のバージョニングを有効にする

バージョニングとは 一つのオブジェクトの複数のバージョンをバケットに保持する機能 バージョン管理はS3バケットレベルで行われる バージョン毎に公開範囲を設定できる 本題 バケットを作成する S3のマネージメントコンソールからバケットを作成する バージ…

LambdaからIAMロールを作成してポリシーをアタッチする

Lambda関数 import { IAM } from "aws-sdk"; import AssumeRolePolicyDocument from "./assume-role-policy.json"; const iam = new IAM(); export const handler = (event: any) => { const roleParam: IAM.CreateRoleRequest = { AssumeRolePolicyDocument…

AWS SysOps Administrator Associate 出題分野と関連サービス概要

目的 試験の出題範囲と関わるサービス概要をふんわり把握する そもそも触ったことのないサービスや自身の理解が薄いサービスを発見する それらを試験対策の目安にする 出題範囲 分野と出題比率 分野 出題の比率 モニタリングとレポート 22% 高可用性 8% デプ…

AWS Config カスタムルールを使用してRDSを監視する

概要 AWS Config カスタムルールを使用してRDSを監視したい 更に言えば特定のインスタンスタイプ以外は違反としたい 前提 AWS Config有効化 こちらを参考にしました。 CloudFormationによるAWS Configの有効化 - Qiita 本題 lambda関数 blueprintのconfig-ru…

【新人エンジニア向け】AWSのお問い合わせガイドラインから学ぶ良い質問のポイント

はじめに 良い質問をすることって難しいですよね。 私は新人の頃、先輩社員に何をどう質問すれば良い回答をしてもらえるのかわからず、結果的に質問自体がおっくうになってしまった経験があります。 本記事では同じ経験をしてしまう人を減らすために、AWSサ…

AWS CDKを使ってTypeScriptでAWSインフラを定義する

AWS CDKなるものを使うとコードでインフラを実装できるらしいです。 やってみます。 What Is the AWS CDK? 使い慣れたプログラミング言語でAWSリソースを定義できるもの。 サポート言語は - TypeScript - JavaScript - Python - Java - C#/.NET とのこと。 C…

AWS Innovateマルチアカウント戦略

エンタープライズ組織がサービス開発を継続して行うとき、増え続けるAWSシステムに対して1つのAWSアカウントで管理を続けていくことは難しいです。 多数のシステムをシンプルかつスケーラブルに管理するためには、マルチアカウントによる管理と仕組みの活用…