- 1. 【AWS】ECS Serviceの監視をCFnで設定する
- 2. AWS〜VPCでネットワークを構築する①〜
- 3. 【WIP】AWS学習
- 4. 独自ドメインを取得し、サイトをSSL化対応するまでを全てAWS上で行ってみた。
- 5. AWS AppSync+TerraformでサーバレスなWebアプリケーションを自動作成する
- 6. LocalStack を使って無料で AWS を学ぶ
- 7. AWS WorkSpaces でウェビナー配信をしたときのメモ
- 8. spring-cloud-starter-aws-parameter-store-configを利用してAWS SSMパラメータストアからパラメータを取得する
- 9. 【Ruby On Rails】RubyAws::Sigv4::Errors::MissingCredentialsErrorについて
- 10. AWS(IAM)
- 11. 無料で始める初めてのAWS② Linux 仮想マシンを起動
- 12. AWS EC2でターミナルを落としてもアプリが実行し続けるように設定する(デーモン化手順)
- 13. 無料で始める初めてのAWS① AWSのアカウント作成
- 14. 【AWS SOA】ELB Pre-Warmingの備忘録
- 15. AWS Textractでテキスト抽出やーる(Python3.6)
- 16. ElasticBeanstalk worker環境 の 3つのタイムアウトの違いについて
- 17. cloudfront経由でs3とelbに接続する
- 18. スマホにAWS Consoleアプリをインストールして課金状態などを確認する
- 19. AWS EC2インスタンスからのS3のバケットとElastiCasheのRedisへ疎通確認をする
- 20. AWS は ”銀行” に例えるとわかりやすい説 ②
【AWS】ECS Serviceの監視をCFnで設定する
ECS ServiceのCPU使用率とタスク数をCloudWatch Alarm・SNS・ChatBotを利用して監視したいと思います。
リソース構築にはCloudFormation(以下CFnと略)を使います。# 前提
監視対象のECS Cluster・Serviceが既に構築済み
# 要件
– 共通
– 正常(OK)・異常(ALARM)の通知
– CPU使用率
– 80%を超過したら通知
– タスク数
– 2個未満になったら通知# CFn
“`yaml
AWSTemplateFormatVersion: 2010-09-09####################################################
# Parameters
####################################################Parameters:
# 監視対象のECS Cluster
EcsClusterName:
Type: String
# 監視対象のECS Service
AWS〜VPCでネットワークを構築する①〜
# この記事を読んでできるようになること
AWSでVPCを作成し、ネットワークを構築するための**基礎**を学ぶことができる。
# 記事を読むにあたってのお願い
私は**AWSの初学者**で、アウトプットをすることで知識を定着させるためにこの記事を書いています。内容に誤りがある場合は、コメントをいただけますと幸いです。
`学習に使用した教材`
AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得
https://www.udemy.com/course/aws-and-infra/
# AWS・ネットワークの基礎知識
### リージョンとは
AWSが提供されている地域のこと。
アジアだと東京やソウルなどがある。
### アベイラビリティゾーンとは
各リージョンに存在するデータセンターのこと。
リージョンごとに複数のアベイラビリティゾーンが存在する。インスタンス(EC2で作成したサーバー)を複数のアベイラビリティゾーンに設置し、1つのインスタンスに障害が発生しても他のインスタンスで要求を処理するように設定することができる。**(障害に強くな
【WIP】AWS学習
参考になった資料、書籍をまとめておく、備忘録
##awsのハンズオン
[Udemy で AWS を学んでみた(1)
](https://note.com/oka__r_____/n/na89bfe0a9457)[AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得
](https://www.udemy.com/course/aws-and-infra/)##Terraformについて
[Terraformとは?
](https://qiita.com/m_masashi/items/d3b3413066f47e86432d)
独自ドメインを取得し、サイトをSSL化対応するまでを全てAWS上で行ってみた。
この度AWS SAA試験を受験することに決め、勉強の一環として
AWSで独自ドメインの取得からそれをサイトに割り当て、SSL化対応するまでを実際にやってみました。
以下備忘録として完了までの手順をまとめてみようと思います。# 必要手順
・EC2インスタンスを取得
・インスタンスにElastic IPの割り当て
・Route53で独自ドメインの取得
・ACMでSSL証明書の取得
・ELBを設定
・DNSを設定大まかな手順は以上なのですがこれらの手順の中身をざっと説明していきます。
##EC2インスタンスを取得
まずは今回ドメインを付与する予定のwebサーバーをEC2にて作成します。##インスタンスにElastic IPの割り当て
EC2に割り当てられたパブリックIPは停止状態から起動する際にそのつど変更されてしまいます。
そのためElastic IPを割り当て、パブリックIPを固定します。##Route53で独自ドメインの取得
AWSのサービスの一つであるRoute53にはドメインを登録できる機能があるのでこちらで今回使う独自ドメインの登録を行います。
ドメインには種類
AWS AppSync+TerraformでサーバレスなWebアプリケーションを自動作成する
# はじめに
サーバレスやるならAPI GatewayだけじゃなくてAppSync知っておけよ、という天の声が聞こえてきたので、作ってみた。たぶん慣れればお手軽。GraphQLとVTLを覚えるコストがかかるといったところか。
# 全体構成
以下のような構成にする。AppSyncを使うので、Lambdaすら不要。
静的コンテンツはS3から取得し、DynamoDBからAppSyncをデータを取得する。
別にCloudFrontを経由する必要はないのだが、AppSyncがCORSを扱えないため、静的コンテンツと同一オリジンになるよう、CloudFrontにぶら下げる。![構成図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/111314/343175de-4e94-80ce-1e1e-1b4aff7ba164.png)
さて、それぞれのTerraformリソースを見ていこう。
# Terraformリソース定義
## DynamoDB
DynamoDBは、ユーザIDをハッシュキーとしたテーブルに
LocalStack を使って無料で AWS を学ぶ
## 序論
本稿は [元市役所職員がWEBプログラマに転職するまでのロードマップ](https://qiita.com/amenoyoya/items/3b63a3fead17bc656f34) の連載記事の一部です。
本稿は、クラウドコンピューティングサービスの代表とも言える **AWS** に入門するための足がかりを作ることを目的として執筆されています。
海外においては、クラウド化したものの「やっぱりオンプレミスの方が安心だよね」と言ってオンプレミスに回帰する「脱クラウド化」が進みつつあるという話もあります。
しかし、やはり簡単にコンピュータリソースを調達したり、出来合いのサービスを利用できるクラウドコンピューティングサービスは、サーバ・インフラ技術者にとって魅力的な技術だと思います。そのため、今後もクラウド化の波はしばらく続くと予想され、AWS の技術を学んでおくことは有用であると考えられます。
## AWS
– **AWS**: Amazon Web Services
– Amazon が提供するクラウドコンピューティングサービスの総称
– 物理サ
AWS WorkSpaces でウェビナー配信をしたときのメモ
2020/10/26 に JAWS UG 名古屋で、AWS WorkSpaces + OBS + Chime でウェビナー配信を試してみました。
その時の配信はこちら
https://www.youtube.com/watch?v=67u_ss-TbUg準備から配信、WorkSpaces 削除までの手順の防備録です。
# 手順メモ
忘れないうちに手順ステップをメモ
## 設定
– WorkSpaces インスタンス起動
– PowerPro を使用。
– シンプルな配信 + Chrome の Tweetdeck でのタイムライン表示ぐらいできる。
– CPU 占有率 90%
– fast.com の結果は 260Mbps ぐらい
– AutoStop で使用。AlwaysOn の場合は月額になる
– AutoStop の時間を必要に応じて1時間から増やす。勉強会の準備時間から終了までは動き続けるようにする。
– Audio Driver インストール
– Google Drive に事前にインストールするアプリ群を ZIP ファイル化
– Chro
spring-cloud-starter-aws-parameter-store-configを利用してAWS SSMパラメータストアからパラメータを取得する
SpringCloudを利用してAWS SSMパラメータストアに設定したパラメータを取得する方法のメモ
## 目的
セキュリティの観点からアプリケーション内のプロパティファイルに認証情報を保持しないようにするため、起動時のSSMパラメータストアから必要なプロパティ値を取得できるようにする。
## 前提
EC2で起動するSpringBootアプリケーションがRDSへの接続情報をSSMパラメータストアから読み込む
## ライブラリ設定
build.gradleのdependenciesに下記追加“`
implementation ‘org.springframework.cloud:spring-cloud-starter-aws-parameter-store-config’
“`## プロパティファイル
“` bootstrap.properties
cloud.aws.stack.auto=false
cloud.aws.region.auto=false
cloud.aws.region.static=ap-northeast-1# Parameter
【Ruby On Rails】RubyAws::Sigv4::Errors::MissingCredentialsErrorについて
# エラーの背景
AWS導入後、ローカル環境で開発中のアプリから画像をアップロードし、実際に保存した物がS3に保存されているかを確認しようとしたところ、今回の様なエラーがでました。# エラー文の意味
![スクリーンショット 2020-11-03 21.00.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/770386/fd03179b-b537-ef16-36d2-1812ed776c19.png)####「読み込めません。認証情報が欠けているので、次のいずれかを用いて認証情報を与えてあげてください」
という感じになります。:access_key_id
:secret_access_key
:credentials….
つまり、それらの認証情報を正しく拾って、読み込まれていない可能性があるということです。
# 確認したこと
S3で保存先できる様にするために、S3でデータが格納される様にバケットは用意しましたし、リージョンやチェックボックスも適切な設定しました。バケットポリシー
AWS(IAM)
#はじめに
こちらではAWS機能について書いていきたいと思います。
公式ドキュメントやAWS認定試験(ソリューションアーキテクトやDevOpsなど)の勉強教材など細かい内容をかかず、ざっくりとした内容で。
試験などに興味はないし!公式ドキュメントなど長ったらしくて読めん!
という方に向けに作っていきたいと思います。
(私の備忘録も兼ねて)写真はつけられればつけます。(Qiitaの制限の範囲内で)
#環境
AWS#ドキュメント
https://docs.aws.amazon.com/index.html#そもそもIAMとは?
AWSで権限を操作するためにサービス。
・ユーザやロールやグループを作れる
・ユーザやグループごとに何のサービスを操作できるようにするか権限を付与したりできる。#ユーザの種類
###ルートユーザ(ルートアカウント)
特権のあるユーザ
メールアドレスや支払いの類まで操作できるユーザ
権限が大きすぎるので実際の操作には別のユーザを作った方が無難。###メンバーアカウント
基本的なユーザ###管理アカウント(旧マスターアカウント)
AWS Org
無料で始める初めてのAWS② Linux 仮想マシンを起動
# はじめに
前回はAWSのアカウント作成まで進めました。
今回は、以下のURLから閲覧可能なチュートリアルの1つである「Linux 仮想マシンを起動」について進めていこうと思います。*[アマゾン ウェブ サービスへようこそ](https://aws.amazon.com/jp/registration-confirmation/)
上記ページの「Linux 仮想マシンを起動」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/476387/51a2002c-e0eb-8699-cc4d-a91085a278d3.png)
「Amazon Lightsailを使用してLinux仮想マシンを起動する」ページが表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/476387/c94e59bd-74c7-616f-86fa-822a6e865d17.png)
AWS EC2でターミナルを落としてもアプリが実行し続けるように設定する(デーモン化手順)
# はじめに
AWS EC2にて、Node.jsを使って自作したWebアプリケーションをデプロイすることは成功したのですが、
ターミナルを落とす(切断する)と、そのアプリケーションが稼働停止します。ターミナルを落としても稼働し続けられるようには『デーモン化』という処理を行う必要があるようです。
そこで、私が行ったEC2におけるデーモン化処理について書いていきます。
# この記事でわかること
– Node.js + EC2でのデーモン化
– foreverライブラリの導入方法
– foreverライブラリの使い方(start, stop, list)# 実行環境
– AWS EC2 (Amazon Linux2 AMI)
– Apache 2.4.46
– Node.js 12.19.0
– forever v3.0.2# 解決方法
## foreverライブラリのインストール
下記コマンドにてインストールするとともに、
正常にインストールされたかどうかを確認します。“`
$ npm install -g forever$ forever –vers
無料で始める初めてのAWS① AWSのアカウント作成
# はじめに
AWSの存在は前から知っていましたが、使う機会がなく今まで触れることなく過ごしてきました。
そろそろ避けては通れぬ道に感じてきましたので、今回意を決して初めてみようと思います。以下はその備忘録
## AWS アカウント作成
Webで「AWS 無料」と検索すると、以下のページがヒットしました。* [AWS無料利用枠](https://aws.amazon.com/jp/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc)
このページの一番下にある「まずは無料で始める」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/476387/8cc137a1-bf24-71f0-6132-29960ef6f118.png)
「AWSアカウントの作成」ページが表示されるので、`Eメールアドレス`、`パスワード`、`パスワードの確認`、`
【AWS SOA】ELB Pre-Warmingの備忘録
#はじめに
AWS SOAの勉強の中でELB Pre-Warming機能を学習したので、本稿で簡単に備忘録として残していきたい。#Pre-Warmingとは
通常ELBのスケールには時間がかかるが、急激なアクセス増加が見込まれる場合に、事前にELB Pre-Warming(暖気運転申請)を行うことでELBのスケールに対応できる。#申請の仕方
コンソール画面上部にサポートボタンがあるので、そこでサポートセンターを選択する。
![スクリーンショット 2020-11-03 16.00.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449478/25944394-259f-8a7e-3b47-6d0b1df8d35c.png)![スクリーンショット 2020-11-03 16.04.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/449478/874c25e3-5ec2-3e0a-d2fc-333fd9bb
AWS Textractでテキスト抽出やーる(Python3.6)
# はじめに
AWS Textractで画像からテキスト抽出をやってみました# 開発環境
– Windows 10
– Anaconda
– Python 3.6
– OpenCV 4.4.0
– awscli v2# 導入
1.awscliをインストールします
[Windows での AWS CLI バージョン 2 のインストール、更新、アンインストール](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-windows.html)を参考にAWSCLIV2.msiをインストールします2.AWSコンソールからIAMでアクセスキーを生成します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/63863/2e018177-8c87-8faf-ecfc-d8b2c35536c7.png)3.コマンドプロンプトでawscliの設定を行います
アクセスキー生成時に得られたAccess KeyとS
ElasticBeanstalk worker環境 の 3つのタイムアウトの違いについて
## 概要
ElasticBeanstalk の worker environment には VisibilityTimeout, ErrorVisibilityTimeout, InactivityTimeout というよく似た名前の設定値があり,それぞれ何を意味するのかについて整理しました.
## 公式ドキュメントの説明
[公式ドキュメント][1]には以下のように記載されています:
パラメータ | 説明
—|—
VisibilityTimeout | 「Amazon SQS キューからの着信メッセージが処理のためにロックされる時間」
ErrorVisibilityTimeout | 「明示的なエラーで処理が失敗した後、Elastic Beanstalk が Amazon SQS キューにメッセージを返すまでの経過時間」
InactivityTimeout | 「アプリケーションへの既存の接続が応答するまでの待機時間」## VisibilityTimeout
VisibilityTimeout とは SQS AP
cloudfront経由でs3とelbに接続する
clooudfront(CDN、content delivery network)を設定することにより、画像、webサイトへのアクセスをより高速化することができます。
[前回の構成](https://qiita.com/Yuuki46240345/items/0ee089a49325463cab5a)が作成されていることを前提として進めます。
### 構成図
緑色の部分を作成します。
![Untitled Diagram-Page-2 (1).jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/528444/2d21894b-6ca4-5f09-7ea6-90459131e296.jpeg)## 今回の流れ
1. s3を作成する
2. acmを再作成する
3. elbのacmを変更する
3. cloudfrontを作成する
4. route53を変更する### S3の設定をする
1. awsコンソールからs3を検索して「バケットの作成」を選択
2. リージョン:**バージニア北部**、バケッ
スマホにAWS Consoleアプリをインストールして課金状態などを確認する
AWSの課金情報はSlackに飛ばしているものの、こまめに確認することが必要だな、と実感する出来事がありました。
それは別記事で書くことにして・・・。手持ちのSmartphone(iPhone)にAWS Consoleを入れたので、備忘として記載します。
## インストール〜認証
App Storeを起動して、**aws console**で検索。
出てきました。
**入手**を押してインストールします。
インストールが完了したらアプリを起動します。
もちろん**Get started**です。
AWS EC2インスタンスからのS3のバケットとElastiCasheのRedisへ疎通確認をする# 目的
– 疎通確認方法のメモを記載する。あくまでも方法の一つを紹介するものであり本方法で確認できないもしくは不十分な場合もある。
# 詳細
1. S3疎通確認
1. EC2インスタンスにssh接続して下記コマンドを実行する。当該インスタンスから接続可能なS3バケットの一覧が表示されるので一覧の中に接続先のバケット名があればインスタンスからバケットが見えていることになる。“`terminal
$ aws s3 ls
“`
1. ElastiCasheのRedis疎通確認
1. EC2インスタンスにssh接続して下記コマンドを実行する。当該インスタンスからElastiChaseのRedisへログインすることができればインスタンスからElastiCasheのRedisに通信ができていることになる。“`terminal
$ redis-cli -h ElastiCasheのエンドポイント
“`
AWS は ”銀行” に例えるとわかりやすい説 ②
前回の記事は[こちら](https://qiita.com/souhub/items/e7bf33513f60fa4e9e8e)です。①の設定をそのまま引き継いでいます。(オマケはやっていない状況です。)
前回までは Availability Zone A にしかサブネットがなかったので、銀行員も A にしかいませんでした。なので Availability Zone C にも受付と銀行員を追加していきます。
この続きでマルチAZ化していきます。## WebサーバーのマルチAZ化 (受付窓口と銀行員の数を増やす)
窓口が1つだけではこの銀行員が急に倒れてしまったりした時、お客さんに対応できなくなってしまいます。そこで受付場所をもう一つ増やして、そこにもう一人銀行員を配置することにします。すなわち受付窓口が2つで銀行員が2人いる銀行にします。
また、新しくロードバランサが出てきます。これは受付の状況を常に把握し仕事を2人の受付役の銀行員に振り分ける現場監督のような存在です。
新しく増やすものと銀行に置き換えた時の役割の対応は次の通りです。| AWS | 銀行 |
|:——-