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

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

MacとSSHでさくっとIPアドレスと国判定を変える

Amazonプライムである作品が「このビデオは、現在、 お住まいの地域では視聴できません」となっていました。ではアメリカからアクセスしたら利用可能になるのか調べてみました。

今回はAWSのLightsailを使い、リージョンをus-east-1にすることで、バージニア州からのアクセスとすることを目標とします。
サーバーと秘密鍵がスタンバイできたら、以下のコマンドでSSHしましょう。ホスト名(IP)と秘密鍵のパス等は置き換えてください。

`ssh ec2-user@10.87.131.119 -i ~/Downloads/LightsailDefaultKey-us-east-1.pem -D 10000`

もしSSHが失敗し、原因がダウンロードしたての秘密鍵を利用して以下のようなWarningが出たことによるものであったら、
`chmod 600 ~/Downloads/LightsailDefaultKey-us-east-1.pem `
で解消します。

“`
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

元記事を表示

ServerlessFramework(AWS)でstage毎にS3などのリソースを別に作る方法

provider > stage: `${opt:stage, self:custom.defaultStage}`
custom > defaultStage: `dev`
custom > resourcePrefix : `${self:provider.stage}`を使った値
と設定して
BucketNameを `${self:custom.resourcePrefix}-resource`とする

“`yml:serverles..yml
service: serverless-sample

frameworkVersion: ‘2’

provider:
name: aws
runtime: python3.8
stage: ${opt:stage, self:custom.defaultStage}
region: ${opt:provider, self:custom.defaultRegion}

custom:
author: iwato
defaultStage: dev
defaultRegion: ap-northeast

元記事を表示

LineからEC2を操作する

AWS EC2上で自作のアプリケーションを回しているのですが、実行、停止を頻繁に繰り返すことがあり、EC2に入っていちいち操作させるのが結構めんどくさかったりします。
そこで、LineからEC2を操作して、プログラムの実行停止をできるようにしてみます。

## 全体像
以下のフローでLineからEC2を操作します。
1. Line Messaging APIからAPI GatewayへPOSTリクエストを送信
2. API Gatewayをトリガにして、Lambda関数が実行
3. Lambda関数からEC2インスタンスが起動or停止される
4. 起動時には設定したスクリプトが自動実行される
![スクリーンショット 2020-09-28 0.10.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501910/63dbbeef-efc4-d55c-b2cf-0dc35c0de526.png)

## 作成手順
1. EC2インスタンスの作成
1. IAMポリシーの作成
1. Lambda関数の設

元記事を表示

【Python】AWS-CDKを利用してBatch環境を作成する

# 1. はじめに

今回は、AWS Batchの環境をCDKを利用して実装していきます。
よくTypeScriptでの実装例は多いのですが、Pythonはあまりなかったので記事にしました。

## 1.1 実行環境

実行環境は以下の通りです。
特にインストールやaws-cliとaws-cdkの初期設定については触れません。
ただ、注意点としてaws-cdkは非常にバージョンの更新頻度が高く、現在書かれている内容でも動かない可能性があります。

* MacOS: Catarila (10.15.6)
* Python (brew): 3.8
* aws-cli (brew): 2.0.50
* aws-cdk (brew): 1.63.0 (build 7a68125)
* docker: 19.03.12

## 1.2 料金

気になるのは、料金ですよね。
以下の条件で動かしたところ、課金されたのはEC2の料金のみで`0.01 [$/日]`程度でした。
(Batchだと、毎回ジョブにキューが追加されてからインスタンスの作成が行われ、ジョブが完了すると削除されるためです。)

*

元記事を表示

DockerのBASIC認証で作成した証明書と秘密鍵をAWS ALBで使用する方法

##初めに
以下の手順に沿って進めます。
1. dockerがインストールされたAmazon LinuxにBASIC認証を作成する
2. BASIC認証で発行された秘密鍵と証明書を使用してALBを起動する

用語や認識など間違いがありましたら教えていただけると幸いです。

##手順1 BASIC認証作成

まず初めにopenssl.cnfの253行目subjectAltNameをインスタンスのプライベートアドレスに書き換えます。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudoedit /etc/pki/tls/openssl.cnf
“`

以下は書き換えた後、“`cat“`で表示させたものです。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ cat -n /etc/pki/tls/openssl.cnf | head -n 255 | tail -n 5
251
252 # Include email address in subject alt name: another PKIX recomm

元記事を表示

pythonのクライアントアプリから AWS Batch起動方法

## 概要

[前回](https://qiita.com/dmikita/items/ec0a6961a21c5df7b812)作成したLambdaから実行する処理を流用してクライアントアプリから起動するように設定します。

## 準備

* AWS Batchは[前々回](https://qiita.com/dmikita/items/af33d64f4d6aef556439)のものをそのまま使います。AWS BatchのジョブさえできていればいいのでCodeCommitなどはこのためだけに準備しなくても大丈夫です。
* バッチを実行できるIAMユーザを作成します。
* AWS CLIをインストールして `aws_access_key_id` `aws_secret_access_key` `Default region` を設定します。
* このあたりの手順は[公式](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-quickstart.html) などを参考にしてください。
*

元記事を表示

主要4社のクラウド音声認識精度の比較

# Amazon, Google, IBM, Microsoftの音声認識精度を比較してみました
– 今回使用した音声データは私の研究に関するミーティング(大学院でのゼミ)をAirPodsで録音したものを使用しています.ミーティングの参加者は3~5人です.音声には個人情報も含まれるため公開することはできませんのでご了承ください.
– データ量:300発言(約27分)
– 音声の質は生活音やノイズがかなり含まれています.音声の質としては良くないです(CSJなどの音声認識用コーパスに比べて)
– Googleなどの音声認識精度は論文に掲載されているようにかなり良い精度(日本語でもWER一桁)です.
– 研究用の質の良い音声を使用しているので精度がかなり良い
– ***日常生活での音声に対してはどの程度の認識精度なのかはあまり報告されていない***
– 今回は***日常生活の中の音声をどれだけの精度で認識できるのか***を調べてみました.加えて,研究に関する音声なので専門用語も多く含まれます.どれだけ専門用語に対応しているのかも気になるところです.
– [Am

元記事を表示

主要4社のクラウド音声認識サービスの使い方

# Amazon, Google, IBM, Microsoftの音声認識サービスを使用
各社の音声認識サービスのAPIの名称です(呼び方は人によって違いますが間違っていたらすいません)

– Amazon:
– ***Transcribe***
– Google:
– ***Cloud Speech-to-Text***
– IBM:
– ***Watson Speech-to-Text***
– Microsoft:
– ***Azure Speech-to-Text***

Speech-to-TextというAPIを探せば見つかるはずです.AmazonだけはTranscribeと呼ばれていますが…

***本記事では各APIを使うための準備(アカウント登録など諸々)は済ませてある前提の内容です***
***アカウント登録の方法は,検索すればわかりやすく説明してくれているサイトがあるので頑張って登録してみてください***

– [認識精度を比較した記事もあります](https://qiita.com/kamikennn/items/6af

元記事を表示

AmplifyとGraphQLではじめるサーバレスWebアプリのチーム開発体験記

## はじめに、この記事の目的

少し前にAmplifyとGraphQLを使って、少人数で完全サーバレスなWebアプリを開発する機会がありました。

誰かの参考になるか分かりませんが、既に消えかけている当時の記憶が完全に消えないうちに、`慣れ親しんでいるRESTではなく、Amplify/GraphQLを使ってみて感じた技術・チーム開発観点での気付き` をメモしておこうと思います。

いろいろと特殊な制約があり、最終的には少し複雑な構成になりましたが、そこは割愛して、ざっくりTODOアプリ的なものだと思って、読んでいただければと思います。

## ざっくり構成
だいたいこのような構成のWebアプリを作りました。極めて標準的な構成です。

## そもそも、なんでAmplify?

いろいろな選択肢がある中で、当時なぜAmplify

元記事を表示

docker centosでpython3をインストールする方法

##はじめに
この記事ではAWSのAmazon Linux2を使用して次のことを実行します。
1. dockerのインストール
2. docker imageであるcentosを起動する
3. 2で起動したコンテナ内でpython3をインストール
##1. dockerのインストール

まず以下のようにyumのアップデートを行います。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo yum update -y
“`

次にdockerをインストールします。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo amazon-linux-extras install docker -y
“`

インストールが完了したら、docker daemonを起動します。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo service docker start
“`

ec2-userをdockerグループに追加します。
これは必須ではないですが、以降“`sudo“`なしで“`do

元記事を表示

【QuickSight】CLIでの分析作成

## 参考文献
https://docs.aws.amazon.com/cli/latest/reference/quicksight/create-data-source.html

## 結論
現時点(2020年9月27日)では分析作成までの全ての工程をCLIで実現できない。
具体的にいうと、分析を作成することはできるが、分析内のビジュアル(一番の肝)が作成できないため、ビジュアルはGUIで作成する必要がある。

## 現時点での分析作成までのフロー

– データソースの作製

“`
create-data-source
“`

– データセットの作成

“`
create-data-set
“`

– 分析の作成

“`
create-analysis
“`

ここまでがCLIでできること。
この先、分析内でビジュアルを作成したい場合はGUIでポチポチしてください…

ちなみにcreate-analysisコマンドも最近しれっと追加された(2020年8月ごろ)ので、
ビジュアル作成のコマンドも近々追加されることに期待。

今後、コマンド内の細かい設定事項について

元記事を表示

AtCoderのレートでTwitterのプロフィールを自動でアップデートしてくれるWebアプリ、AtCoder Twitter Profile Updaterを作った話。

はじめに
======
Twitterで競プロアカウントを運営している方でBioにAtCoderのレートを入れていたりバナー画像をレート遷移グラフに設定している人、それなりにいると思います。
いちいち新しい情報に更新するの面倒ではないですか?
今回はそういう方のためにバナー画像とBioの更新を自動化するツールを作ってみました。

作ったもの ? [AtCoder Twitter Profile Updater](https://atcoder-twitter-profile-updater.vercel.app)
GitHub ? [makutamoto/atcoder-twitter-profile-updater](https://github.com/makutamoto/atcoder-twitter-profile-updater)

どんなアプリ?
=====
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/582655/98f4f4db-1020-cdc4-2fa8-9b86

元記事を表示

AWS Summit Onlineのちょっとしたメモ②

#AWS Summit Onlineのメモ
AWS Summit Onlineの気になったセッションを視聴してのちょっとしたメモになります。
###・AWS のサービスを使ったオンプレミスからのデータベース移行
◆AWSにデータベースを移⾏する際のパターンと移⾏⽅法
 
 パターン1:Re-Host
 オンプレミスのデータベースをなるべく環境を変えずにAWSに移行すること
 移行に対するリスクが小さい
 
 パターン2:Re-Architecture
 オンプレミスからAWSへの移行に合わせてアーキテクチャの変更をする
 例:ORACLEからPostgreSQLへ変更をすることができる
 エンジンの変更を行うので移行の際は検証をしっかりと行う必要がある
 
 パターン3:(Re-Host or Re-Platform) & Re-Architecture
 AWSへの移行の際はエンジンを変えずに、AWS上でエンジンを変更する
 
 移⾏の流れとAWSで提供するDB移⾏サービス
  Schema Conversion Tool(SCT)
   Assessment(移行難易度の調査)
 

元記事を表示

TerraformでAmazon API Gatewayを構築する(アクセスログ詳細編)

# はじめに
API Gateway+Terraform記事第3弾。
[前回の記事でカスタムアクセスログについてさらっと触れた](https://qiita.com/neruneruo/items/a568cd3f0542cde8c967#%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%AE%E3%83%AD%E3%82%B0%E8%A8%AD%E5%AE%9A)が、今回はログフォーマット関連でもう少し掘り下げてみる。

# アクセスログに出せるもの
以下のドキュメントを参照しよう。

【AWS公式】[API Gateway での REST API の CloudWatch ログ記録の設定](https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/set-up-logging.html)
【AWS公式】[API Gateway マッピングテンプレートとアクセスのログ記録の変数リファレンス](https

元記事を表示

AWS Linux2にAWS CLI バージョン2をインストールする方法

##はじめに
AWS CLI バージョン2をインストールする方法について書きます。

AWS Linux2には初めからAWS CLI バージョン1があります。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ aws –version
aws-cli/1.18.107 Python/2.7.18 Linux/4.14.193-149.317.amzn2.x86_64 botocore/1.17.31
“`

##手順
以下の2つを行います。
1. AWS CLI バージョン2のインストール
2. AWS CLI バージョン1の削除

##AWS CLI バージョン2のインストール

以下のコマンドでインストールファイルをダウンロードします。
“`curl“` コマンドでインストーラをリクエストし、オプション -o “ファイル名”で指定したファイル名にリクエスト結果を書き込みます。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ curl “https://awscli.amazonaws.com/awscli-exe-li

元記事を表示

CodeBuildでAssumeRoleを利用してクロスアカウントのリソースにアクセスする

#はじめに
CodeBuildでビルドを行う際に別アカウントのリソースにアクセスするケースがありました。そのため、AssumeRoleを利用して別アカウントのリソースにアクセスするように設定したので、その方法を紹介します。

#要件
アカウントAのCodeBuildからアカウントBのリソースにアクセスする。

#設定
AssumeRoleを利用するためにRoleの設定とCodeBuildでAssumeRoleの認証情報を環境変数にエクスポートを行います。

###Roleの設定
####アカウントAのCodeBuild用Role
CodeBuild用Roleに**sts:assumeRole**のアクセス許可を追加して、AssumeRole操作を許可します。
ResourceはアカウントBのリソースを操作するRoleを指定します。

“`
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “VisualEditor0”,
“Effect”: “Allow

元記事を表示

Well Architected Frameworkを意識して自分なりにアーキテクチャ設計・構築をしてみた。<Route53、ACM編>

#HTTPS化

##ACM
事前にドメインを取得して、Route53にホストゾーンの作成を行っています。

**注意**
ALBで利用する証明書はALBのあるリージョンで、Cloudfrontで利用する証明書は必ず**「バージニア北部」**で取得して下さい。

それではマネジメントコンソールの「Certificate Manager」から証明書の発行を行います。
![スクリーンショット 2020-09-26 23.36.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666664/8c4390d3-a43a-f32e-7fba-5226bbea39a2.png)

今回は一般的な用途ですので、「パブリック証明書のリクエスト」を選択して下さい。
![スクリーンショット 2020-09-26 23.36.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/666664/05ab8f6c-a7dc-0da7-2911-0

元記事を表示

AWS Linux2でpython3をインストールする方法

## yumでインストール
以下のようにyumでインストールします。
sudoは管理者権限でコマンドを実行します。
python3のインストールはこれだけです。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ sudo yum install python3 -y
“`

オプション -y は、以下のようなメッセージにすべてyで答えるために付けます。

“`
Is this ok [y/d/N]:
“`

##モジュールのインストール
モジュールのインストールにはpip3コマンドを使用します。
オプション -V でpip3のバージョンを確認できます。

“`
[ec2-user@ip-xxx-xxx-xxx-xxx ~]$ pip3 -V
pip 9.0.3 from /usr/lib/python3.7/site-packages (python 3.7)
“`

ここではpandasをインストールしたいとします。(pandasをインストールしたいモジュールに置き換えてください)
・・・の部分は、表示されるメッセージを省略しています。

“`

元記事を表示

レンタルサーバのWordPressをAWS(S3+CloudFront)に移行した話

# 背景

Webライターを営む妻からある日受けた相談。
レンタルサーバ(エックスサーバ)とWordPressでブログを運営しているが、サーバとかよくわからないから教えてほしい、というかそのままサーバ管理をやってほしいと。
~~良いネタが見つかった~~愛する妻を助けるため~~興味の赴くままに~~頑張った結果、気付いたら爆速かつ低コストなブログが出来あがっていました。

以下実際のブログなのでよければご覧ください!
https://urichiki.com/

# システム構成

## 概要

コンセプトとしては、WordPressをWebサーバとして運用するのではなく、WordPressで作成したコンテンツを静的化(html/css)し、Amazon S3に配置することでサーバレス化することを基本方針としています。
アイデア自体は目新しいものではなくすでに色々な記事で紹介されているので、構築手順や細かい説明は割愛して、簡単に各技術の導入背景等を説明していきます。
技術的な興味を持っていただいた方や、私と同じように静的化したブログ環境を構築したいと考えている方の参考になれば幸いです。

元記事を表示

え、CloudFormationでdynamoDBを作成するときは全カラムをプライマリー・ソートキーにしなきゃいけないんですか!?

# 結論
そんなことはないです。
# 背景
こんな感じのテーブルを作ろうとしました。

* 主キー:UserId(型:String)
* カラム :Name(型:String)

なので、以下のようなテンプレートを用意しました。

“`
AWSTemplateFormatVersion: ‘2010-09-09’
Transform: AWS::Serverless-2016-10-31
Description: ‘sam-dynamo

Sample SAM Template for sam-dynamo


Globals:
Function:
Timeout: 3
Resources:
UserTable:
Type: AWS::DynamoDB::Table
Properties:
AttributeDefinitions:
– AttributeName: UserId
AttributeType: S
– AttributeName: Name
Attribute

元記事を表示

OTHERカテゴリの最新記事