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

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

コードを書かずにAIを構築してみる ー リベンジ編

[前回](https://qiita.com/y_k_individual/items/4e780356d8cc5c3b8590)と同様、六角ボルト長の判別を行う

## 学習データの作成

[前回](https://qiita.com/y_k_individual/items/4e780356d8cc5c3b8590)は過学習が起きていたと考えられる
過学習を解消するためにも、今回はデータ拡張前のデータ数確保に重点を置いた

### カメラアングルの限定

– カメラアングルは上方からのみとし、45°より寝かせた角度は学習不要とする
![angle.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/609106/7dcef6bc-ab05-d4ab-89b1-ca9a0ea87e5a.png)

### 学習データ数の確保

– 真上から45°までの撮影角度を4分割する
![view.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws

元記事を表示

Cloud 9 + lambdaでbot作成 ーpart2

# はじめに
本投稿ではpart1から引き続きlambdaを定期実行してTwitter APIを叩き、
AM10時(JST)につぶやくbotを作成します。
ここでは下記を実施します。
・Cloud9の環境構築
・bitflyer APIをAWS Lambdaで叩いてみる
・Cloud9からAWS Lambdaをデプロイする

# Cloud9環境構築
Cloud9はGUIでファイル編集ができるうえ、
Linuxコマンドラインを実行できる。

AWSコンソール > Cloud9
から新規インスタンスを構築

cloud9にはもともとpython3.6がインストール済み。
下記から確認

“`
python –version
“`

# Lambda ファンクション作成
右ペインのAWS Resourcesからlocalにlambda functionを作成
(name bottest)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/627775/8fa83b8a-b803-2914-

元記事を表示

S3+CloudFront+ACMで静的ページをホスティングする

静的ページをAWSに移行する機会があったので、ざっくりした手順をメモ

# やりたかったこと
– レンタルサーバからS3に引っ越し
– CDNを使ったホスティング(による高速化
– SSL化

# まとめ
![スクリーンショット 2020-05-04 23.02.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536692/ac159131-4b4b-99c5-aa97-3c007d3332e9.png)

上の要件を満たすために、S3のバケットに静的ページを設置、それをSSL証明書を読み込ませたCloudFrontを介しユーザーに配信することにした

# 手順
1. S3でバケットを作成し、ページファイル(html/css/jsなど)を設置
2. ACM(AWS Certificate Manager)で証明書を発行
3. CloudFrontで、2で発行した証明書を紐付けたDistributionを作成
4. DNSレコードを既存のレンタルサーバからCloudFrontのものに書き換え

# 結

元記事を表示

AWS EKS/EC2構成で、Multi-AZでのAutoScalingを実現する(Cluster Autoscaler編)

# はじめに
EKSのAutoScalingには、大きく3種類存在の機能が存在しており、その中のCluster Autoscaler(CA)はMulti-Azに対応していない。

https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md

>Cluster autoscaler does not support Auto Scaling Groups which span multiple Availability Zones; instead you should use an Auto Scaling Group for each Availability Zone and enable the–balance-similar-node-groupsfeature. If you do use a single Auto Scaling Group that spans multiple

元記事を表示

初心者でもAWSプロダクトをさわってみたい!(AmazonSageMaker編:前半)

スクリーンショット 2020-05-07 3.02.55.png
スクリーンショット 2020-05-07 3.03.36.png
スクリーンショット 2020-05-07 3.03.46.pngconcrete5 で有料課金も視野に入れたライブ配信システムを考える (YouTube Live や AWS Media Service)

## 最初におことわり & 結論

この記事は、かなり支離滅裂になってしまいました。

もともとは Amazon が発売開始した、Amazon Elemental Live という、$995 のデバイスを使って気軽に AWS のライブ配信ができるのではないかと思ったのですが、まだ東京リージョンではサービスを開始していないのと、一つの AWS アカウントにしか紐付けられないという欠点もあることが分かったので、単純に concrete5 CMS と AWS Media Services を使って、有料も可能な安価な配信ネットワーク構築ができるよという記事になってしまいました。

なので文章の流れがおかしかったりしますが。僕のシステム構築の脳みその中身を見たつもりで生暖かく見守ってください。

**結論:視聴者 100名ぐらいで1時間のライブ動画配信をしようとしたら、だいたい、インフラの原価は $40~50 ぐらいでできそうです。**

concrete5 CMS などのセットアップ、ライブ配信の機材などは考慮しないといけませんが。

## はじめに

concrete5 CMS と、Y

元記事を表示

AWS-Azure-GCPのサービス名比較メモ

# きっかけ
最近AWS認定ソリューションアーキテクトプロフェッショナルという資格を取得し、次にAzureやGCPを勉強しようと考え比較サイトみたいなものを探していたところ、AWSと他のクラウドベンダーのサービスを比較したサイトが公式であったので、投稿時点での情報を記載してます。

[参考にしたサイト]
https://docs.microsoft.com/en-us/azure/architecture/aws-professional/services ※AWSとAzureの比較
https://docs.microsoft.com/en-us/azure/architecture/gcp-professional/services ※GCPとAzureの比較
https://cloud.google.com/docs/compare/aws ※AWSとGCPの比較
https://cloud.google.com/docs/compare/azure ※AzureとGCPの比較

# サービス名比較
## コンピューティング
||AWS|Azure|Google Cloud|
|

元記事を表示

レジストラでのドメイン取得から利用まで

# 概要
タイトル通り、レジストラでのドメイン取得から利用するまでの手順をメモしたものです。

# 前提
AWSのRoute53をネームサーバとして利用する場合の手順となります。

# 手順
1. ムームードメインにログインして、取得したいドメイン名を入力し、カートに追加します。
https://muumuu-domain.com/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/252317/f7141bdf-40b4-3301-fbfa-5c61f2966536.png)

2. 「お申し込みへ」をクリックします。

3. ドメイン設定確認画面では、「ネームサーバは今はまだ使用しない」で進めます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/252317/8f213442-cabe-0852-f4e6-c9aff4347c4a.png)

4. 支払い方法としてクレジットカード等の任意

元記事を表示

WorkSpacesに多要素認証(MFA)でログインする

# リモートワーク促進の足掛かりに
リモートワークの需要が高まっている今日。
AWS WorkSpacesを条件付きで最大50人のユーザーが無料で利用できるようになりました。WorkSpaceを使えば、場所を選ばずにログイン可能な仮想環境を提供することができます。

https://aws.amazon.com/jp/blogs/news/new-offers-to-enable-work-from-home-from-amazon-workspaces-and-amazon-workdocs/

デフォルトではIDとパスワードでの認証となっていますが、ログインに多要素認証をプラスすることでよりセキュアに利用することが出来ます。

# 概要

WorkSpacesを利用開始して、Radiusサーバを用意し、Miceosoft ADとAD connectorを利用して
ログイン時にGoogle Authentication (OTP) で認証できるように設定していきます。
設定後はログイン画面にMFA codeが表示されます。
![image.png](https://qiita-ima

元記事を表示

AWSでサーバーとネットワーク構築を勉強してみた

サーバーサイドエンジニア2年生の私が、書籍「**Amazon Web Services 基礎からのネットワーク&サーバー構築**」でインフラの基礎を学び、アウトプットとしてまとめました。
「**この記事を読んだ後に実際にAWSに触ってみた時、何をやっているのかざっくりわかる**」ような記事を意識しました。
いろいろな方がお勧めしているとおり、ハンズオン形式でAWSだけでなくインフラの基礎も学べます。
**インフラ&AWS初心者**の方はぜひ!

# はじめにざっくり理解
**ネットワーク構築**とは、コンピュータ同士を安全に接続するためにいろいろな設定をする作業
【やること】

– VPC領域を作る
– ルーティング情報を設定する
– デフォルトゲートウェイを設定する

**サーバー構築**とは、サーバーを用意して、安全かつ安定したサーバーになるようにいろいろな設定をする作業
【やること】

– EC2インスタンスを作る
– サーバーにセキュリティを設定する

セキュリティ強化のために行われる当たり前のサーバー構築手法

– 踏み台サーバーを作る
– NAT(Network Addre

元記事を表示

IAM roles for service accountをs3cmdに適用させる

## はじめに
S3のオブジェクトを管理するためのツールとして[s3cmd](https://github.com/s3tools/s3cmd)があります。
AWS CLIをインストールせずともS3を操作でき、バックアップやリストアのために使われるケースが多いです。

EKS上でs3cmdを使うにはPodにS3へのアクセス権限が必要となります。
これまではS3へのアクセス権限を与えるために、**NodeにIAM Roleを付与**したり、**kube2iamで一時的にクレデンシャルを取得**させたりしていました。
2019年に[IAM role for service account(IRSA)](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html)が登場し各言語のSDKが対応しましたがs3cmdではSDKを使用していないため、自分で仕組みを実装してみました。

## 環境
macOS Mojabe 10.14.6
Pulumi 2.1.0
AWS CLI 1.16.

元記事を表示

AWSのEC2サーバーをLambdaを使って自動起動

#目的:EC2サーバーの自動起動&停止でコストダウン
 AWSを使用することが多くなってくると、運用コストが気になってきます。他(社)のクラウドサービスと異なり、AWSは基本的には従量制です。インスタンス(CPU)やストレージ(ディスク)、トラフィックのデータまでほとんどのサービスが使った量・時間に対して課金されます。
 EC2インスタンスは停止すれば課金されない(正確にはストレージや固定IPアドレス等は停止中も課金される)ので、使わないときはEC2インスタンスを停止しておき、使用時のみ起動して立ち上げる仕組みを、AWS Lambdaを使って構築します。

 弊社ではソーシャルゲームを開発・運用していますが、イベント実行時には普段の十数倍のアクセス集中や負荷があります。AWSではオートスケール機能もありますが、あらかじめ予定されているのであれば時間前にサーバーを追加しておくのが安全です。
また、 バッチファイル実行やログ収集を夜中や早朝に行う場合などにも、必要時のみ起動できればコスト削減に役立つでしょう。

#AWSドキュメントの参照
 AWSを解説したサイトは多いですが、Lambd

元記事を表示

【AWS】 Kinesis Video StreamsでWebRTC使ってみた

# 背景
昨今、リモートワークが多い中、〇oomとかGoo〇le meet、M〇irosoft T〇amsなどはどうやって動いているんだろうということで
動画配信について調べているところ、WebRTCに行きついて楽しそうだなということで触ってみました。
その際に詰まったことなども書きます。

WebRTCについても知識が乏しかったので以下の記事を参考にさせていただきました。ありがとうございます!
– https://qiita.com/mush/items/121e45fefed009b6ad5e
– https://qiita.com/massie_g/items/b6d3513d06a28ba89677

また以下の記事を参考にさせていただきました。ありがとうございます!
https://dev.classmethod.jp/articles/update-kinesis-video-streams-supports-webrtc/
https://dev.classmethod.jp/articles/update-kinesis-video-streams-supports-w

元記事を表示

AWS-Lambda + PythonでCSVデータをAWS-S3に書き込む

# AWS-Lambda + PythonでCSVデータをAWS-S3に書き込む

## はじめに

`Mac環境の記事ですが、Windows環境も同じ手順になります。環境依存の部分は読み替えてお試しください。`

### 目的

この記事を最後まで読むと、次のことができるようになります。

| No. | 概要 | キーワード |
| :— | :———– | :———— |
| 1 | コーディング | Python, boto3 |
| 2 | Lambda設定 | Lambda |

### 実行環境

| 環境 | Ver. |
| :————- | :—— |
| macOS Catalina | 10.15.3 |
| Python | 3.7.3 |
| boto3 | 1.11.17 |

### ソースコード

実際に実装内容やソースコードを追いながら読むとより理解が深まるかと思います。是非ご

元記事を表示

ゴールデンウィークを使ってAWSを勉強してみたので勉強手順をまとめてみた。(①事前準備~AWSでMysqlの立ち上げを行うまで)

##目標
GW自粛中に、AWSについて勉強してみたので学習手順とやり方をまとめてみます。
AWSで立ち上げたMySQLにWorkBenchから接続するまでを目指します。

##この記事では考えない事
SSHを利用した接続など、セキュリティに関しては考えていません。(別の記事で書きます。)

##AWSを動かす前に(今回一番伝えたかったこと)

・IPアドレスの固定化(AWSのElastic IP)がなぜ必要なのか
・パブリックIPとプライベートIPの違いは?
・IPv4とIPv6の違いは?
・DNSの仕組みは?

この辺りの内容が分からない場合には、AWSを動かしていても勘所がつかめないので、まずはネットワークの基礎知識を勉強してからAWSを動かしたほうがスムーズに学習が進むと思います。

##ネットワークの基礎知識

####[マスタリングTCP/IP―入門編―(第6版)](https://www.amazon.co.jp/%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0TCP-IP%E2%80%95%E5%85%A5%E9

元記事を表示

CodeCommitのイベントから自動でSonarQubeのプロジェクトを設定するLambda関数のSAMテンプレート

# 前提条件
いろいろごちゃ混ぜなことをしてしまったので、以下の前提。
Lambda, Python, SAMはセットみたいなものだから、ごちゃ混ぜのようでそんなに敷居は高くないか。

– Pythonをちょっと書いたことがある
– SAMテンプレートをちょっと書いたことがある
– Lambdaのイベントハンドラまわりの仕様をそれなりに理解している
– CloudWatch Eventsをなんとなく知ってる
– SonarQubeをなんとなく知ってる

# いきなりIaC
マネージメントコンソールの画面ポチポチで作るのは面倒なので、いきなりSAMテンプレートを書いて追って解説をする。
こんなPythonのコードをインラインで書くなよ……というツッコミはしない。
あと、どう考えてもこれはStepFunctionsで実装した方がカッコイイ気がするけど、SAMでまとめてデプロイとかできなくて面倒なので、一旦このかたちにする。

本題のSAMテンプレートは以下。

“`YAML
AWSTemplateFormatVersion: 2010-09-09
Transform: AWS::Serv

元記事を表示

AWSインスタンスにキーペアの代わりにパスワードログインを有効にする方法

### 【1】パスワードの設定

“`bash:ec2-user、rootユーザーのパスワード変更
sudo passwd ec2-user
Changing password for user ec2-user.
New password:
Retype new password:

sudo passwd root
Changing password for user root.
New password:
Retype new password:
“`

### 【2】パスワードログインの有効化
以下の通り、“`/etc/ssh/sshd_config“`の以下パラメータを変更。

“`bash:/etc/ssh/sshd_config
PasswordAuthentication yes
“`

### 【3】設定反映

以下コマンドで設定反映。

“`bash:
sudo service sshd restart
“`
### 【4】AMIイメージで設定を残す場合

以下の通り、“`/etc/cloud/cloud.cfg“`の以下パラメータを変更

元記事を表示

API GatewayにおけるセッションIDの固定化攻撃の危険性について

# API GatewayにおけるセッションIDの固定化攻撃の危険性について

この記事は、 [すごくなりたいがくせいぐるーぷ GWアドベントカレンダー](https://gw-advent.9wick.com/calendars/2020/87)最終日の記事です。

## はじめに

CookieのDomain属性について調べていたら、ふと
「APIGatewayのエンドポイントって`amazonaws.com`のサブドメインだから、Domain属性で`amazonaws.com`指定してCookieセットできんじゃね?」
と思ったので検証してみました。

要するに、都道府県型jpドメイン・地域型jpドメインのクッキーモンスターバグのようなことが`amazonaws.com`でも起こってしまうのではないかということです。
※クッキーモンスターバグについては徳丸先生の[こちらの記事](https://blog.tokumaru.org/2013/03/csrf-and-cookie-monster-bug.html)をご覧ください。

また、[RFC6265の8.6](https:

元記事を表示

AWS-Lambda + PythonでAWS-RDS/PostgreSQLのテーブルを読み込む

# AWS-Lambda + PythonでAWS-RDS/PostgreSQLのテーブルを読み込む

## はじめに

`Mac環境の記事ですが、Windows環境も同じ手順になります。環境依存の部分は読み替えてお試しください。`

### 目的

この記事を最後まで読むと、次のことができるようになります。

| No. | 概要 | キーワード |
| :— | :———– | :————— |
| 1 | コーディング | Python, psycopg2 |
| 2 | Lambda設定 | Lambda |

### 実行環境

| 環境 | Ver. |
| :————- | :—— |
| macOS Catalina | 10.15.3 |
| Python | 3.7.3 |
| psycopg2 | 2.8.4 |

### ソースコード

実際に実装内容やソースコードを追いなが

元記事を表示

AWS Cloud9 環境の WordPressでブラウザに表示されなくなった時の解決

##現象
AWS Cloud9のWordPress開発を継続して行っていたが、ブラウザで動作確認しようとすると、
「このサイトにアクセスできません 応答時間が長すぎます」とのメッセージが出て表示できなくなった。

##開発環境(AWSを使用)

– WordPress 5.2.2
– PHP 7.3.15

– Cloud9 + EC2 instance type: t2.micro
– httpd Apache/2.4.39 (Amazon)
– mysql Ver 14.14

##原因
コストを抑えるため、EC2インスタンスの停止時間を30分に設定している。
インスタンスが停止から再起動すると、IPアドレスは動的割当のため変更になる。

##解決方法

###現在割り当てられているIPを確認する。

“`
$ echo $C9_HOSTNAME
aaa.aaa.aaa.aaa
“`
ブラウザURLの欄に
http://aaa.aaa.aaa.aaa/wordpressのルートディレクトリ名
を入れると、Status Code: 200 を正常に返すが、
応答に時間がかかり正

元記事を表示

OTHERカテゴリの最新記事