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

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

AWS Cognito にトライしてみた

# なにをしたか
* AWS Cogniteでログイン周りを作れそう?と思ったのでその調査

# 結論
* できたよ
* 最小構成は、登録(Signup)、有効化(Activation)、サインイン(SignIn)でできそう

# 本編
## 実施内容(基本的にはこの通り)
* https://www.tdi.co.jp/miso/amazon-cognito-javascript
* https://www.tdi.co.jp/miso/amazon-cognito-activation-sign-in

## アレンジ
jsのパスが3画面で違ってる部分は合わせた
### 画面遷移を追加
#### signup -> activation

“`js:
// サインアップ成功の場合、アクティベーション画面に遷移する
location.replace(‘activation.html’);
“`
#### activation -> signin

“`js:
// アクティベーション成功の場合、サインイン画面に遷移
loc

元記事を表示

OpenCV(python)をLambdaで動かす

すでに他の人が記事で書いているのですが、そもそもSAMについてよくわかっていなかったので自分の備忘録としてリンク集貼っておきます。

https://note.com/rooxim/n/n8631eb634167

AWSのインストール系リンク

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/install-cliv2-mac.html

https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/serverless-sam-cli-install-mac.html

そもそもSAM使ってDeployすることを丁寧に書いてくれている記事

http://hack-note.com/infra/aws-sam-lambda-deploy/

元記事を表示

複数サブドメインを1つのCloudFrontディストリビューションに向ける

slackって、チームごとにサブドメインが発行されますよね。たとえば、私がSlackチームを作ると
`k5trismegistus.slack.com` といった具合に。

こういう風に、ユーザーとかグループごとにサブドメインをわけてサービスを提供できるWebサービスってどう作るのかなと思い、実験してみました。

## 前提

– インフラはAWS
– アプリケーションのフロントエンドはCloudFrontが配信する
– サービスは \*.app.example.com で配信する。\*に入る文字列をアプリケーションが使う(example.comは適宜お持ちのドメインに読み替えて)
– すでにexample.com はRoute53に登録されている

## アプリケーション側

アプリケーション側は、きちんと到達できてサブドメインの情報がとれればよいので、Nuxt.jsで簡単にサブドメインを表示するだけのアプリを実験用に作成し、S3においておきました。

1番下位のサブドメイン、つまりa.b.example.com だったら、a を表示するだけのサービスです。

https://gi

元記事を表示

Dynamic Partitioning in AWS Kinesis Data Firehoseをさっそく利用してみた記録

DMMデータインフラ部Trackingチームに所属している津久井です。

先月の8月31日にリリースされたばかりの
[Dynamic Partitioning(動的パーティション) in Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/dynamic-partitioning.html) について
さっそく試す機会があったので、
取り急ぎこの場に仕様と実際に利用した記録、気づいたこと等を記載いたします。

# 前提

AWS Kinesis Data FirehoseでのS3出力のパスのカスタマイズには、
・固定文字列の指定
・”Firehoseに読まれた時点での”日付による指定(UTC)
のカスタムプレフィックスのパーティショニングのみに対応していました。

<例>
“`
s3://bucket-name/year=!{timestamp:YYYY}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/
“`

元記事を表示

【備忘録】Wordpress(EC2)をELB経由でHTTPS通信にするときにハマったポイント

# AWSでWordpress立ち上げようと思ってしまった
きっかけは、[AWSのハンズオン](https://scalable-webapp-on-ec2.workshop.aws/)。
ここまで構築はなんなく出来た(資料あるし)。
「折角作った環境だから、セキュアなHTTPS通信にしよう」と意気込んだ途端、いろんな落とし穴に落とされてしまった。

このつまずいたポイントを列記した。
流れは、以下の通りである。詳しい方法はいくつかのURLを参照した。
※[料金](https://aws.amazon.com/jp/pricing/)が発生する作業もあるため、予め確認してほしい。

## プロセス
1. VPCを作成
2. EC2を作成(WordPressインストール)
3. RDSを作成
4. ELBを作成
5. WordPress設定(RDS等)
6. マルチAZ化
↑ここまでは[AWSのハンズオン](https://scalable-webapp-on-ec2.workshop.aws/)で詳しく解説されている。

7. Route53でドメイン購入(ドメイン登録は[公式ドキュメ

元記事を表示

EC2 Global View とは

## 勉強前イメージ

新しいEC2の機能?
EC2の全部を見れる的な感じがする

## 調査

### EC2 Global View とは

単一の画面で、EC2の全リージョンのリソースを表示することができるサービスで
これまではEC2のリージョンごとのリソースしか見れなかったのですが
EC2 Global Viewを使うことで全体を見ることが可能になりました。

### 見てみる

– コンソールから検索

`EC2 Global View` で検索すると出てきます。

![1EC2 Global View – Google Chrome 2021-09-03 22.13.4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/0e60494c-1362-607d-6d3f-082b8aba155b.png)

– 見れるもの(リージョンエクスプローラー)

リソースの概要とリージョンあたりのリソース名が見れます。
リソースの概要は、インスタンスやボリュームなどどれだけあるか確認できます

元記事を表示

IAMユーザ作成を自動化する

#はじめに
LambdaからCloudFormationを起動するというのをやってみました。
ただ、この記事の内容は実務で使用しているわけではなく、実用的でもないと思っています。

#実現したいこと
![rapture_20210903201831.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535463/51907e63-dac0-fba1-a5f3-6b92559fcda4.png)
上図のように、S3バケットにIAMユーザ名を記入したファイルをアップロードすると、それをトリガーにLambdaが実行され、CloudFormationを起動します。最終的にはIAMポリシーがアタッチされたIAMユーザが作成されます。

#作業手順
##1. CFnテンプレートの作成
まずはCloudFormationのテンプレートとなるyamlファイルを作成します。
IAMポリシーはPowerUserAccessをアタッチすることにしました。

“`ruby:create-iam-user.yml
AWSTempl

元記事を表示

Springで作成したアプリをAWSとRDSとElastic Beanstalkを用いてデプロイする方法①

#はじめに
デプロイ経験がない筆者でもSpringで作成したアプリケーションをAWSのElasticBeanstalkとRDSを用いて無事にデプロイすることができましため、共有及び備忘録として執筆します。
①では、RDSでのDB作成を執筆します。
②では、MySQLの設定とElasticBeanstalkの設定について執筆します。

#作成期間と作業
作成期間は約3週間ほどです。

作成するにあたって行った作業は下記の通りです。

①Udemyの「AWS:ゼロから実践するAmazon Web Services。手を動かしながらインフラの基礎を習得」を受講してEC2やRDSについての知識をつける。
②デプロイ方法について日本語サイトを見てもうまくいかなかったため、Udemyの「Deploy Java Spring Apps Online to Amazon Cloud (AWS)」を受講してデプロイ方法について学ぶ。
※こちらの講座は英語字幕付きのため、聞き取れなくてもなんとか理解できます。
③Springの公式ドキュメントも参考にしながら、実際に自分が作成したアプリケーションをデプロイ

元記事を表示

Amazon Elasticsearch Service における Indexing のパフォーマンスチューニング

# 概要

Amazon Elasticsearch Service(以下 Amazon ES)で Indexing のパフォーマンスチューニングを行い、
約3倍の改善が見られたのでそのときやったことで効果が高かったこと、逆に低かったことなどを書きます。

# 前提

チューニング対象の index はウェブサービスなどにおける検索用途のもので、
日時で index を作り直し alias を切り替える運用であるため、
primary shard の調整や Mappings の変更が比較的容易にできる前提です。

# 計測方法

CloudWatch Metrics の `IndexingLatency` や `IndexingRate` で計測します。

– IndexingLatency : インデックス作成オペレーションを完了するためにシャードで必要な平均時間(ミリ秒)
– IndexingRate : 1分あたりのインデックス作成オペレーションの数

https://docs.aws.amazon.com/elasticsearch-service/latest/develo

元記事を表示

Cloudfront+LambdaEdgeでリダイレクトを行う。

こちらに書いてあるサンプルをそのまま載せてます…

https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/lambda-examples.html

`HTTP リダイレクトの生成 (生成されたレスポンス)`

lambdaはバージニア北部で作ります。
Pythonは3.8です(3.9で作ったらCloudfrontが対応してないって言われました。)

ロールは新たに作ります。
[基本エッジ Lambda のアクセス許可]を指定。

“`python
import json

def lambda_handler(event, context):
print(“event:{}”.format(event))
print(“context:{}”.format(context))
# Generate HTTP redirect response with 302 status code and Location header.

respons

元記事を表示

【AWS】新しいWindows環境をAmazon WorkSpacesで無料で作ってみた

#はじめに
Windows10環境を持っているが、過去に色々なアプリを入れまくり、検証機がみなさんと同じPC環境なのかよくわからん!という方向けに、まっさらなWindows10環境を無料で作る方法をお伝えします。

今回はAWS上にあるAmazon WorkSpacesで現在無料枠である以下を構築してみました。
[Standard with Windows 10 (Server 2016 based)]のJapanese(日本語)
→Windows Server 2016ベースのWindows10(日本語版)です。

#前提
・AWSアカウントが発行済みで無料枠期間中であること。
・AWSアカウントは簡単に発行できます。1年間は無料期間ですので色々試してみるのもいいと思います。
・クライアントはmacOS(Catalina 10.15.7)とします。(Windows10でもほぼ同じです)

#手順
1.AWSマネジメントコンソールにログインします。
![スクリーンショット 2021-09-02 16.49.41.png](https://qiita-image-store.s3.a

元記事を表示

AWS IoT CoreをRaspberry Piで使ってみた その1

## 概要
* AWSにはIoT機器と接続、管理するためのAWS IoT Coreというサービスがある
* 公式にもハンズオンがあるが、最小限の手順、構成で動作を確かめてみる
https://aws-iot-core-for-beginners.workshop.aws/phase2/step2.html
* まずAWS IoT CoreとRaspberry Piを接続してみて、動作を確かめてみる

![aws-iot-core.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/701445/5b2e455f-a8b2-e09b-ba52-9fdeb020073d.png)

## 用意するもの
* Raspberry Pi4 (3でもおそらく大丈夫)
* Raspberry Pi用のケース
* Raspberry Pi用のヒートシンク
* Raspberry Pi4 対応 電源セット(5V 3.0A)
* DHT22 温湿度センサー
* AWSアカウント

## 環境構築
* Raspberry Pi

元記事を表示

GoでS3の署名付きURLを作成

意外と見つけるまで時間がかかってしまったのでメモです。

## 参考

公式ドキュメントです。

https://aws.github.io/aws-sdk-go-v2/docs/code-examples/s3/generatepresignedurl/

https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/

## 前提

– AWSの認証情報が環境変数として登録されている

“`
export AWS_ACCESS_KEY_ID=yyyyy
export AWS_REGION=ap-northeast-1
export AWS_SECRET_ACCESS_KEY=xxxxxx
“`

## コード

“`main.go
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX – License – Identifier: Apache – 2.0
package main

import (
“context”

元記事を表示

PowerQueryでAWS Price List API (AKA the Bulk API) からオファーファイルの一覧を取得する

AWSには多岐に渡るサービスがあり、その価格表が各サービスのページに表示されています。
それと同時に`AWS Price List API`としてAPIも提供されているため、コチラをつかってAWS価格表(オファーファイル)のURL一覧を取得してみます。

こんな感じので取得できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1670622/c4d75767-4707-687c-fe45-5034c644fe0f.png)

## AWSから提供されている`AWS Price List API`について
[Using the AWS Price List API](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/price-changes.html)

AWSの価格情報は`AWS Price List API`として下記の2種類があります。

– Price List Service API (AKA t

元記事を表示

AWSでHPを作って運用してみたら月額181円だった。

#はじめに
友人の個人事業主のHPをAWSで作成しました。
EC2でWEBサーバを立てるより、S3で静的ウェブサイトをホスティングした方が安く済むとのことですが、実際いくらかかるのかも検証しました。

#前提
1.ドメインをAWSのRoute53で取得することとします。
2.HTTPのGETリクエストは月1500程度(実績)とします。
3.無料枠期間中の話です。(初年度)

#運用費
Route53でドメインを取得するのに[単位は$]
・毎年12.0+税金1.25
・毎月0.5+税金0.05がかかります。

もしドメインを取得しないと以下のようなURLとなります。
http://abc.s3-website-ap-northeast-1.amazonaws.com

これをドメイン取得すると
http://abc.com

のようにできます。なお、ドメイン取得には3日程度かかります。

#請求画面

13.75$は年間最初の月だけかかります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/

元記事を表示

【AWS】AWSを勉強していく中で「?」ってなった単語をまとめていく①

#はじめに
昨日からAWSを勉強し始めました。わからない単語のオンパレードだったので、ここにメモしていこうと思います。まだ中途半端な状態なので、どんどん更新していきます。

#対象者

* AWSを学んでいる方

#目的

* AWSを学んでいく中で、わからなかった単語を理解した上で使用する

#AWS勉強中に出てきた用語

##AWS

* Amazon Web Services
* クラウドコンピューティングを使ったサービス
* クラウドコンピューティングとは、インターネットを介してサーバー・ストレージ・データベース・ソフトウェアといったコンピューターを使った様々なサービスを利用すること

[ AWSとは? わかりやすく解説 | SKYARCHのITあんちょこ ](https://www.skyarch.net/column/whataws01/)

##EC2

* Amazon Elastic Compute Cloud
* AWS上に仮想サーバーを構築して自由に利用できる
* 仮想サーバーではLinuxやWindowsといった標準的なOSが利用可能で、自動的にサーバーの構築と

元記事を表示

WEBサーバー用EC2の起動からWEBページの表示まで

#AWS EC2インスタンス基本構成
アプリケーションデプロイ用の基本構成のEC2インスタンス起動方法についてメモ
簡単なことですが一応まとめます。

パブリックサブネットにWEBサーバー用のEC2と
プライベートサブネットDBサーバー用のEC2を構築していきます。

##事前準備
###VPC
デフォルトのものではないVPCを用意(何用かわかりやすい名前を付ける)

###サブネット
上記のVPCにパブリック1aを用意
(冗長構成用にパブリック1cがあってもなくても)

##WEBサーバー用のインスタンス起動設定
###インスタンスタイプの選択
無料利用枠のt2.micro

###インスタンスの詳細設定
ネットワーク:事前に用意したデフォルトのものではないVPC
サブネット:パブリックサブネット1a
自動割り当てパブリックIP:有効

###タグの追加
キー:Name
値:アプリ名-webserver-1a

###セキュリティグループの設定
セキュリティグループの割り当て:新しいセキュリティグループを作成する
セキュリティグループ名:[アプリ名]-webserver-sg
説明

元記事を表示

AWS SAMテンプレートの分割(テンプレートのネスト)

AWS SAMテンプレートを分割(ネスト)させる方法です。

リソースの数が多くなってくると煩雑になるのでテンプレートを分割して
管理したくなると思いますがSAMテンプレートでも分割(ネスト)が可能です。
ネストした場合、スタックはファイル別に作成されますが、関連付けされているので
親側のスタックを削除すればネストしているスタックも含めて全て削除されます。

■参考URL
[ネストされたアプリケーションを使用する](https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/serverless-sam-template-nested-applications.html)

## 分割前のSAMテンプレート
LambdaとDynamoDBの定義があります。
今回はここからDynamoDBの定義を別のファイルに分離します。

“`yaml:before.yaml
AWSTemplateFormatVersion: ‘2010-09-09’
Transform: AWS::Se

元記事を表示

基本的なブログサービスを構築してみました(シングル構成)

#<記事の目的>#
aws cloudtechにて、以下の基本的なサービスについて学びました。
※概要から実際の作成方法まで。

①VPC ②IAM ③EC2 ④RDS ⑤RDS

今回は、その成果物としてパブリックサブネットに構築したEC2にwordpressをインストールしてみたいと思います。(シングル構成)

#<構成図>#
構成図は以下の通りと致します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1865661/dc120c13-bdce-d779-9fcc-057e2ba669ae.png)

#<準備物>#
ノートパソコン(画面が壊れており、テレビに繋げて映しております。):laughing:

#<要件>#
要件は以下の通りと致します。
①ルートアカウントは使用しない。(IAMユーザ作成済み。)
②自PCから、SSH/HTTPアクセスを許可。
③パブリックサブネットに配置するEC2には、wordpressをインストールする。
④保存用DBは、RDSでMYSQLを指定す

元記事を表示

【初心者】AWS Wavelengthを使ってみる #3 (SoftEtherによるVPN通信)

# 1. 目的

– AWS Wavelengthは2021/9現在、日本国内はKDDI網のみからアクセス可能。
– KDDI端末(スマホ)にテザリングしたPCとWavelength上のサーバ間でVPN通信したい、またテザリングしたPC間でもVPN通信したいというニーズがあり、SoftEtherでのVPN環境構築を行い動作確認を行う。

# 2. やったこと
– AWS Wavelength上にSoftEtherのVPNサーバを立てる。
– KDDI端末(スマホ)でテザリングしたPCからVPNサーバに接続し、Wavelength上のサーバにVPN経由でアクセスする。また、2台のテザリングしているPCでそれぞれ同時にVPNサーバへの接続を行い、相互に通信できることを確認する。

# 3. 構成図

![softether構成図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/189302/2db456be-9f6e-5b14-3e06-0b8e8d8b7038.png)

# 4. 実施手順

## 4.

元記事を表示

OTHERカテゴリの最新記事