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

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

AWS(EFS)

#はじめに
こちらではAWS機能について書いていきたいと思います。
公式ドキュメントやAWS認定試験(ソリューションアーキテクトやDevOpsなど)の勉強教材など細かい内容をかかず、ざっくりとした内容で。
試験などに興味はないし!公式ドキュメントなど長ったらしくて読めん!
という方に向けに作っていきたいと思います。
(私の備忘録も兼ねて)

写真はつけられればつけます。(Qiitaの制限の範囲内で)

ストレージなどは種類が多くてややこしいですね

#環境
AWS

#ドキュメント
https://docs.aws.amazon.com/index.html
https://docs.aws.amazon.com

#EFSとは
・NASに似たファイルストレージ
・ファイルシステムとして利用し、複数のEC2インスタンスでの共有アクセスが可能
・S3と異なりインターネットから直接アクセスできない

##特徴
|種別|内容|
|:———–|:————|
| シンプル| フルマネージドで既存のNGSv4などのゆーるや標準プロトコル/APIでアクセス可能 |
|

元記事を表示

AWSストレージ

#はじめに
こちらではAWS機能について書いていきたいと思います。
公式ドキュメントやAWS認定試験(ソリューションアーキテクトやDevOpsなど)の勉強教材など細かい内容をかかず、ざっくりとした内容で。
試験などに興味はないし!公式ドキュメントなど長ったらしくて読めん!
という方に向けに作っていきたいと思います。
(私の備忘録も兼ねて)

写真はつけられればつけます。(Qiitaの制限の範囲内で)

ストレージなどは種類が多くてややこしいですね

#環境
AWS

#ドキュメント
https://docs.aws.amazon.com/index.html

#ストレージの種類
・Amazon Simple Service(S3)https://qiita.com/I_S-657/items/5d44ec26f5d27ee93a99
・Amazon Elastic Store(EBS)https://qiita.com/I_S-657/items/ac96154e4c314a7f1c3a
・Amazon Elastic File System(EFS)
・Amazon S3 Glac

元記事を表示

Amazonコンテナサービス

#はじめに
こちらではAWS機能について書いていきたいと思います。
公式ドキュメントやAWS認定試験(ソリューションアーキテクトやDevOpsなど)の勉強教材など細かい内容をかかず、ざっくりとした内容で。
試験などに興味はないし!公式ドキュメントなど長ったらしくて読めん!
という方に向けに作っていきたいと思います。
(私の備忘録も兼ねて)

写真はつけられればつけます。(Qiitaの制限の範囲内で)

#環境
AWS

#ドキュメント
https://docs.aws.amazon.com/index.html
https://docs.aws.amazon.com

##Amazonコンテナサービス
・レジストリ(コンテナエンジンに実行されるイメージが保管される場所)
Amazon ECR
・コントロールプレーン(コンテナを配信するサービス)
Amazon ECS
Amazon EKS
・データプレーン(コンテナが実行される環境)
AWS Fargate

###ユースケース
環境構築を自動化しつつ、CI/CDを実行したい場合はDockerを利用する。

元記事を表示

Amazon Lightsail

#はじめに
こちらではAWS機能について書いていきたいと思います。
公式ドキュメントやAWS認定試験(ソリューションアーキテクトやDevOpsなど)の勉強教材など細かい内容をかかず、ざっくりとした内容で。
試験などに興味はないし!公式ドキュメントなど長ったらしくて読めん!
という方に向けに作っていきたいと思います。
(私の備忘録も兼ねて)

写真はつけられればつけます。(Qiitaの制限の範囲内で)

#環境
AWS

#ドキュメント
https://docs.aws.amazon.com/index.html
https://docs.aws.amazon.com

#Amazon Lightsail
秒単位で簡易にWebサーバ構成を実現することができるサービスフルセットを提供するVPSサービス
・簡易的に小規模のアプリケーションやWEBサイトを構築するために利用するVPSを立ち上げる
・サーバ/ストレージ/ネットワーク/スナップショット、ロードバランサー機能、ファイアウォール、DNS機能などがいくつもの機能が予め揃ったオールインワンで利用することが可能

###ユースケース
・シン

元記事を表示

Lambda

#はじめに
こちらではAWS機能について書いていきたいと思います。
公式ドキュメントやAWS認定試験(ソリューションアーキテクトやDevOpsなど)の勉強教材など細かい内容をかかず、ざっくりとした内容で。
試験などに興味はないし!公式ドキュメントなど長ったらしくて読めん!
という方に向けに作っていきたいと思います。
(私の備忘録も兼ねて)

写真はつけられればつけます。(Qiitaの制限の範囲内で)

#環境
AWS

#ドキュメント
https://docs.aws.amazon.com/index.html
https://docs.aws.amazon.com

#Lambda
単調な処理などをサーバレスで実行することができるサービス

###特徴
・実行基盤は全てAWSが管理
・AWSサービスと連携させることで簡単にイベントドリブンなアプリケーションを実行可能
・Node.js/javaで書かれたコードを実行
・100ミリ単位でコード実行に対して課金でありコスト効率が高い
・オートスケール

元記事を表示

AWS アカウントの作成方法

知識ゼロから理解した事を纏めたものであり、認識齟齬があった場合はご連絡下さい。

##AWSにアクセス
以下URLより、AWSにアクセスします。

https://portal.aws.amazon.com/billing/signup?#/start

##必要な情報の入力
必要な入力情報項目は以下の通りです。
###step1
 ・email
 ・PW(大文字英字/小文字英字/英数字以外/数字 を1つずつ使用 8文字以上)
 ・PW(再度)
 ・AWSアカウント名

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/530767/6e5d8664-6dd6-fb8e-9d6d-262092796afe.png)

###step2
 ・AWS使用用途(二択)
 ・フルネーム(英字)
 ・電話番号 (国コード含む)
 ・国または地域コード(選択)
 ・住所 (市区町村以降の住所 番地含む 英字)
 ・市区町村(英字)
 ・州/都道府県または地域(英字)
 ・郵便番号

![image.p

元記事を表示

ACM で証明書取る時は、リージョンを US East 1 にして取るべき。あとは Terraform と ACM についてとか

非常に基本的なことですが、3年前くらいにはまったのでメモしておきます

Route53 はドメインの取得や DNS の設定をするサービスで、 ACM は SSL 証明書を取得するサービスです。 ACM と Route53 は連携しており、例えば Route53 に登録したドメインの SSL 証明書を ACM で取得しようとすると、 Route53 に CNAME レコードを作成しますか?みたいなボタンが出てきて、それを押すと簡単に取得できます。多分内部的に Let’s Encrypt の DNS チャレンジみたいなことが行われてるんだと思います。

Route53 はグローバルに適用されるサービスですが、 ACM はリージョン別にあります。ここで東京リージョンなどで取得してしまうと、確か CloudFront に設定できなかったり、ワイルドカードドメインが取得できなかったりして詰みます。まあ詰むといっても、 US East 1 で取り直せばよいのですが、東京リージョンの証明書が残ってしまうと、後々これって使ってるんだっけ?みたいなことになったりして厄介なので、東京リージョンで作ってしま

元記事を表示

【boto3】AWS SQS send_messages のエラー処理

# `send_messages` のエラー処理について

## 問題点
> The result of sending each message is reported individually in the response. Because the batch request can result in a combination of successful and unsuccessful actions, you should check for batch errors even when the call returns an HTTP status code of 200 .

[send_messages – Boto3 Docs](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sqs.html#SQS.Queue.send_messages)

DeepL翻訳

> 各メッセージの送信結果は、レスポンスで個別に報告されます。バッチリクエストは、成功したアクションと

元記事を表示

RDSを低コストでDRリージョンにバックアップ・リストアする

#概要
以下サイト内容を実施してみました。
簡単に言うと、RDSの障害時にLambdaを使って、
DRリージョンにスナップショットからRDSを復元します。

https://aws.amazon.com/jp/blogs/database/cross-region-automatic-disaster-recovery-on-amazon-rds-for-oracle-database-using-db-snapshots-and-aws-lambda/

#構成図
3つのLambdaを使用しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1138583/8b720be4-9870-e9cd-f877-353c020c88ba.png)

#前提条件
RDSはソースリージョンで作成しておきます。
ターゲットリージョンではDBサブネットグループのみ作成しておきます。

#目次
1. [Lambda用IAMロールの作成](#anchor1)
1. [【①RDSスナップショット取得】

元記事を表示

オンプレ感覚! AWS EC2でNMI割り込みでdump取っちゃおう!!!

#はじめに
某ベンダで、クラウドの人材育成企画と研修トレーニングのデリバリを担当しています。
研修準備のためオンプレとクラウドの運用差分を整理していたのですが、「あれ、クラウドで仮想OSのdumpってオンプレみたいに取れるのかな?」が気になりちょっと調べてみました。
結論から言うと、`オンプレみたい`に取れちゃいます。

実は、10数年前までLinuxエンジニアやってました。オンプレでは当たり前のようにOSのdumpを取って障害分析してました。クラウド的にな使い方だと、`リソースは使い捨い捨てが当たり前`なのですが、エンタープライズ用途の需要がまだあるんじゃないかと思ってます。例えば、性能遅延時の原因調査とか、アプリケーション実行時のメモリ不足の原因調査とか。

#前提環境
Amazon Linux 2で試してみます。
恐らくRedhat系のディストリビューションだと手順は同じと思います。
今回利用するAMIはx86を利用します。

>[AMI]
> Amazon Linux 2 AMI (HVM),
> SSD Volume Type ami-06202e06492f46

元記事を表示

AWS Cognito ページネーショントークンで全ユーザーを取得する

# list_users( ) にはlimitがあった

100以上ユーザーを登録しているのに、list_users後のresponseを見ていたら存在するはずのメールアドレスが表示されていないことに気づいた。そこでログを出してみると、、、なぜか60人しか取れていなかった。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/e8497bc2-c09b-98f2-de18-7ef6dde422de.png)

Boto3 Docsには以下の記述がある。

> Limit (integer) — Maximum number of users to be returned.

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/848148c8-ef5d-f2fa-849e-397bb56e7678.png)

最大値を引数で指定できる。試しに`Limit=200`にする

元記事を表示

AWS CloudFormation StackSetsってなんだろ?

CloudFormationはよく使いますが、スタックセットは使ったことがないので、そもそもどんな機能なのかを調べてみました。

# ドキュメント
[AWS CloudFormation StackSets の操作 – AWS CloudFormation](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html)

## 概要
– 複数のアカウントおよびリージョンのスタックを 1 度のオペレーションで、作成、更新、削除できるようにすることで、スタックの機能を拡張
– 管理者アカウントを使用して、AWS CloudFormation テンプレートを定義および管理
– 指定のリージョンの選択されたターゲットアカウントにスタックをプロビジョニングする基盤としてテンプレートを使用
– ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1162215/32bacea4

元記事を表示

AWS日記25 (AWS SES)

# はじめに
今回は AWS SES を試します。
メールを受信し、Webページ上で確認できる機能を作ります。
SESの機能を利用するにあたり[リージョンの制限](https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/regions.html#region-receive-email)があった為、バージニア北部(us-east-1)リージョンで作成しました。

[Lambda関数・SAMテンプレート]
(https://github.com/tanaka-takurou/serverless-ses-page-go)

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

[AWS SESの資料]
[Amazon Simple Email Service 開発者ガイド](https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/Welcome

元記事を表示

ZOZOTOWNの画像から、コーデの参考になる全身画像を機械学習で抽出する試み。

# 概要
ZOZOTOWNの商品画像には、**商品のみの画像**と**コーデの画像**があります。
これらの画像から全身が写ったコーデ画像のみを抽出したくなったため、MLを利用して試してみました。

| 商品のみの画像 | コーデ画像 |
|:-:|:-:|
| ![54033586b_8_d_500.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146971/3cc1647a-994f-cfcf-b404-4c635c19f57a.jpeg) | ![54033586b_b_06_500.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/146971/d442798f-b002-6451-33d9-0129117fd29d.jpeg) |

# 必要要件
**コーデ画像として使える全身画像 = 首と足が含まれている画像**
と考えました。

# 検討した手法
### 1.オブジェクト検出
オブジェクト検出は、画像の中

元記事を表示

AWS SDK for PHP を EC2Roleを通して利用する

AWSのリソースをプログラム上から操作するためにはSDKを活用します。
AWS SDKを使ってリソースを操作するためにはAWSの認証情報を持っている必要がありますが、
サーバやコード内に認証情報を入れるのはセキュリティ上あまり推奨できません。

そこで利用するのが、EC2Roleです。
EC2インスタンスにRoleを適用することで認証情報をサーバ内に置くことなくAWSのリソースを操作できます。

SDK自体の導入は他の記事をご参照ください。

# コード
今回はS3とRekognitionを例にコードをご紹介します。

S3へ画像をアップロードするPHPコードです。

“` s3-upload.php

元記事を表示

AWS Rekognitionで簡単に顔認証ができた

AWS Rekognitionは画像分析が簡単にできるサービスです。
今回はCliを利用して顔認証をしていきます。

# コレクションを作成
まずは顔の情報を保存するためのコレクションを作成します。

“`
$ aws rekognition create-collection –collection-id “Face”
CollectionArn: aws:rekognition:ap-northeast-1:000000000:collection/Face
FaceModelVersion: ‘5.0’
StatusCode: 200
“`

# コレクションへ顔を登録
作成したコレクションに顔画像を登録します。
画像はS3にあげてから、それを指定して登録します。
external-image-idを画像に写っている人の名前とかにすると認識時にわかりやすくなります。

“`
$ aws rekognition index-faces \
–image ‘{“S3Object”:{“Bucket”:”hogehoge-bucket”,”Name”:”ho

元記事を表示

WordPress を EC2 / CloudFront / S3 / SES を活用して構築する ①

WordPress サイトを AWS ネイティブなクラウド環境で構築してみたまとめです。

# やってみたこと

![AWS Architecture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/869416/f05447be-60f1-5270-75e4-921e6c2d8c73.png)

* WordPress の閲覧者はインターネットから CloudFront を通して `https://example.com` のような URL でアクセスします。
* CloudFront はアクセスされたパスに応じて、通常は EC2 上で動作している WordPress をオリジンに、`/wp-content/uploads` 以下にアクセスがあった場合は S3 をオリジンとします。これは WordPress でホストされているサイト上に容量の大きな静的ファイル (画像・動画など) が存在することを想定しています。
* 新規コメントや自動アップデートなどのメール通知は、SMTP を介して SES で送信

元記事を表示

Terraformでdestroyするときに「BucketNotEmpty」が出たときの対処法

S3バケットに対して`destroy`したときに

“`bash
BucketNotEmpty: The bucket you tried to delete is not empty
“`

とか言われて怒られることが結構あるんですよね

#### 対処(CLI)

メッセージの通りなんですが、
S3バケットの中身が空でない(NotEmpty)の状態でバケット自体削除できないわけです。

なので、CLIで消してしまうというのが一つの手

“`
aws s3 rm s3://bucket-name –recursive
“`

いちいち消すのが面倒くさい(tfでやりたいときは)ときは下記の通り

#### 対処(Terraform)

“`terraform
resource “aws_s3_bucket” “default” {
bucket = “bucket-name”
}

resource “null_resource” “default” {
triggers = {
bucket = aws_s3_bucket.defa

元記事を表示

AWS Elastic Beanstalk

#AWS Elastic Beanstalkとは?
**「定番構成の構築・アプリデプロイの自動化サービス」**
#特徴
・速く簡単にアプリケーションをデプロイ可能
・Auto Scalingによりコストを抑えながらスケーラビリティを確保
・Java,PHP,Ruby,Python,Node.js,.NET,Docker,Goなどに対応

#構成要素
**アプリケーション**
・トップレベルの単位
・バージョン、環境、環境設定が含まれている入れ物

**バージョン**
・デプロイ可能なコード
・S3上ででのバージョン管理
・異なる環境に異なるバージョンをデプロイ可能

**環境**
・各環境に応じて構築されるインフラ環境
・バージョンをデプロイ
・例)ELB+EC2など

**環境設定**
その環境に関連するリソースの動作を定義する設定パラメータ
例)EC2インスタンスのタイプ、AutoScalingの設定など

#環境のタイプ
**ロードバランシング、AutoScaling環境**
・高い可用性
・ウェブサーバ環境:ELB+AutoScaling
・ワーカー環境:SQS+AutoSca

元記事を表示

AWSから行うセキュア動画配信 ~署名付きCookieを利用したプライベートコンテンツ配信~

## はじめに

AWSから行うセキュア動画配信の後編の投稿になります。

* [前編](https://qiita.com/r-mizuno/items/79ec52ca77ac0bb1b503): 配信するための動画を、AWS Key Management System (KMS) から生成した共通鍵で暗号化し、S3へ格納する
* [中編](https://qiita.com/r-mizuno/items/b3ec1cdd4851d6b54823): AWS Elemental MediaConvert を利用して、HLS+AES暗号化の形へ動画を変換する
* 後編: **Cloudfrontの署名付きCookieを利用して、アクセス可能なユーザを制限する(今回)**

前回は、S3へ格納された動画をMediaConvertを使用して、HLS+AESの形へ動画を変換しました。
今回は、変換した動画をCloudFrontから、署名付きCookieを利用して配信する手順をご紹介します。

## 構築予定の環境

構築予定のシステム構成図は以下のようになります。
本記事では、赤字となって

元記事を表示

OTHERカテゴリの最新記事