- 1. AWS ElasticBeanstalkでeb-engin.logにはSUCCESSと出るが、WEBコンソールではERRORになる
- 2. Visual Studio CodeでAWS構成図やシーケンス図を含めたMarkdownを作成する
- 3. AWS VPC/サブネットを作成する(2022年)
- 4. AWS CDK + TypeScript でサーバレス開発その1 : Hello world!
- 5. VPCフローログを試してみた(勉強メモ用)
- 6. SnowconeのJobステータスがImportingから遷移しなかった件
- 7. AWS IAMをざっくりと理解する
- 8. Amazon S3 Storage Lens とは
- 9. 【やってみた】初期状態のAWSアカウントのSecurity Hubスコアはなんと!!
- 10. Lambdaの関数 URL(Function URLs) を使用時、Basic認証をかける
- 11. AWS Cognito ユーザープールを認証制御に利用してLambda関数を呼び出す
- 12. Amazon Pinpoint で SMS を送るときに、表示名を指定する Sender ID を設定してみる
- 13. TerraformでDMSレプリケーションインスタンスを自動構築する(検証エラーを検知する編)
- 14. AWS Amplifyでバックエンドを揃える
- 15. AWS amplify の概要とReactを例に初期セットアップまで
- 16. AWS Lambda,DynamoDB間のCRUD操作
- 17. 【AWS】CloudWatchでテストログを流す(ログインベントの作成)
- 18. 【怒りを昇華】AWS・ピアソンVUEなどの問合せ先リンク集&オンライン試験当日にトラブった話
- 19. 【AWS】Systems Manager Agentアップデート
- 20. AWS SNSによる、メール送信・プッシュ通知(nodejs)
AWS ElasticBeanstalkでeb-engin.logにはSUCCESSと出るが、WEBコンソールではERRORになる
# 状況
## eb-engin.log
![Image from Gyazo](https://i.gyazo.com/f4b6e1a70d2f2c5d5af30050d37f0d66.png)
ちゃんとSUCCESS!と出てます。## WEBコンソール
![Image from Gyazo](https://i.gyazo.com/750928fd6d092db4998350ad742b4931.png)
ERRORが出ています。(訳:デプロイが中止してる間に、新しいバージョンがデプロイされたっぽいよ。もう一回デプロイしてね)# 原因
EB > 設定 > ローリング更新とデプロイ > コマンドタイムアウト
が短いから# 対処
EB > 設定 > ローリング更新とデプロイ > コマンドタイムアウト
を3600秒に変更したら成功しました。
![Image from Gyazo](https://i.gyazo.com/6e81740bda3bf94406c4f0da147427fd.png)
Visual Studio CodeでAWS構成図やシーケンス図を含めたMarkdownを作成する
# はじめに
Visual Studio CodeでMarkdownを作成するときに、内部にdraw.ioで作成したAWS構成図やシーケンス図などを簡単に埋め込む方法をメモしておきます。最終的なイメージは以下のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2708575/79d47ef9-1bd8-d6d6-7a17-fccb9d6e3a3a.png)
# 前提条件
– Visual Studio Codeをインストールしていること。
# 事前準備
Visual Studio Codeで以下の拡張機能をインストールします。
– Markdown All in One
– Markdown Preview Enhanced
– Draw.io Integration
– PlantUML# 記載方法
まずは適当にMarkdownファイルを作成します。ここではtest.mdとします。
Markdownの基本的な記載方法については割愛します。“`
AWS VPC/サブネットを作成する(2022年)
## 目標
こんな感じのVPCとサブネットの構成を作る
![Untitled Diagram.drawio (4).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1287520/a8a61797-b9e3-b362-2701-4c74b462bc14.png)## 手順
– AWSのマネジメントコンソールからVPCを作成クリック
VPCの作成画面からサブネットの作成まで一気にできるようです。(VPCなどタブをクリック)
下記画像の赤線部分を編集しています。VPCのCIDERブロック設定
![VPC.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1287520/0d2985ea-ee10-5038-ca89-054eb5739bf9.png)
サブネットのCIDERブロック設定とVPCエンドポイントをなしにする
![VPC2.png](https://qiita-image-store.s3.ap-nor
AWS CDK + TypeScript でサーバレス開発その1 : Hello world!
# 概要
AWS CDKでサーバレス環境を構築するシンプルな方法のメモ。
# 前提
– 筆者の環境はMac + VSCode。
– AWS CDKを使ったことがある。
– Node.jsがインストールされている。# 手順
## 雛形の作成
aws-cdkを使ってプロジェクトの雛形を作成する。
“`bash:ターミナル
mkdir project-name
cd project-name
cdk init app –language typescript
“`TypeScriptは直接ts-nodeが実行するので、typescriptパッケージはアンインストールしておく。tsconfig.jsonも削除する。
“`bash:ターミナル
npm uninstall typescript
rm tsconfig.json
“`package.jsonからtsc関連のスクリプトも削除しておく。
“`diff:package.json
“scripts”: {
– “build”: “tsc”,
– “watch”: “tsc -w”,
VPCフローログを試してみた(勉強メモ用)
## VPCフローログとは
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/flow-logs.html
>VPC フローログは、VPC のネットワークインターフェイスとの間で行き来する IP トラフィックに関する情報をキャプチャできるようにする機能です。フローログデータは Amazon CloudWatch Logs または Amazon S3 に発行できます。フローログを作成したら、選択した送信先でそのデータを取得して表示できます。
>・フローログは、以下のような多くのタスクに役立ちます。
・制限の過度に厳しいセキュリティグループルールを診断する
・インスタンスに到達するトラフィックをモニタリングする
・ネットワークインターフェイスに出入りするトラフィックの方向を決定する
>フローログデータはネットワークトラフィックのパスの外で収集されるため、ネットワークのスループットやレイテンシーには影響しません。ネットワークパフォーマンスに影響を与えるリスクなしに、フローログを作成または削除できます。## 構成図
下記環
SnowconeのJobステータスがImportingから遷移しなかった件
## 経緯
Snowfamilyの一つであるSnowconeを使用してS3バケットでデータの移行を行った。
5日経ってもJobのステータスが「Importing」だったためサポートに問い合わせをした。
結果として初歩的なミスだったものの、問い合わせをしなければ事象が発見できない(コンソール画面では確認できない)ため、メモとして残しておく。## 何がよくなかったか。
・Snowcone Jobの作成時に、IAMロールはデフォルトを使用。
・格納先のS3バケットは暗号化されている。***つまりは、SnowconeがS3バケットへデータを書き出す際に使用するKMSへの権限が不足していた。***
## やったこと
・SnowconeにアタッチされているIAMロールへ暗号化に使用している鍵への権限を追加
・サポートへ連絡しJobの再実行を依頼## まとめ
Snowconeはまだ日本語の記事が少なく手探り状態だったこともあるが、よく確認せずにデフォルトのIAMロールを使用したことが原因。(~~ポップアップも出るのにガン無視していた~~
AWS IAMをざっくりと理解する
# 本記事の概要
本記事にアクセスしていただきありがとうございます。
この記事は、AWS IAM(以下、IAM)の基本的なところを図を用いてできる限りわかりやすく説明することを目指しました。
この記事のゴールはIAMについて以下のことを理解できるようになることです。* IAMとは何か、なぜ必要なのか
* IAMを構成する中心的な4つの要素(ユーザー・グループ・ポリシー・ロール)がそれぞれどのようなものか特に2つ目の点について、図を用いて重点的に説明しています。
皆さんのIAMについての理解がよりクリアになることに繋がれば幸いです。また、私自身まだ知識が未熟なところがございますので、もし間違い等ありましたらコメントいただければと思います。
# 対象読者
* IAMを学習したけどいまいち理解がはっきりとしなていない人
* IAMについて簡単にどのようなサービスかを理解したい人
* (IAMを学習し始めた時の自分)# 本編
## IAMとは
AWS IAM(正式名称:AWS Identity and Access Management)は、AWSリソースへのアク
Amazon S3 Storage Lens とは
## 勉強前イメージ
s3の中の機能なんだろうけどlensはなに??
## 調査
### Amazon S3 Storage Lens とは
S3の利用状況を把握することができる機能です。
オブジェクトストレージの利用状況とアクティビティの傾向を可視化して
コストの効率やデータの保護に関してのベストプラクティスに向けたものが提供されます。
AWS Organizationsと連携するとアカウント全体のストレージの使用状況など管理できます。cloudwatchのメトリクスで標準のメトリクスだと無料で使えます。
高度なメトリクスだと有料になります。Storage Lensを見ると、アカウント個人、全体の容量がどれだけなどぱっと見で見れるような感じです。
### 作ってみる
s3からダッシュボードを作成します。
![1S3 Storage Lens dashboard – Google Chrome 2022-07-.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/42d36
【やってみた】初期状態のAWSアカウントのSecurity Hubスコアはなんと!!
[個人ブログ](https://twelve.tk/aws-security-hub-initial-score/)からの転載です。
新規作成したアカウントのSecurity Hubのスコアがいくつか見てみようと思います。
# AWSアカウントの新規作成
AWSアカウントの新規作成は、Organizationを使って作成しました。
# Security Hub有効化手順
## Configの有効化
Security Hubを使用するためにはConfigを有効化する必要があります。
1. Configの管理画面を開き、1-Clickセットアップをクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/7a1b7ea5-dc74-c5fb-b34f-b68e3f7a7345.png)1. 確認をクリック
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com
Lambdaの関数 URL(Function URLs) を使用時、Basic認証をかける
# はじめに
先日、Lambda単体でHTTPSエンドポイントから実行可能になる機能が追加しました。
特定のリソースのみLambdaを実行できるようにするためには、Basic認証を適用する必要があったため、その方法についてまとめます。https://dev.classmethod.jp/articles/aws-lambda-function-urls-built-in-https-endpoints/
# Lambdaを実行する認証タイプ
– `AWS_IAM` – IAM の権限に基づいて、リクエストを認証および承認します。権限は、`lambda:InvokeFunctionUrl`を付与したIAMポリシーをIAMロール、もしくは、IAMユーザーに適用し、lambdaを呼びます。
– アクセスするためには`AWS Signature Version 4 (SigV4)`を使用して、HTTPリクエストに対して署名する必要があります。– `NONE` – Lambda を呼び出す前の認証を実行しません。関数 URL への、未認証でパブリックなアクセスを許可するには、
AWS Cognito ユーザープールを認証制御に利用してLambda関数を呼び出す
## AWS API Gateway ユーザープールとは
– [AWS Lambda関数](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html)をインターネット経由でREST API として呼び出すことができます。
– API呼び出し毎の認証が設定可能です。本記事では認証のバックエンドにCognitoを利用します。
– [Amazon API Gateway の概念](https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/api-gateway-basic-concept.html)## この記事の目的
– AWS Cognitoから発行した認証トークンを利用してAWS API Gatewayを経由してLambda関数を呼び出すよう構成します。
– これによりセキュリティが確保されたAPI呼び出しを実現します。## ?以下は”AWS Cognito ユーザープールからの認証トークン取得”を前提とします。詳細は下の記事参照
Amazon Pinpoint で SMS を送るときに、表示名を指定する Sender ID を設定してみる
# はじめに
Amazon Pinpoint や Amazon SNS を使って SMS (ショートメッセージサービス) を送ると、携帯電話の電話番号を宛先にしてメッセージを送信できます。何も意識しないで、デフォルトのまま SMS を送信すると、日本だと基本的には送信元が `NOTICE` と表示されます。
![image-20220703170453052.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1002774/9e8cc896-3685-42c2-a343-8d5895e93de6.png)
自分たちが提供しているサービスで、たとえばワンタイムパスワードを SMS で送りたいときに、`NOTICE` と表示されるのはちょっと味気ないです。また、`NOTICE` という表示名が他のサービスと被っていると、同じ画面の中に異なるサービスのメッセージが表示されるので、基本的には独自の表示名に変えたくなります。
このときに、Pinpoint や SNS では、大きく分けて 3 つの方法を
TerraformでDMSレプリケーションインスタンスを自動構築する(検証エラーを検知する編)
# はじめに
DMS記事第3弾。DMSの検証タスクは、なぜか検証エラー数のメトリクスが標準では累計でしか提供されていない。
これでは、バリデーションエラー検知時に都度アラームを上げるということができなくて困るではないか。
というわけで、今回はDMSと言いつつ、CloudWatchメトリクスを駆使してアラームを上げてみようという話。DMSのインスタンスやタスクについては、以下の過去記事をベースに作っているため、こちらを使って構築していただきたい。
– [基本編](https://qiita.com/neruneruo/items/d327e2e0bf504c4c8c43)
– [ロギング編](https://qiita.com/neruneruo/items/04fb2c45cfcbe92801ef)# 検証タスクを使うための設定
検証タスクを有効にするには、タスクの設定に以下の部分を追加しておく。
“`EnableValidation: true“`により、検証が実行されるようになる。各パラメータの詳細は[公式のユーザーガイド](https://docs.aws.ama
AWS Amplifyでバックエンドを揃える
# このページは
## 前提
以下を実施していることが前提です。
https://qiita.com/masakichi/items/a912268696290d9c9086以下を参考に進めていきます。
https://docs.amplify.aws/start/getting-started/auth/q/integration/react/#create-authentication-service## APIの追加
バックエンドにAPIを追加する。
“`
amplify add api
“`:thinking:(メモ) GraphQL annotated schema
ここまででは、まだ実際に追加されておらず、追加するリソースの候補にとどまっている。
以下コマンドで追加候補のバックエンドリソースを確認。“`
amplify status
“`以下コマンドで実際に追加する。
“`
amplify push
“`## 認証機能の追加
バックエンドに認証機能を追加する。
“`
amplify add auth
“`
先ほど作成したAP
AWS amplify の概要とReactを例に初期セットアップまで
# このページは
個人趣味レベルで開発はしたことがあるけど、業務開発経験はこれからレベルの自分が噛み砕いた内容で記載。## AWS Amplifyとは
### As is
開発してサービス作りたいけど、ホスティング先考えたり、データベース準備したり、リリースの仕組み用意したり、結構やること多い。### To be
UIになるフロントエンドやサービスロジックの開発に集中して、バックエンドの諸々準備に手間をかける必要なし。### 手段
AWS amplifyを使って開発する。## AWS Amplifyの実態
自分の理解では以下。
### AWS Amplifyライブラリ
開発するフロントエンドのソースコード内でインポートをかけて利用するライブラリ。
ライブラリで準備されているメソッドを利用し、バックエンドとの連携・操作を一元サポートしてくれる。### Amplify CLI
コマンドライン操作でAWSのバックエンドを準備・管理できる。データベース作ったりAPI追加したり。### AWS Amplify Console
CI/CDとフロントエンドのホスティング
AWS Lambda,DynamoDB間のCRUD操作
## DynamoDBの環境準備
DynamoDB→テーブル→テーブルを作成からテーブル名peopleを作る。
パーティションキーを文字列型のSrとする。
そして、以下のようなテーブルを作成する。
![スクリーンショット 2022-07-03 14.07.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2040882/ec6515e6-c6c9-9575-5c35-5c0fa5e6edf3.png)## AWS Lambdaの下準備
流れとしてはロールにポリシーを当て、そのロールをサービスで使用するといった流れになる。まず実行ロールを作る。IAMからアクセス制限→ロール→ロールの作成を選択。
信頼されたエンティティタイプ:AWSのサービス
ユースケース:Lambdaを選択。
次に、AmazonDynamoDBFullAccessを許可ポリシーに選択。
ロール名をここではlambda-dynamodb-fullaccessとする。
## AWS Lambdaの下準備2
【AWS】CloudWatchでテストログを流す(ログインベントの作成)
CloudWatchでテストログを流す方法を書きます:pencil:
何らかの形でログをCloudWatch以外にとばしていて、
飛ばした先で正しくログが表示されているか確認したいときとかに使えます:bird:## 使い方
出力させたいログストリームまで移動します。
CloudWatch→ログ→ロググループ→ログイベント→ログストリーム
→アクション→ログイベントの作成![スクリーンショット 2022-07-03 13.58.02.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/984662/fb31a977-d7b0-dfbe-e0d7-aa176174d55e.jpeg)
飛ばしたいメッセージを入力→作成
(連携先でフィルタされてる場合とか、正しく拾えるメッセージを入力しましょう)
![スクリーンショット 2022-07-03 14.02.24.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/984662/4
【怒りを昇華】AWS・ピアソンVUEなどの問合せ先リンク集&オンライン試験当日にトラブった話
# はじめに
備忘録を兼ねて、
[AWS認定試験に関する問合せ先](https://support.aws.amazon.com/#/contacts/aws-training/) と、
[ピアソンVUEの(AWS認定に関する)問合せ先](https://www.pearsonvue.co.jp/aws/contact/)
(と、その他おまけ少々)を掲載します。AWS認定試験をピアソンVUEで受験する上で何かしらの問合せが必要となった方や、これから受験予定で、万一の場合に備えたい方の参考となれば幸いです。
また、タイトルが穏やかではないですが、試験当日まさかの事態に直面し、この哀しみをどうすればいいの?(←著作権ギリか?)と感じたので、[そちら](#オンライン試験当日にトラブった話)についても記載します。
# リンク集
– __AWS認定__
– __AWS認定試験に関する問合せフォーム__(「はじめに」記載のもの)
[https://support.aws.amazon.com/#/contacts/aws-training/](https://support.aws.am
【AWS】Systems Manager Agentアップデート
仕事でやる機会があったので備忘:pencil:
## 対処すべきSSMAのバージョン
AWSから通知あり。WindowsSever上で稼働するSystems Manager Agentの下記バージョンで
ClouwdWatchプラグインを利用してCloudWatcログ送った場合、**インスタンスが高負荷**になる場合あり。
CPU高負荷なのですぐ対処しましょう。該当バージョン:**3.1.804.0、3.1.821.0、3.1.941.0、3.1.1004.0**
## アップデート方法
一般的なコンソールからのアップデート方法を記載します。
なお、前提としてインスタンスにSSMインスタンスプロファイルが
アタッチされていることと、SSMエンドポイントと通信できる必要があります。AWS Systems Manager→Run Command→コマンドの実行
名前:**AWS-UpdateSSMAgent**
ドキュメントのバージョン:1(デフォルト) ※最新が適用されます
![スクリーンショット 2022-07-03 12.48.54.jpg](https://qiita
AWS SNSによる、メール送信・プッシュ通知(nodejs)
# 要件
検証済みのメールアドレスへメール送受信可能です。登録済みのグループ内のメールアドレスへ一斉送信します。# 前提
– Node.js環境
– AWSアカウント
– メールアドレス事前登録し済み(topicやSubscription作成済み)# 専門用語
– DeviceToken
モバイル端末(デバイス)固有の値
– EndPoint
配信対象端末を識別するためのデータです。
DeviceTokenより作成する、端末を識別するためのID
– Topic
配信対象をグルーピングし、配信対象に一斉に通知を配信するための機能です。
– Subscription
Subscriptionとは、作成したTopicと配信対象のEndPointを紐づけるデータです。# 処理フロー
## プッシュ通知
![プッシュ通知フロー](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2491433/f3f1ae1c-4705-c935-9eab-f67ebfcfcd6b.png)
## メール送信
![メール送信フロー