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

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

【AWS lambda】lambdaで各種ライブラリを含めてデプロイする(パスワード付きzipを生成し、s3にアップロードする) @ Python

#やりたいこと
タイトルそのまんまですが、lbxxx.soなどのライブラリを含めてデプロイし、AWS lambda上でパスワード付きのzipを生成し、S3のバケットに格納します。

#立ちふさがる壁
そんな私のやりたいことの前に壁が立ちふさがります。
1. **[zipfile](https://docs.python.org/ja/3/library/zipfile.html)(Pythonで標準で用意されているzipファイルの作成などを行うモジュール)では、パスワード付きzipファイルの暗号化がサポートされていない!**
2. **ローカルのソースコードをzipファイルに固めて、lambdaにデプロイしただけでは、パスワード付きzipを作成することができない!**

いかにして、この壁を乗り越えたのかをここに残したいと思います。

#環境
####ローカル開発環境
+ Win10(ホストOS)
+ Docker
+ Linux 10(DockerコンテナのOS)
+ VS Code
+ Python 3.8.6
+ pip 20.2.3
+ aws-cli 2.0.56

VS C

元記事を表示

Twitter の障害情報を調べようとしてつまずいた話

**この記事の内容は私が独自に調査したものであり、障害の真因を示すものではありません。**
**情報の取り扱いには十分ご注意ください。**

## 出来事

2020 年 10 月 16 日、朝起きて Twitter を見ようとしたら・・・あれ、見れない。
最新のタイムラインと通知が見られない。トレンドはなぜか知らないが見ることができる。

## AWS とかの障害?と予測したものの

~~Twitter 使えねぇとか言う前に~~ どっかのサーバに障害が起こったのかな?と思って、 `AWS 障害` とか `GCP 障害` とかでググってみる。
そうすると、 AWS も GCP も障害情報が Twitter に発信されているということが分かった←
これじゃなにもわかんないw

## 素直に検索してみる

素直に `twitter 障害` と検索すると、何やら手掛かりとなるサイトを発見した。

[Twitterの機能停止マップ。 Downdetector](https://downdetector.jp/shougai/twitter/mappu/)

`Downdetector` という

元記事を表示

【AWS初学者用】AWS Auto Scalingとは

# 本記事について
本記事はAWS初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

## Auto Scalingとは
AWS Auto ScalingとはAWSが提供するリソースの使用状況に応じてインスタンスを自動的に増減させる事(スケールアウト・スケールイン)ができるサービス。なお、異常なインスタンスやAZを切り離すことも可能とのことです。

Auto Scalingの対象となるリソースはいくつかあるみたいですが,今回はEC2にAuto Scaling(EC2 Auto Scaling)を使用することを前提として進めます。
補足としてAuto Scalingは**AMIからEC2インスタンスを起動するので、AMIは常時最新の状態にしておきましょう**。

以下はAuto Scalingを実行するにあたっての3つの設定です。

## スケーリングプラン
Auto Scalingを実行するためにどんな条件・タイミングで実行するかを設定します。

– Cloud Wat

元記事を表示

俺でもわかるAurora PostgreSQLバージョンアップの実ダウンタイム雑メモ

俺です。
Aurora PostgreSQLのバージョンアップをいくつかやったのでメモを残します。

Aurora PostgreSQL バージョンアップ・パッチ適用の全体時間はだいたい20min~30minぐらいです(Event logより)
バージョンアップ中にDB Instanceの再起動が行われ、一時的に全ての接続が失われます。

この一時的にっていうのは一体どれぐらいの期間なのか、数秒なのかそれとも自分が定年退職するまでの期間なのか実際のダウンタイムがきになったので
バージョンアップ中に`psql -c SELECT NOW();` を `while : sleep 1` でぶん回して接続が復帰するまでの脳筋的体感時間を計測した結果をざっくりメモで残しておきます。

|no|verup前|verup後|クラスタ・インスタンスパラメータグループの変更、要不要|再起動対象|脳筋体感的ダウンタイム|備考|
|—|—-|—-|—-|—-|—-|—|
|1|9.6|10.12|クラスタパラメータグループ・インスタンスパラメータグループ共に変更必要|writ

元記事を表示

AWSソリューションアーキテクト(SAA)試験対策関連用語

### はじめに
AWSSAA試験対策でUdemyの模擬試験を学習する中で出てきた用語をA~Z、あ~んの並びで記載しました。
79個の用語があります。
ごく簡単な説明ではありますが、これを知っているだけでも、問題の理解度がかなり変わり、意味が分かっているだけで解ける問題がかなり多い印象でした。
仮にこれをカンペに模擬試験を1回行うと、7割は取れる感触です。
あとはハンズオンなどで、具体的なイメージをつかむため、いくつかのサービスで体験すると合格できそうです。
今後学習を続けながら、まずは自分自身が合格し、これを見ながら解いたら合格できるというものに仕上げていき、今後受験される方の補助になればと思います。

### 模擬試験を理解するにあたって出てきた用語
#### ●ALB(Application Load Balancer)
Webサービスに発生する負荷を分散するロードバランシングサービス
https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/introduction.html

####

元記事を表示

RDS for Postgresql での ERROR: canceling statement due to statement timeout の対処法

embulk-input-postgresql を用いたデータ吸い出しを行うときに `ERROR: canceling statement due to statement timeout` というエラーが発生することがあります。

“`
org.embulk.exec.PartialExecutionException: java.lang.RuntimeException: org.postgresql.util.PSQLException: ERROR: canceling statement due to statement timeout
at org.embulk.exec.BulkLoader$LoaderState.buildPartialExecuteException(BulkLoader.java:340)
“`

psqlにて再現してみましょう。embulk経由と同様に、1分経ったところでクエリが中断されました。
何らかのサーバ側のタイムアウト処理で止められています。

“`sql
> psql
psql (10.14 (Ubuntu 10.14-0ub

元記事を表示

【学習】Amazon VPCを使ったネットワーク構築

# 前置き
今回は初めて学習内容を記事としてアウトプットします。
何か問題などあった場合には教えていただけますと幸いです。

# 使用した学習教材
今回読んだ本はこちらです。こちらの内容に沿って学習した知識をアウトプットします。
[Amazon Web Services 基礎からのネットワーク&サーバー構築]
(https://www.amazon.co.jp/gp/product/B084QQ7TCF/ref=ppx_yo_dt_b_d_asin_title_o06?ie=UTF8&psc=1)

# 本学習での目標
AWS上でWordPressによるブログシステムを構築できるようになる。
これを通じて、ネットワークやサーバーを含めたシステム構築への理解を深める。

# 学習内容のまとめ

### 1. ネットワークの構築

#### Amazon VPCの使用
今回初めて使ってみます。隔離したネットワークを作れるようです。
ルーターなどの仮想機器も配置したりできるみたいです。クラウド技術って本当にすごいですね。
(どうやって実現してるんだろう? 気になるので調べてみようかな)

元記事を表示

AWS IoT CoreとAWS IoT Device Management基礎知識まとめ

# 記事について

AWS IoT Device Managementについての自分用まとめ
今後実際にいくつか使用予定があるため、その際にアップデート予定

# IoTでよく出てくる課題、要件

### 初期化時

– クラウド接続するための個別の認証情報をどうするか
– デバイスの情報をどう登録するか

### 動作時

– デバイスの設定変更したい
– デバイスの状態を可視化したい
– デバイスで発生している問題を調べたい

### 更新時

– FW更新をどうするか

# AWS IoT Device Management

– IoT Coreに統合されている
※サービス一覧からIoT Device Managementを検索してジャンプするとIoT Coreが開く

– 大量のデバイス向けにデバイスの登録、グルーピング、OTA等のJob、queryベースの検索を提供する管理機能群

# 主な機能

## デバイス登録

膨大な数のIoTデバイスの登録において個別の証明書を発行、デバイスへの埋め込み作業を排除する
以前記事にしたフリートプロビジョニングや、JITR

元記事を表示

初学者がAWSにwebアプリケーションをホストする方法について考えてみた

#はじめに
30代未経験からエンジニア転職を目指して勉強中のYNと申します。お読みいただきありがとうございます。
一番最初にwebアプリケーションをデプロイしたとき、[Heroku](https://jp.heroku.com/)を選んだ方が多いと思います。
でも、どうせならAWSを使ってみたいという方もいるでしょう。
自分もそんな一人だったので、エンジニアを目指して勉強中の方向けに、AWSを使ったwebアプリのホスト方法についてまとめてみました。

#パターン1:S3で静的ホスティングする
S3を使えば簡単にホスティングできます。
![スクリーンショット 2020-10-15 15.17.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/572098/e1b10ac5-8644-2b48-a6e1-10321f5b9a3b.png)

#### メリット
* とても手軽。S3バケットにビルド済のindex.jsを置いて静的ホスティングの設定をするだけ。
* ほぼタダで利用できる。(S3は無料枠が1

元記事を表示

【AWS – RDS】MySQLに特定のDBのみのアクセスユーザー作成

1つのDBサーバーを使用して、複数のDBを管理している場合、
**特定のDBへのみ**アクセス出来るユーザーを作成したい。

## RDSにアクセス
アクセス権のあるEC2から下記を実行。
※ RDSへアクセス権があることを確認。セキュリティグループ等

“`shell
$ mysql -h RDS_ENDPOINT -u root -p
Enter password: パスワードを入力
“`

## ユーザーの作成
`ALL` で、全ての権限を付与。
`DATABASE_NAME.*` で、全てのテーブルを対象とする。
`USERNAME@%` で、全てのホストを対象とする。

“`sql
$ GRANT ALL ON DATABASE_NAME.* TO ‘USERNAME’@’%’ IDENTIFIED BY ‘YOUR_PASSWORD’;
“`

※ `USERNAME` が存在しない場合は、新規でユーザーを作成

元記事を表示

AWS IAMで学習用のIAMユーザーを作成してみる

## 参考
[AWSではじめるデータレイク: クラウドによる統合型データリポジトリ構築入門](https://www.amazon.co.jp/dp/491031301X/ref=cm_sw_r_tw_dp_x_KDPHFb5D8933E)
## AWS IAMとは
AWSリソースをセキュアに操作するための認証・認可の仕組みを提供するマネージドサービス。
IAM自体の利用は無料となる。

## 機能
– 各AWSリソースに対して別々のアクセス権限をユーザーごとに付与
– 他要素認証によるセキュリティ強化
– 一時的な認証トークンを用いた権限の委任
– 他のIDプロバイダーで認証されたユーザーにAWSリソースの一時的なアクセス
– 世界中のリージョンで同じアイデンティティと権限の利用

## 4つの概念
1. IAMユーザー:AWSを操作する人やサービス
2. IAMグループ:IAMユーザーの集合体
3. IAMポリシー:AWSへのアクセス許可の定義
4. IAMロール:IAMユーザーやサービスに対して権限の譲渡
(IAMロールにアタッチされたIAMポリシーを他のIAMユーザーに委譲でき

元記事を表示

CloudFormation EFSテンプレートサンプル

“`
AWSTemplateFormatVersion: 2010-09-09
Parameters:
EFSName:
Type: String
Default: hoge
SecurityGroups:
Type: List
Subnets:
Type: List
Resources:
FileSystem:
Type: AWS::EFS::FileSystem
Properties:
FileSystemTags:
– Key: Name
Value: !Ref EFSName
Encrypted: true
MountTarget1:
Type: AWS::EFS::MountTarget
Properties:
FileSystemId: !Ref FileSystem
SecurityGroups: !Re

元記事を表示

量子コンピュータ?5G通信網? 世界を変える先進的AWSサービス5選

# はじめに
今回はAWSの先進的なサービスについて、5つほど紹介します!

[【YouTube動画】 意外と知らない! AWS の世界を変える可能性をもつ5つのサービス!!](https://youtu.be/07AJ3NvoWdM)
[![意外と知らない! AWS の世界を変える可能性をもつ5つのサービス!!](https://img.youtube.com/vi/07AJ3NvoWdM/0.jpg)](https://www.youtube.com/watch?v=07AJ3NvoWdM)

# AWS Ground Station
これは、人工衛星と通信する基地局をクラウド化したサービスです。
ただ登録するには、人工衛星のカタログ番号やアマチュア無線のライセンスが必要です。

人工衛星を使って、災害状況の確認をしたり、正確な地理情報を取得したりが簡単にできそうですね。

デモ動画はこちらです。

# AWS RoboMaker
ROS用アプリケーションの開発環境やシュミレートができるサービス

元記事を表示

SQSのよくある監視項目をterraformで設定する

IaCの恩恵をわかりやすくすぐに受けやすいのは、Cloudwatch Alarmなどの監視項目だと思っています。
特にSQSキューなどは基本的に監視項目が似通っているため、似たようなものを大量に登録、管理する事が多いでしょう。
今回は、よくあるアラートの設定項目をterraformでさっと量産する方法を覚書として記載しておきます。

## よくある監視項目

毎回、SQSキューを作った後にとりあえず設定しておきたい監視項目は以下のようなものがあるかと思います。

* デッドレターキューなどにメッセージが入った
* キューされたメッセージがxxx件を超えた
* 未処理のメッセージが放置されたままxxx日が過ぎた

このへんにフォーカスした設定を書いてみます。

## terrafromの設定

* 今回、通知に使っている AWS SNS Topic は別途定義されているものとします。
(もちろんEventBridgeなどSNS以外の方法でaction eventを受け取ってもいいでしょう)

* module化を避け、1ファイルで完結させます。

“`hcl:sqs_alert.t

元記事を表示

【AWSインフラ運用担当者向け】リリース自動化導入の全体像把握と始め方

こんにちは。
今回はAWSで動くアプリケーションのリリース自動化について書きます。

## 想定読者

①AWS運用(インフラ)しているが、リリースは手動で行っていて、面倒に感じている
②リリース自動化担当になったが、自動化するメリットやどの範囲まで自動化できるのか分かっていない
※①は今の、②は過去の自分です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/311339/dbb784fc-fffb-30ba-459d-d3a2392fa261.png)

## 記事のテーマ
・【AWS運用担当者向け】リリース自動化導入の全体像把握と始め方
 リリース自動化の威力
 リリース自動化の導入可能な範囲
 リリース自動化導入後のつまずきポイント
 まずは何を学ぶか、どう学んでいけばよいか

秒間数百アクセスの大規模ECサイトのリリース自動化を設計した経験で得た知見を纏めます。

![image.png](https://qiita-image-store.s3.ap-northeast

元記事を表示

unicorn立ち上げ時にmaster failed to start, check stderr log for detailsがでて弾かれる

# 今回はアプリケーションサーバーであるunicornを起動した時に見たことないエラーに直面したので解決法を残します
“`
[ec2-user@ip-172-31-23-189 アプリ名]$ RAILS_SERVE_STATIC_FILES=1 unicorn_rails -c config/unicorn.rb -E production -D
master failed to start, check stderr log for det
“`
master failed to start, check stderr log for det ??
見たことないエラー。ログを見にいくことに

“`
自身のアプリケーションのディレクトリに移動
[ec2-user@ip-172-31-23-189~]$ cd /var/www/アプリケーション名

currentディレクトリに移動
[ec2-user@ip-172-31-23-189 <リポジトリ名>]$ cd current

logディレクトリに移動
[ec2-user@ip-172-31-23-189 current]$

元記事を表示

AWS日記19 (CloudWatch Events)

# はじめに
今回は AWS CloudWatch Events を試します。
スケジュールをcron式で設定し、Lambda関数を実行するページを作成します。
[Lambda関数・SAMテンプレート]
(https://github.com/tanaka-takurou/serverless-application-cron-page-go)

# 準備
[AWS SAM の準備をします](https://qiita.com/tanaka_takurou/items/cae7c19fc3aaf0031abb)

[AWS CloudWatch Eventsの資料]
[AWS CloudWatch Events](https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/events/WhatIsCloudWatchEvents.html)

# AWS SAM テンプレート作成

AWS SAM テンプレートで API-Gateway , Lambda, CloudWatch Eventsの設定をします。

[参考資料]

元記事を表示

【AWS S3】AWS Access Key Id you provided does not exist in our records エラー【Rails AWS EC2】

#エラー内容
本番環境(EC2)で画像投稿(carrierwave)をしようとすると、下記のようなエラーが起きる。
![スクリーンショット 2020-10-14 1.02.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620533/47d0b3da-9714-9fa2-290d-15d9f85cc071.png)

表示されている(読み込まれている)AWSAccessKeyIdは以前使用していた古いキー。
エラー文から古いアクセスキーが読み込まれているため整合性が取れず起きたエラーと判断した。

#エラーに対するTRY
* .bash_profileの更新
* .envファイルの確認
* .awsディレクトリ以下の確認(config,credentials)
* aws configure の確認
* AWS IAMによりポリシー等の確認

.bash_profileでexportしていたアクセスキーIDが確かに古いものであった。
それを新しいアクセスキーに更新し、.envファイルやIAM、aw

元記事を表示

DynamoDB基礎知識とboto3での簡単な使用方法

# 記事について

DynamoDBを使用するために学習した内容まとめ用

# DynamoDB

NoSQLデータベースサービス

# DB構造、用語

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/695430/ce661297-99f4-6dfd-d29a-ce4903947653.png)

– table
RDSでのtable

– item
RDSでのrecord

– attribute
RDSでのcolumn
item間でattributeは一致しなくてよい
以下Partition Key、Sort Keyとなるattribute以外はtable生成時に設定不要

– Primary Key
DynamoDBでItemを一意に決定するためのキー
主キーとも言うらしい

– Partition Key
table生成時に設定(必須)
単体でPrimary Keyとして使用可能

– Sort Key

元記事を表示

RDS作成メモ

https://qiita.com/nago3/items/1cd6daa5ad6377e325ed
こちら参照。

元記事を表示

OTHERカテゴリの最新記事