- 1. Amazon S3
- 2. AWS認定ソリューションアーキテクト-アソシエイト(SAA-C02) 受験録
- 3. Cognito Hosted UI を Nuxt.js で利用する方法の比較検討 (amazon-cognito-auth-js vs aws-amplify/auth)
- 4. AWS初心者日記
- 5. S3の特定のフォルダのみを許可するIAMポリシー
- 6. AWS IoT Coreの証明書を使ってS3にファイルをアップロードする
- 7. Proxyサーバを用いるAWS環境でPatch Managerがこける場合の確認事項
- 8. 1からゲーマー向けWebサービス作って収益化までした話
- 9. 【初学者】AWSハンズオン④仮想サーバ(EC2:Windows)へログイン
- 10. 【AWS】用語を整理しながら学ぶ AWS – part5 Cloud Formation – 4
- 11. AWS X-Rayってなんだろ?
- 12. 【Rails】AWS「S3」に画像アップロードする
- 13. AWS Cognito ユーザープールID、クライアントIDが漏洩したときの影響
- 14. S3バケット内のGlacierファイルのみ抽出して標準クラスへ移行させる
- 15. Cognito + JavaScriptによるユーザーごとのS3フォルダアクセス制御
- 16. AWSのElasticBeanstalkでdjangoのmigrateをさせるには
- 17. AWSのElasticBeanstalkでデプロイ時にDjangoのcollctstaticを実行させるには
- 18. Terraform RegistryのAWSモジュールを使いつつ既存VPCをインポートする
- 19. Auroraのパラメータグループ確認方法
- 20. Google Chatのチャットルームへメッセージを投稿するLambda関数
Amazon S3
#Amazon S3(Amazon Simple Storage Service)とは?
**「S3はユーザがデータを安全に、容量制限なく、データ保存が可能な、オブジェクトストレージ」**
#利用シーン
過去のデータをS3に退避させる、加工する、別のデータストアにロードする、直接PUT/GETするなど#Amazon S3の特徴
・容量無制限:1ファイル**最大5TB**
・高い耐久性:**99.999999999%**
・安価なストレージ:容量単価 **月額1GB/約3円**
・**スケーラブル**で安定した性能#Amazon S3の用語
バケット:オブジェクトの保存場所、各AWSアカウントにでデフォルト**100個**まで作成可能、名前は**一意**である必要あり。
オブジェクト:データ本体、S3に格納されるファイルでURLが付与される。オブジェクト数は**無制限**。1オブジェクトサイズは**0から5TB**
キー:オブジェクトの格納URLパス
メタデータ:オブジェクトに付随する属性の情報
リージョン:バケットを配属するAWSのリージョン#Data Consist
AWS認定ソリューションアーキテクト-アソシエイト(SAA-C02) 受験録
## はじめに
2021/3/27(土)に、AWS認定ソリューションアーキテクト-アソシエイト(SAA-C02)を受験し
無事合格してきたので、他の方の参考になればと思い記事を書きました。試験の概要と所感、利用した教材をさっくり記載させて頂きました。
## 試験概要
| 受験料 | 15,000(税別) |
|:–|:–|
| 試験時間 | 130分 |
| 問題数 | 65問 |
| スコア範囲 | 100-1,000点 |
| 最低合格スコア | 720点 |## 申し込みについて
ピアソンVUEを利用※予約について
会場によっては、数日先の日程が割と空いてたりする (土日は1月前くらいの予約が良さそう)
期限が近くなるとドタキャンする人が増えてくるので、
予約画面に張り付けば、案外直近の土日でも受験が可能だったりする。## 勉強時間
30時間程度## 利用した教材
###黒本* [リンク](https://www.amazon.co.jp/%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5-AWS%E8%AA%8D%E5%AE%
Cognito Hosted UI を Nuxt.js で利用する方法の比較検討 (amazon-cognito-auth-js vs aws-amplify/auth)
# はじめに
[先にも書いた](https://qiita.com/t-kigi/items/7ead0e8946f69b1eefad) のだが、記事執筆の 2021年3月末現在 Cognito のライブラリ実装は Amplify に取り込まれている。
しかし、自分は現時点では [**まだ** Amplify にすべてを任せられる状況ではないと考えている](https://qiita.com/t-kigi/items/cd78a2bfbf80dfa1e2ee) ので、IDaaS として Cognito を Amplify と切り離して使いたい。 そのために色々と調査したので、その過程を記す。
## 前提: Cognito UserPool の設定
UserPool は事前に作成して適時設定し、アプリクライアントの設定として以下の設定を行っている。 URLからもわかる通り、ローカル環境での動作となる。
– アプリクライアントのドメイン: `example.auth.ap-northeast-1.amazoncognito.com` (example を入力したもの)
– コ
AWS初心者日記
AWSクラウドプラクティショナーをとりたいなと思って、勉強のメモをしていきます。
S3の特定のフォルダのみを許可するIAMポリシー
S3の特定のプレフィックスに限定して、S3オブジェクトの基本操作(読み込み、書き込み、削除、オブジェクト一覧確認)のみを許可するIAMポリシーは、
# 結論
“`json
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“s3:GetObject”,
“s3:PutObject”,
“s3:DeleteObject”
],
“Resource”: [
“arn:aws:s3:::BUCKET/PREFIX/*”
]
},
{
“Effect”: “Allow”,
“Action”: [
“s3:
AWS IoT Coreの証明書を使ってS3にファイルをアップロードする
IoT Coreの証明書を使ってAWSのサービスを利用するための認証情報(アクセスキーIDとシークレットアクセスキー)を発行することができます。
IAMポリシーとうまく組み合わせることで、モノの名前のフォルダー配下だけにアクセスができる構成とすることができます。
設定ファイルをおいてみたりすると実用的ではないでしょうか。“`console
S3
└バケット
├デバイス001 ←他のデバイスのフォルダーは見れない
│ └settiong.json
├デバイス002 ←自分のフォルダーは見れる
│ └settiong.json
├デバイス003
│ └settiong.json
└デバイス004
└settiong.json
“`参考サイト
* https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/authorizing-direct-aws.html
* https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/example-p
Proxyサーバを用いるAWS環境でPatch Managerがこける場合の確認事項
クマ松です。
Windowsサーバへパッチを適用する為にSystems Managerの一機能**Patch Manager**を用いている方も多いのでないでしょうか。
インターネットへの通信時にProxyサーバを経由させる環境でPatch Managerが異常終了した場合に、まず確認した方が良いことをご紹介します。1. SSM Agent のプロキシ設定(レジストリ)
1. WinHTTP プロキシの設定
1. LocalSystemユーザーアカウントのInternet Explorerのプロキシ設定10.10.10.10:8080というプロキシとポートを利用しているような環境で、コマンドや確認結果を解説します。
##SSM Agent のプロキシ設定
SSM Agentのプロキシが設定されているかを確認します。
Environmentにhttp_proxyとno_proxyが設定されていることを確認しましょう。“`powershell
PS C:\Windows\system32> $serviceKey = “HKLM:\SYSTEM\CurrentContro
1からゲーマー向けWebサービス作って収益化までした話
こんにちは。javasparrowです。
先日、趣味で作っていたTFT VideosというWebサービスをリリースしました。
https://loadeddice.lol/tftvideosそこそこ反響があり、なんとブラジルの方に宣伝していただけたりしました!
Mano como eu amo um trabalho bem feito, esse cara do japão fez um site que tu puxa as partidas de vod do cara direto de forma automatica e ainda consegue skipar pro round que tu quer. Ainda faltam alguns jogadores mas ele vai adiciona-los aos poucos https://t.co/4Wa6M4Qv2G pic.twitter.com/2yASmruv4G
— Fabio Figueira (@techzz_) March 22, 2021
このWebサービスの構想段階から実装、広告掲載による収益化まで一通り行ったので、同じようにWebサイトを作って収益化したいと思っている皆様に役に立てたらと思い記事を残します。
# 構想段階
前々からTeam Fight Tactics(TFT)というゲームにはまっていて、プレイヤーとしてもそうですが何かTFT関連のWebサービスを作ってみたいを前々から思っていました。
いくつかアイデアがあったのですが、これだ!と思ったのがTFT Videosの構想でした。
TFTはe-sportsの一つに属するゲームで、海外ではプロプレイヤーや賞金が出る大会も開催されています。
このようなゲームではうまい人のプレイを見るの
【初学者】AWSハンズオン④仮想サーバ(EC2:Windows)へログイン
## はじめに
[【初学者】AWSハンズオン①VPC構築](https://qiita.com/i3no29/items/3c36ee1fe93d5c7f6f0d)
[【初学者】AWSハンズオン②仮想サーバ(EC2)の作成](https://qiita.com/i3no29/items/0afc2e06a5c3e7190361)
[【初学者】AWSハンズオン③仮想サーバ(EC2)へログイン]
(https://qiita.com/i3no29/items/ed8a73853055ce83440b)
の続きから、④__仮想サーバ([EC2](https://aws.amazon.com/jp/ec2/?ec2-whats-new.sort-by=item.additionalFields.postDateTime&ec2-whats-new.sort-order=desc):Windows)__へ__ログイン__についてのハンズオン記事を書いていきます。## 前提
いままで書いていなくて申し訳ございません、著者のいなむらはMacBookProにて環境を設定しております。
MacBoo
【AWS】用語を整理しながら学ぶ AWS – part5 Cloud Formation – 4
# はじめに
この記事では AWS Cloud Tech を通して Cloud Formation を学習して実践していく記事です。
主な内容としては実践したときのメモを中心に書きます。(忘れやすいことなど)
誤りなどがあれば書き直していく予定です。## 前回までのおさらい
前回は VPC を構築してプライベートサブネットとパブリックサブネットに
ネットワークを切るところまでやりました。[【AWS】用語を整理しながら学ぶ AWS – part5 Cloud Formation – 3](https://qiita.com/ymd65536/items/b75dcdbbf39c0f592a5c)
## 今回やること
前回構築した VPC 上に EC2 を建てる。
今回はキーペアを利用することとし、AMI の ID はハードコーディングする。EC2 構築後、コラム的な話題として
いかにして認証情報をコードに載せないかについて調べた内容を共有します。ちなみに今回は EC2 を建てるだけでかなりつまずいたのでその
AWS X-Rayってなんだろ?
なんかカッコ良さそうな響きですが、何となく分析サービス?ぐらいにしか思っていないので、調べてみました。
# ドキュメント
[AWS X-Ray(分散アプリケーションの分析とデバッグ)| AWS](https://aws.amazon.com/jp/xray/)## ざっくり
– 本番環境や分散アプリケーションを分析およびデバッグ
– アプリケーションやその基盤となるサービスの実行状況を把握
– パフォーマンスの問題やエラーの根本原因を特定
– アプリケーション内で転送されるリクエストがエンドツーエンドで表示
– アプリケーションの基盤となるコンポーネントのマップも表示簡単にまとめると、
「アプリやアプリ基盤を分析し、エラーや問題の原因を特定できるサービス」
といったところでしょうか。アプリだけかと思っていたので、アプリ基盤まで分析できることは初めて知りました!
## ざっくりメリット
– リクエスト動作の確認
– アプリケーションの問題の検出
– アプリケーションのパフォーマンスの向上
– AWS との連携
– さまざまなアプリケーション向けの設計## イメージ
!
【Rails】AWS「S3」に画像アップロードする
# はじめに
`Rails`で作成したアプリケーションの画像投稿を`S3`にアップロードする方法です。# 環境
Rails 6.0.0
MacOS Catalina 10.15.7
ローカルシェル:zsh
本番環境:AWS EC2
自動デプロイツール:Capistrano
アプリケーションサーバー:Unicorn# IAM作成
S3アクセス用のユーザーを作成。1.ユーザー名は任意で作成
2.次にアクセス権限設定
3.既存のポリシーを直接アタッチを選択
4.「AmazonS3FullAccess」に設定
5.次のステップへ進みユーザー作成作成後、認証情報をダウンロード(.csv)
後に「AWS_ACCESS_KEY_ID」、「AWS_SECRET_ACCESS_KEY」の値が必要です。また`IAM`の「ユーザーのARN」も必要になります。
# S3 バケット作成
・バケット名は任意で
・リージョンも任意で(今回は東京リージョン)続いてセキュリティの設定を行う。今回はバケットポリシーを使用して、セキュリティ設定を行う。
1.`「パブリックアクセスをすべてブロッ
AWS Cognito ユーザープールID、クライアントIDが漏洩したときの影響
# 影響範囲
https://aws.typepad.com/sajp/2017/05/aws-black-belt-online-seminaramazon-cognito_qa.html
↑こちらの記事に以下の質問と回答を見つけた。(2017/05/17)
>Q8: UserPoolIdとClientIdが漏れたときの影響範囲について教えてください。
>A8: UserPoolIdとClientIdを知ったクライアントがSignUpを実行できるようになります。しかし、一般的にConsumer向けのモバイルアプリやWebサービスはそもそもエンドユーザに新規ユーザ登録等の操作を許すことが多いため、Cognito Your User Poolsで構築したサービスに誰でもユーザ登録ができること自体は通常特に問題にはなりません。もし第三者によるユーザ登録操作を制限したいのであれば、ユーザ登録用のAPIを用意してクライアントからはそのAPIにアクセスするようにし、API内でAdminCreateUserなどを使ってユーザ登録を代行する方法などが考えられます。
# テスト
**1
S3バケット内のGlacierファイルのみ抽出して標準クラスへ移行させる
#1. はじめに
S3バケット内に標準クラス(Standard)とGlacierのファイルが混在している環境を想定し、Glacierファイルのみを抽出して標準クラスへ移行させます。
リクエストに対して料金が発生するため、ファイル数が多いと費用が高くなる点に注意してください。#2. S3の構成
下図のように、標準クラスとGlacierが混在した状態としています。ファイル名は「半角英数字記号」、「日本語、スペースを含む」の2種類を用意しました。
日本語やスペースを含むファイルでも処理ができることを併せて確認するため、日本語を含むファイルをGlacierに移行させてあり、これらのファイルを標準クラスに戻す処理を実行します。
![rapture_20210330171853.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535463/b747f221-3f09-8fa1-19d0-e55abc3c2ed1.png)#3. Glacierファイルの一覧を作成
まずはS3バケットの中からGlacierのファ
Cognito + JavaScriptによるユーザーごとのS3フォルダアクセス制御
CognitoとAWS SDK for JavaScriptを使って、S3フォルダにCognitoユーザーごとのアクセス権を割り当てる機能を実装します!
## 要件
ログインしたユーザーが自分のフォルダにのみ画像をアップロード・表示できるブラウザ画面を作成します。– Cognitoへのサインアップ、ログイン機能の実装
– 写真のアップロード・表示機能の実装(各フォルダに1ユーザー割り当て)
– フォルダはコンソールから手動で作成(自動がよかったですが時間がありませんでした)#### 予備情報
以下の記事が今回のベースになってます。なので先にこちらをハンズオンしておくと理解がスムーズだと思います。1.写真アップロード
https://docs.aws.amazon.com/ja_jp/sdk-for-javascript/v2/developer-guide/s3-example-photo-album.html
2.Cognitoサインイン・ログイン機能実装
[AWSのCognitoを使って画
AWSのElasticBeanstalkでdjangoのmigrateをさせるには
####.ebextension内に適当な.configファイルを作成
以下のコードを作成した.configファイルに記述
すると、デプロイ時にmigrateされる。“`
container_commands:
migrate:
command: |
source $PYTHONPATH/activate
python manage.py migrate –noinput
AWSのElasticBeanstalkでデプロイ時にDjangoのcollctstaticを実行させるには
####.ebextension内に適当な.configファイルを作成
以下のコードを作成した.configファイルに記述
すると、デプロイ時にstaticのファイル類が一箇所に集約される。“`
container_commands:
01_collectstatic:
command: |
source $PYTHONPATH/activate
python manage.py collectstatic –noinput
“`
Terraform RegistryのAWSモジュールを使いつつ既存VPCをインポートする
AWSでWebアプリを動かす場合、stagingやproductionといった環境ごとにVPCを分けるケースが多いと思います。VPCを作ったことがある方なら分かると思いますが、Webアプリを動かすために作成しなければならないVPC関連のリソースは結構多いです。
– VPC
– インターネットゲートウェイ
– ルートテーブル
– サブネット
– ルートテーブルとインターネットゲートウェイの関連付け
– ルートテーブルとサブネットの関連付け
– セキュリティグループ(本記事では説明しません)パブリックに公開するなら最低限これくらいは必要ですが、管理コンソールでポチポチ作るのも大変ですし、Terraformの [AWS Provider](https://registry.terraform.io/providers/hashicorp/aws/latest/docs) を使っても各リソースごとに設定を記述する必要があり、面倒ですしコード量も大きくなります。
そこで、[Terraform Registry](https://registry.terraform.io/) に登録されて
Auroraのパラメータグループ確認方法
・max_connection
パラメータグループに設定値が書いてあるが、計算式で書かれていたりするので実際の値は下記クエリで確認する“`
MySQL [(none)]> SHOW VARIABLES LIKE ‘max_connections’;
+—————–+——-+
| Variable_name | Value |
+—————–+——-+
| max_connections | 2000 |
+—————–+——-+“`
気になったものはどんどん追記していく
Google Chatのチャットルームへメッセージを投稿するLambda関数
# 前提
* Python 3.8
* 標準ライブラリのみ
* 対象チャットルームにて着信Webhook作成済み# コード
【】は各自環境の値で修正“`python
import json
import urllib.requestdef lambda_handler(event, context):
# TODO implement
message_detail = ‘from aws lambda’message = {‘text’: message_detail}
url = ‘【作成した着信WebhookのURL】’
headers = {‘Content-Type’: ‘application/json; charset=UTF-8’}
byte_encoded = json.dumps(message).encode(‘utf-8’)req = urllib.request.Request(
url=url
, data=byte_encoded