- 1. [AWS]ReactアプリケーションをS3にデプロイするときにyarn buildができない
- 2. Cognitoが現在抱えるサインアップに関するバグ(2022/03/04現在)
- 3. AWS CodeBuild をローカル環境で実行テストする方法
- 4. AWS公式資料で挑むSCS認定(11)-Artifact
- 5. 【AWS】WAFのログをCloudWatchとS3に出力する際に注意すること(メモ)
- 6. AWS RDS MySQLインスタンスの作成
- 7. AWS CLI の default profile の名前を変更したらエラーになったので調べてみた
- 8. TablePlusの書き方(sshトンネルで接続したい時)
- 9. AWS RDS用のオプショングループを作成する
- 10. AWS RDS用のパラメータグループを作成する
- 11. AWS RDS用のサブネットグループを作成する
- 12. CloudWatachでRDSのストレージ残り空き容量を監視する
- 13. AWS S3バケットの作成
- 14. AWS DBサーバー用のセキュリティグループを作成
- 15. AWS Webサーバー用のセキュリティグループを作成
- 16. AWS EC2 → S3接続用のIAMユーザーの作成
- 17. AWS ルートテーブルの作成とルートの追加
- 18. AWSのManagedPolicyを列挙する方法
- 19. AWS インターネットゲートウェイの作成
- 20. AWS VPCの中にサブネットを作成する
[AWS]ReactアプリケーションをS3にデプロイするときにyarn buildができない
# 初めに
今回はReactアプリケーションを初めてS3にデプロイしようとしたときに直面したエラーについて綴っていこうと思います。
かなり初歩的なミスなのですが、自分への戒めとして残していきます。ディレクトリ構成は以下の通り
(dockerにて環境を作っております。)“`
front
├ app
┃ ├ node_modules
┃ ├ public
┃ ├ src
┃ ├ types
┃ ├ package.json ・・・①
┃ ├ README.md
┃ ├ tsconfig.json
┃ └ yarn.lock
├ node_modules
├ Dockerfile
├ package.json ・・・②
└ yarn.lock“`
frontディレクトリにてyarn buildを実行。
“` ターミナル
$ cd xxx/front$ yarn build
“`すると、下記のエラー発生。
“`
error Command “build” not found.
info Visit https://yarnpkg.com
Cognitoが現在抱えるサインアップに関するバグ(2022/03/04現在)
## 同じ電話番号のユーザが複数同時に作られてしまう
Usernameに電話番号を指定して、SignUpAPIを一度しか叩いていないのに、
ユーザープールのコンソールでその電話番号を検索するとなぜか複数のアカウントが出現!
という事象に遭遇しました。これを**AWSのサポートに問い合わせたところ、現在かかえるバグ**なのだそうです。
ちなみに、そのユーザープールはサインアップ前のトリガーでLambdaをつかってゴニョゴニョしていたため、
トリガーの設定によるものかと尋ねたところ、それは関係なく確認されているそうです。(明確にサポート側からバグだと明言されたのは私には初めての体験でした!)
## 知っておこう
こういう事象が発生するということを認識していないと、電話番号が一意であるという前提でシステムを組んでいる場合に問題が発生します。
この挙動を知っていれば一意にするために何か別の処理を加えることで対応はできますね。## 具体例
私が最初に遭遇したのは以下のような設定のユーザープールでした。
を利用してビルドします。# 作業
## イメージ取得
まずは実行イメージとビルドイメージをpullしてきます。
“`shell
$ docker pull public.ecr.aws/codebuild/amazonlinux2-x86_64-standard:3.0
$ docker pull public.ecr.aws/codebuild/local-builds:latest
“`## 実行エージェントの取得
実行用のスクリプトをダウンロードし、権限を付与します。
“`shell
$ wget https://raw.githubusercontent.com/aws/aws-codebuild-docker-images/master/local_builds/codebuild_
AWS公式資料で挑むSCS認定(11)-Artifact
[前回] [AWS公式資料で挑むSCS認定(10)-KMS(続き)](https://qiita.com/mingchun_zhao/items/20b47d3ff2a43493aea4)
## はじめに
「自己主張ばかりじゃなく、相手の立場も考えてみー」子供の頃ケンカした自分に母が。
譲り合い、思いやりで、平和な世界は取り戻せないものでしょうか。今回から「Security, Identity & Compliance」に分類されるサービス群の勉強です。
早速、AWS Artifact。
コンプライアンス(法令遵守)管理を効率化してくれるサービスらしいです。
どのようなセキュリティサービスを提供してくれるか、わくわくしますね。## 教材を選ぶ
[[AWS Black Belt Online Seminar] AWS Artifact](
https://d1.awsstatic.com/webinars/jp/pdf/services/20210310_AWSBlackbelt_AWSArtifact.pdf)を教材として使用します。丁寧に書かれ、わかりやすい資料、感
【AWS】WAFのログをCloudWatchとS3に出力する際に注意すること(メモ)
WAFのログをCloudWatchとS3に直接出力する際には、**命名**に注意する。
以下の2つの名前を、「aws-waf-logs-」から始まるようにしなければならない。
– Cloudwatchのロググループ名
– S3バケット名
参考サイト:https://dev.classmethod.jp/articles/aws-waf-log-support-s3-and-cloudwatch-logs/
AWS RDS MySQLインスタンスの作成
# 概要
– AWSのRDSにてMySQLインスタンスを作成する。
# ご注意!!!
– AWSは従量課金です。
– 本作業で料金が発生する可能性があります。
– 筆者は本作業で発生するいかなる料金も負担する事ができません。
– ご自身の責任の下作業をお願いいたします。# 前提
– 下記のすべての作業が完了していること。
– [AWS VPCの作成](https://qiita.com/miriwo/items/b28a4395264c08d183c6)
– [AWS VPCの中にサブネットを作成する](https://qiita.com/miriwo/items/9abebd478c53744b1b05)
– [AWS RDS用のサブネットグループを作成する](https://qiita.com/miriwo/items/1c4015bd26f8f03ee9f9)
– [AWS RDS用のパラメータグループを作成する](https://qiita.com/miriwo/items/288873d24f1ec17b505e)
– [A
AWS CLI の default profile の名前を変更したらエラーになったので調べてみた
AWS CLIで`aws configure`を実行した際に自動生成される、default profile の名前を変更するとどうなるのか検証してみました。
# 前提
– AWS CLI 情報:`aws-cli/2.2.7 Python/3.8.8 Windows/10 exe/AMD64 prompt/off`
– IAMユーザーを作成済み# 結論
`Unable to locate credentials. You can configure credentials by running “aws configure”.`
というエラーが発生しました。# 検証
## 1. `aws configure`を実行して default profile を自動生成
まずは、作成済みの IAM ユーザーの認証情報で`aws configure`を実行し、default profile を自動生成します。
“`
aws configure
AWS Access Key ID [None]:
AWS Secret Access Key [None]
TablePlusの書き方(sshトンネルで接続したい時)
## どんな状況?
RDSにEC2から接続したい。
keypairを使って接続する。
EC2に接続し、そこからRDSに接続する。
RDSでEC2のセキュリティグループを許可することでRDSに接続できるように設定済み。## テーブルの追加
右クリック→New→connectionでDBの種類を追加

## では、sshトンネルで接続してみる

– [AWS VPCの中にサブネットを作成する](https://qiita.com/miriwo/items/9abebd478c53744b1b05)# 作るものの情報
– 下記で作成したプライベートサブネット2つを使ってグループを作成する。
– [AWS VPCの中にサブネットを作成する](https://qiita.com/miriwo/items/9abebd478c53744b1b05)| 項目 | 情報 | 備考 |
| — | — | — |
| 名
CloudWatachでRDSのストレージ残り空き容量を監視する
## 概要
最近CloudWatachでRDSのストレージ残り空き容量を監視したいことがあったので、手順を残します。
細かく画面の画像を用意しているので、初見の方でも設定しやすいように致しましたので、ご参考下さい。## アラーム作成
#### CloudWatchの画面から「アラームの作成」をクリック
#### 「メトリクスの選択」をクリック
#### 「RDS」クリックし、次に 「データベース別メトリクス」をクリック
AWS S3バケットの作成
# 概要
– AWSにてS3でバケットを作成する
# ご注意!!!
– AWSは従量課金です。
– 本作業で料金が発生する可能性があります。
– 筆者は本作業で発生するいかなる料金も負担する事ができません。
– ご自身の責任の下作業をお願いいたします。# 作るものの情報
| 項目 | 情報 | 備考 |
| — | — | — |
| バケット名 | dev-bucket-example | バケット名がかぶらないために苦し紛れの命名 |
| リージョン | ap-northeast-1 | |
| オブジェクト所有者 | ACL無効(推奨)を選択 | デフォルト |
| このバケットのブロックパブリック・アクセス設定 | 「パブリックアクセスをすべてブロック」のチェックを外す | |
| バケットのバージョニング | 無効にする | デフォルト |
| タグ | 追加無し | デフォルト |
| デフォルトの暗号化 | 無効にする | デフォルト |# 作成
1. AWSにログインしてS3の画面に移動する。
1. 「バケットを作成」をクリックする。
AWS DBサーバー用のセキュリティグループを作成
# 概要
– AWSにてWebサーバー用の基本的なセキュリティグループを作成する
# ご注意!!!
– AWSは従量課金です。
– 本作業で料金が発生する可能性があります。
– 筆者は本作業で発生するいかなる料金も負担する事ができません。
– ご自身の責任の下作業をお願いいたします。# 作るものの情報
– 作成するセキュリティグループに別記事で作成したdev-vpcを割り当てる。
– [AWS VPCの作成](https://qiita.com/miriwo/items/b28a4395264c08d183c6)
– 下記のセキュリティグループを作成する。| 項目 | 情報 | 備考 |
| — | —- | — |
| セキュリティグループ名 | dev-db | |
| 説明 | dev-db | |
| セキュリティグループを割り当てるVPC | dev-vpc | |
| タイプ | MYSQL/Aurora | インバウンドにルール追加 |
| プロトコル | TCP | インバ
AWS Webサーバー用のセキュリティグループを作成
# 概要
– AWSにてWebサーバー用の基本的なセキュリティグループを作成する
# ご注意!!!
– AWSは従量課金です。
– 本作業で料金が発生する可能性があります。
– 筆者は本作業で発生するいかなる料金も負担する事ができません。
– ご自身の責任の下作業をお願いいたします。# 作るものの情報
– 作成するセキュリティグループに別記事で作成したdev-vpcを割り当てる。
– [AWS VPCの作成](https://qiita.com/miriwo/items/b28a4395264c08d183c6)
– 下記のセキュリティグループを作成する。| 項目 | 情報 | 備考 |
| — | —- | — |
| セキュリティグループ名 | dev-web | |
| 説明 | dev-web | |
| セキュリティグループを割り当てるVPC | dev-vpc | |– 追加するインバウンドルール
| No | タイプ | プロトコル | ソース | 備考 |
| :-:
AWS EC2 → S3接続用のIAMユーザーの作成
# 概要
– EC2 → S3の接続に必要な権限を持ったIAMユーザーを作成する方法をまとめる
# ご注意
– AWSは従量課金です。
– 本作業で料金が発生する可能性があります。
– 筆者は本作業で発生するいかなる料金も負担する事ができません。
– ご自身の責任の下作業をお願いいたします。# 作るものの情報
| 項目 | 情報 | 備考 |
| — | — | — |
| 名前 | dev-admin | |
| AWSアクセスの種類 | プログラムによるアクセス | |
| アクセス許可の設定 | 既存のポリシーを直接アタッチ → AmazonS3FullAccess | |# 作成
1. AWSにログインしてIAMの画面に移動する。
1. サイドバーの「ユーザー」をクリックする。
1. 画面上の「ユーザーを追加」をクリックする。
1. 「作るものの情報」に記載した内容に従って入力を行う。
1. 1ページ目の入力は下記の様になる。| 項目 | 情報 | 備考 |
| — | — | — |
| 名前 | dev-route | |
| 関連付けするパブリックサブネット | dev-public-subnet-1a | |
| タグ | 入力する | キー → Name
値 → dev-route |
| デフォルトルートとigwの紐付け
AWSのManagedPolicyを列挙する方法
CDKとかCloudFormation使うときにたまに使いますが、いちいち調べに行くのも面倒なので、調べ方+現時点におけるManagedPolicyのリストを載せて起きます。
## リストアップするコマンド
“`bash
aws iam list-policies –only-attached |\
jq -r ‘.Policies[] |
select(.Arn | startswith(“arn:aws:iam::aws:policy”) ) |
.PolicyName’
“`jqでPolicyNameのみとりだしてるので、全情報ほしければ
“`bash
aws iam list-policies –only-attached |\
jq -r ‘.Policies[] |
select(.Arn | startswith(“arn:aws:iam::aws:policy”) )’
“`特定の名前のものだけフィルターしたければ
“`bash
aws iam list-policies –only-attached |\
jq -r ‘.Pol
AWS インターネットゲートウェイの作成
# 概要
– AWSでインターネットゲートウェイを作成する
# ご注意!!!
– AWSは従量課金です。
– 本作業で料金が発生する可能性があります。
– 筆者は本作業で発生するいかなる料金も負担する事ができません。
– ご自身の責任の下作業をお願いいたします。# 作るものの情報
– 別記事で作成したdev-vpc用にインターネットゲートウェイを作成する。
– [AWS VPCの作成](https://qiita.com/miriwo/items/b28a4395264c08d183c6)
– 下記のインターネットゲートウェイを作成する。| 項目 | 情報 | 備考 |
| — | — | — |
| 名前 | dev-igw | |
| タグ | 入力する | キー → Name
値 → dev-igw |
| アタッチするVPC | dev-vpc | |# 作成
1. AWSにログインしてVPCの画面に移動する。
1. サイドバーの「インターネットゲートウェイ」をクリックする。
1. 画面
AWS VPCの中にサブネットを作成する
# 概要
– AWSにてVPCの中にパブリックサブネットとプライベートサブネットを作成する
# ご注意!!!
– AWSは従量課金です。
– 本作業で料金が発生する可能性があります。
– 筆者は本作業で発生するいかなる料金も負担する事ができません。
– ご自身の責任の下作業をお願いいたします。# 作るものの情報
– 別記事で作成したdev-vpcの中にパブリックサブネット1つとプライベートサブネット2つを作成する。
– [AWS VPCの作成](https://qiita.com/miriwo/items/b28a4395264c08d183c6)
– パブリックサブネット| 項目 | 情報 | 備考 |
| — | — | — |
| VPC ID(所属VPC) | dev-vpc | |
| サブネット名 | dev-public-subnet-1a | |
| アベイラビリティゾーン | ap-northeast-1a | |
| IPv4 CIDRブロック(IPアドレスの範囲) | 10.