AWS関連のことを調べてみた2020年05月10日

AWS関連のことを調べてみた2020年05月10日

APIGateway + AWS Lambda の構成でCloudWatch Logsに出力されるログ

## 知りたかったこと

Amazon API GatewayとAWS Lambda とでサーバレスなAPIを構築し、デバッグに有用なログを得られるのかを知りたいんです。Lambda関数は変更せずに、マネージメントコンソールの設定変更で出力されるログは何ですか。

## 3行で

1. AIMポリシー `AmazonAPIGatewayPushToCloudWatchLogs` を付与したIAMロールをAPIGatewayに設定
2. APIGatewayのステージエディタの「ログ/トレース」タブで 「CloudWatch ログを有効化」にチェックをつけて、追加表示される「リクエスト/レスポンスをすべてログ」にもチェックをつける
3. CloudWatch Logsロググループ「API-Gateway-Execution-Logs_{rest-api-id}/{stage-name}」を見る

## 構成

シンプルに API Gateway の Lambda プロキシ統合 を使って Lambda関数を呼び出します。

![構成図.png](https://qiita-image-st

元記事を表示

AWS FargateにEFSをマウントしてRocket.Chatを移行する

# はじめに
「大人の事情でSlackが使えない」という話をよく聞きます、うちの会社も例外ではなく同じ悩みを抱えており[Rocket.Chat](https://rocket.chat/)を使っています。[前回](https://qiita.com/katuemon/items/d99b802427d682378bd7/)は、AWS EC2にパッケージインストールしていたものをDocker Containersへ移行した。[先日(Apr 8,2020)](https://aws.amazon.com/jp/about-aws/whats-new/2020/04/aws-fargate-launches-platform-version-14/)プラットフォームバージョン1.4がリリースされ、コンテナにEFSをマウント出来る(EFSエンドポイントをサポート)様になったので思い切ってFargateに移行してみた。

“`
Fargate タスクが Amazon Elastic File System (EFS) エンドポイントのサポートを開始

プラットフォームバージョン 1.4.0 を

元記事を表示

Glueの使い方的な㊹(DynamicFrameのTransition/Purge)

# GlueContextクラスのtransition_tableを使ってS3のストレージクラスを変更

https://docs.aws.amazon.com/ja_jp/glue/latest/dg/aws-glue-api-crawler-pyspark-extensions-glue-context.html

対象のGlueテーブルの実際のS3オブジェクトのストレージクラスをGlacierやIAに変更します。ジョブの最後に必要ならストレージクラスを変更したり、大量データに対しては1つのジョブにしてワークフローの最後に行ったり定期実行するなど良さそう。

## ジョブの内容

JupyterNotebookで、GlueテーブルのS3オブジェクトのストレージクラスを変更します。

# 全体の流れ

* 前準備
* ジョブ実行
* 確認
* その他:transition_s3_path/purge_table/purge_s3_path

# 前準備

## ソースデータ

2つの少量のcsvデータ。S3ストレージクラスはスタンダードです。

cvlog1.csv
cvlog2.c

元記事を表示

AWS 基礎

#前提
AWSについて学んだことを書いていきます

#本題

##CloudFrontとは
高速にコンテンツを配信するサービス(CDNのサービス)

###概要
・オリジンサーバー(元なる画像を配信するサーバー)上にあるコンテンツを世界中100箇所以上にあるエッジロケーションにコピーし、そこから配信を行う

###特徴
・高速
ユーザーからもっとも近いエッジサーバにから画像を配信する
・効率的
エッジサーバーでコンテンツのキャッシングを行うので、オリジンサーバーに負荷をかけずに配信できる

##CloudFrontがあると何がいい?
高速化され、S3の負荷が軽減される

##稼働率をあげるための基本的な考え方
障害発生間隔を長くするか、平均復旧時間を短くするために冗長化を行う

###考え方
・障害発生間隔を長くする
・平均復旧時間を短くする

###手法
・冗長化
システムの構成要素を多重化すること
ある構成要素で障害が発生しても処理を引き継げるようにすることで稼働率を高める
↓↓
単一障害点(SPOF)を無くそう

##稼働率を上げる具体的な手法
1、要素単体の稼働率を高くする

元記事を表示

EC2 node.jsの常駐化とforeverインストール時のエラー対応方法

#EC2 node.jsの常駐化とforeverインストール時のエラー対応方法

###foreverとは
node.jsをデーモン化(常に起動)しておくためのパッケージ

##foreverのインストール
2行(3行)のコマンドでインストールと起動が可能。

“`
#foreverのインストール
$ npm install -g forever

#forever起動
cd [node.jsの設定ファイルがあるフォルダパス]
forever start -w [設定ファイル名.js]
“`

「-w」オプションをつけると、ファイルの変更内容を自動検知して再起動してくれる。

##インストール時のエラーと対応方法
foreverのインストール時に発生した下記のようなエラーの対応方法

“`:エラー
pm WARN engine forever@2.0.0: wanted: {“node”:”>=6″} (current: {“node”:”5.0.0″,”npm”:”3.3.6″})
npm WARN engine forever@2.0.0: wanted: {

元記事を表示

【AWS】ELB 経由のアクセスで時々 1 分間以上繋がらなくて困った話

原因が掴めなくて結構困ってたので、似たような症状を抱える人が引っかかるように原因と対策を書いておきます。

# TL;DR
#### 問題
ELB 経由で EC2 にアクセスすると、最初の接続が遅くなるときがあった。具体的には 60 秒ほど。しかし、一回接続するとしばらく大丈夫だったりする。

#### 解決した方法
* ELB のサブネットに **インターネットゲートウェイ** を当てる。

インターネットゲートウェイのないサブネットを持つ ELB には接続できない。片方のサブネットにだけついてたりすると中々気づけなくて厄介。

(^o^)元凶はわたしです

# これと似た症状の人には効くかも?

**1. サーバーの inital connection が遅い。**

ブラウザ(Chrome)の検証ツールの「Network」タブから確認
![スクリーンショット 2020-05-09 18.33.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241846/2752dcb3-d0a0-ee16-3

元記事を表示

令和のシンクライアント?Amazon WorkSpacesでWindows仮想マシンを作成しOffice 365を導入してみた

仮想環境って良いですよね。
[![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/193519/9e88cc6a-d17c-bdb3-cf20-3358720c551f.png)](https://www.jp.playstation.com/software/title/jp0101npjj00006_000000000000000001.html)
例えば昔懐かしい [MSX](https://ja.wikipedia.org/wiki/MSX) のゲームを、初代 PlayStation の仮想 MSX マシンの上で [再現](https://www.jp.playstation.com/software/title/jp0101npjj00006_000000000000000001.html) し、それを携帯マシンである PSP や PS Vita 上の PlayStation 仮想マシン上でプレイしていると、なんだか楽しくて笑みがこぼれてきます。もはや変態ですかね…

# クラウド上

元記事を表示

【書籍まとめ】AWSアソシエイト直前対策テキスト(用語集)

#クラウドの用語
インスタンス
仮想化の用語として、物理的なコンピュータ上で稼働する仮想的なサーバー

クエリ
データの検索や更新、削除、抽出などの要求をデータベースに送信する事。

コンテナ
仮想化の一つで。アプリケーション、ライブラリ、ミドルウェアなどをパッケージ化し、
一つのOS上で実行プロセスとして独立して稼働するもの。

アベイラビリティゾーン
リージョン(東京リージョンなど)という地域の中、独立し異なる場所にある
一つ以上のデータセンター。

リージョン
完全に独立して、地理的に離れた領域で構成されたAWSサービスを提供するエリア
リージョンの中には少なくとも二つ以上のあ米ラビティゾーン

シャード
DBの負荷分散の為にインデックスを分け、複数のノードに分散して格納したまとまり。

スナップショット
ある時点でのファイルやデータベースなどの状態を丸ごとコピーしたもの。

デプロイ
開発工程の中で、開発したアプリケーションやサービスを利用出来る状態にする作業。

スループット
単位時間あたりに処理出来る量。単位時間内に実行出来る処理件数や、通信上の実効伝送量

スケーリング

元記事を表示

カップ麺を待つあの3分に新しい可能性をもたらす「カップ麺タイマー」をLINE Botで作った話

# はじめに
ご覧いただきありがとうございます。

本日、高校生の仲間たちと制作したカップ麺タイマー(LINE Bot)をリリースしました。
3ヶ月間の開発期間を経て、ついにリリースできたので、開発の背景を書かせていただきたいと思います。

4月にも新型コロナウィルスの感染拡大を防ごう!とSNSで呼びかけを簡単に発信できるサービスをリリースしました。初めてQiitaで書いた記事が月間トレンドに載ってしまい、驚いています。良ければご覧ください。
[新型コロナで休校になって暇になった高校生がミニサービス「Yobikake」を3日間で立ち上げた話](https://qiita.com/nztm/items/2de55be97ac1de9a435b)

# カップ麺タイマー とは
僕たちが作ったのは、ただのカップ麺タイマーではありません。
カップ麺を待つ数分の時間を有意義なものにする新しいタイマーです。

是非、最後まで読んで頂けると嬉しいです。
![ロゴ](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549246/9

元記事を表示

AWS 基礎

#前提
AWSについて学んだことを書いていきます

#本題

##プライベートサブネット

-u
ログインするユーザー名の指定

-p
パスワード入力を求められる

##プロコトルとは
コンピュータ同士がネットワークを利用して、通信するために決められた約束ごと

###プロコトルの例
HTTP
TCP
UDP
IP
SMTP
IPX

###必要性
・メーカーやOSが違うコンピュータ同士が通信するためには、同じ仕様でやり取りする必要だがある
プロコトルがあり、同じプロトコルを使用するという同意があるからこそ様々なコンピュータ同士が通信できる

##TCP/IPとは
TCP・IPを中心として、インターネットを構築する上で必要なプロトコル群の総称。インターネットを運用するために開発された

###アプリケーション層
アプリケーション同士が会話する
HTTP、DSN、SSH、SMTP

###トランスポート層
データの転送を制御する
TCP、UDP

###ネットワーク層
IPアドレスを管理し、経路選択する
IP、ICMP、ARP

###ネットワークスインターフェース層
直接接続され

元記事を表示

【AWS CLI】実際に業務で使ったAWSのコマンドたち

# はじめに
実際に業務の時にとったAWSCLIのメモを整理して記事にしました。

# S3

### オブジェクト削除
“`
aws s3 rm s3://{バケット名}/{削除するファイルパス}
例: aws s3 rm s3://test-bucket/test1/test.txt
“`

### ファイル一覧取得
“`
aws ls s3://{バケット名}/{フォルダパス}
例: aws ls s3 s3://test-bucket/test1 –recursive
“`

### ファイルをコピー
“`
aws s3 cp {コピー元パス} {コピー先パス}
例: aws s3 cp s3://test-bucket/test1/test.txt ./local
“`
オプションの–include –excludeは業務でよく使ってた。
指定する時にワイルドカードが使用できる。
ファイルの絞り込みの時に–excludeで一度全ファイル除外してから–include使わないと絞り込めないので注意。

“`
aws s3 cp s3://test-buc

元記事を表示

Amazon Rekognitionでローカルファイルの画像からテキストを検出してみた

# やったこと
– Amazon Rekognitionでローカルファイルの画像からテキストを検出
– rubyで叩いた

# ここで書かないこと
– rubyで叩くようにするまでの準備(アカウント作る〜SDKインストール)

# ソースと画像を用意
## 画像
こんなのを用意

text.png
![text.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/97052/6799234a-f1b1-d2fe-3f34-956a31b33d65.png)

## ソース
基本的に公式ドキュメントに叩き方の例はのっているのでそこを参考にした
(リージョンは~/.aws/configに設定)

get_text.rb

“`ruby:
require ‘aws-sdk-rekognition’

credentials = Aws::Credentials.new(
‘xxxxxxxxxxxxx’,
‘xxxxxxxxxxxxxx’
)
client = Aws::Rekognition::C

元記事を表示

EC2インスタンスを削除する方法

#EC2インスタンスを削除する方法

最初に作成したEC2インスタンでnode.jsとmariaDBの接続がうまくいかず、別途インスタンスを作成しなおしたので、その削除方法。

1. 停止したいインスタンスを選択
2. 右クリックで表示したメニューの「インスタンスの状態」を選択
3. 終了を選択

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563526/b37fade5-ea41-8f35-4226-2dd39c820639.png)

数分待つとインスタンスの状態が「terminated」になる。これで完了。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563526/9b6d9bb0-2ec0-150f-4b17-4635bc70d197.png)

数日してからリストから削除されるそう。

元記事を表示

Automation Anywhere A2019 のBot StoreからすぐにつかえるパッケージやBotを手に入れよう

ここ2カ月くらいで、Automation Anywhere A2019向けのBotやパッケージが[Bot Store](https://botstore.automationanywhere.com/enterprise-a2019/)に用意されています。また、4月のリリースされたA2019.11以降で、Control RoomとBot Storeの統合機能が実装され、従来のようにクライアントPC側でインストーラを走らせなくてもControl RoomにBot Storeから直接パッケージやBotをインポートできるようになりました。

いろいろと便利なBotテンプレートやアクションが手に入るので、さっそく試してみましょう!
Microsoft AzureやAWSとのAPI連携パッケージなども使えます。

**必要な環境**

* Automation Anywhere Enterprise A2019.11 (Build 3337) 以上
* オンプレミスまたはA2019 Cloud 商用版。(フリートライアル、Community Edition[^1]は不可。)
* パッケージマネ

元記事を表示

クラウド初心者のAWS入門

# 第1章 AWSで環境構築
 クラウドスキル0の現行SESインフラエンジニアが、
 スキルアップのためにAWSを用いて、
 Webサーバを構築したいと思います。

 もちろんQiitaへ投稿させていただくことや、
 マークダウン記述も初めてです。

 見苦しい点が多々あると思いますが、
 よろしくお願いいたします。

## おおまかな流れ
 目標を以下のように定め進めていきたいと思います。

 ・ 第1回 概要 (今回)
 ・ 第2回 ネットワーク構築
 ・ 第3回 サーバ構築
 ・ 第4回 Webサーバ機能をインストールする
 ・ 第5回 非公開ネットワークを構築する
 ・ 第6回 NATを構築する
 ・ 第7回 DB機能をインストールする

 以上となります。
 次回から本格的に始めていきたいと思います。

元記事を表示

AWSのLightsailでWordPressを導入するまでの備忘録

# 0. はじめに
– 以前、[AWSを勉強するため、AWSアカウントを作成しました。](https://qiita.com/Toyoizumi-Hiroyuki/items/8a95e33d5cf782eeaad8)
– 今回は、AWSの`Lightsail`を使って仮想サーバを立て、`WordPress`を導入してみました。その時の手順を備忘録としてまとめました。

# 1. Lightsailの導入
– [AWSコンソール](https://aws.amazon.com/jp/)へアクセスし、サインインします。
![Fig1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/477950/54928bf0-fbd1-0c91-616f-0c1f527ced08.png “Fig.1”)
– `ソリューションの構築`の`仮想サーバを使用して構築する`をクリックします。
![Fig2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.co

元記事を表示

EC2のリージョン間移行

# 背景
AWSのEC2(OS:windowsServer 2019 EBS:200GB)をus-east-2(オレゴン)からap-northeast-1(東京)に移行した時のメモです。合計40分くらいで完了しました。

# 手順
1. 移行したいEC2のイメージ(AMI)を作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/252317/7cb44628-291f-c275-18d7-ed37300a870b.png)
2. AMIに名前をつけます。「再起動しない」はチェックせず、完全なイメージを作成します。チェックすることで基となるEC2の再起動を防止できますが、AMI作成時にデータの整合を確保するための処理には再起動が必要なようです。今回はEC2にダウンタイムが許されるケースでしたのでチェックしませんでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/252317/a67

元記事を表示

Rails初学者がハマったAWS(EC2)へのデプロイ We’re sorry, but something went wrong.

# はじめに
初投稿であり、体裁や伝わりにくい部分があるかと思いますがハマった部分をメモとして、また、同じように困る方の解決の1つとして提供できたら嬉しいです。

# 環境
– AWS【EC2(Amazon Linux2)、RDS(Mysql)】
– Ruby 2.5.1
– Rails 6.0.2.2
– nginx 1.12.2
– unicorn v5.5.5

# We’re sorry, but something went wrong.の表示
サーバー環境でデプロイしてさあ、ブラウザで確認!・・・おや?
**We’re sorry, but something went wrong.**
調べてみるとエラーログを確認しなさいという記事が見つかる。なのでとりあえず、エラーログの確認

“`ruby:サーバー環境(/var/www/rails/アプリ名/)
$ cd log
$ tail -n 30 production.log

ActionView::Template::Error (Webpacker can’t find application in /var/www

元記事を表示

AWSにサーバを立てる(HTTPS、独自ドメイン、Apache)

# 目的は、独自ドメインのhttpsサーバをaws上に立てること

– ドメイン名だけを例えばChromeのアドレスに打って、セキュリティの警告も出ずにサクッと表示されるWebサーバを作る。

無題.png

# Route 53 でドメインの取得
– ダッシュボードから、ドメイン名を購入する。

# Certificate Managerで証明書の取得
– 証明書のリクエストから、指定するドメイン名は、*.domain.exampleだけじゃなくて、別名としてdomain.exampleも追加しておく。
– メール認証等で、approvalする。

# EC2でインスタンスとロードバランサの作成
### インスタンス
– Amazon Linux AMIを選択、適当なタイプを選択して作成する。
– Elastic

元記事を表示

EC2 phpMyAdminのエラー(SET lc_messages = ‘ja_JP’;)対処法

#EC2 phpMyAdminのエラー(SET lc_messages = ‘ja_JP’;)対処法

EC2のLAMPサーバーインストールマニュアルに沿って実行していたところ、ブラウザからphpMyAdminに接続したときにエラーが発生したときの対処法。

##エラー内容
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/563526/7f63b198-bde5-0330-2232-ca6c8e76c897.png)

“`
SET lc_messages = ‘ja_JP’;

MySQL のメッセージ:
#1231 – Variable ‘lc_messages’ can’t be set to the value of ‘ja_JP’
“`

日本語が読み込めていない。

##対処法
ログイン時の言語設定を「English」にするとエラーなく入れる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazon

元記事を表示

OTHERカテゴリの最新記事