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

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

Amazon Simple Email Service が、アジアパシフィック (東京)リージョンで利用可能に!!!!!!

#[Amazon Simple Email Service が、米国東部 (オハイオ)、アジアパシフィック (シンガポール)、アジアパシフィック (東京)、およびアジアパシフィック (ソウル) リージョンで利用可能に](https://aws.amazon.com/jp/about-aws/whats-new/2020/07/amazon-ses-available-ohio-singapore-tokyo-seoul-regions/)

このリンクだけで話が終わってしまうんですが。

何が凄いって、もうこれで他のサービスは全部東京リージョンなのに、SESだけバージニアとかいう提案書を書かなくてもいい…楽。
~~たまにother serviceとか書いて、リージョン外に置いてる人見かけるけど顧客がグローバルサービスと勘違いするからやめて欲しい~~

ちゃんとap-northeast-1になってる!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/536700/fea819fb-b0c5-

元記事を表示

aws-lambda-redshift-loaderでS3とRedshiftを連携する

# 概要

https://github.com/awslabs/aws-lambda-redshift-loader を利用してS3とRedshiftを連携する時の手順についてのメモです。これを用いる事で、S3にCSVファイルを置くだけで、自動的にRedshiftにそのCSVをINSERTしてくれるようになります。基本的に上記のREADMEを読んで、実行していけば良いだけなのですが何点かつまづいたのでそれをメモしておきます。今後同じ事をする際に参考になれば幸いです。

# 前提

今回の例では既にVPCやサブネットがある状態で構築していきます。またCloud Formationで環境を構築しますが、実行するユーザーは必要な権限が与えられている(具体的にはAdministratorAccessが付与されている)状態で行ってます。利用したaws-lambda-redshift-loaderのバージョンは2.7.3になります。また途中でnode.jsを利用する部分があり、ローカルでnode.jsの最新が動くようにセットアップされており、ローカルからAWS CLIを実行できるように設定済み

元記事を表示

EC2、RDSを利用してRailsアプリをデプロイする [NGINX + puma + PostgreSQL + Rails 6]

# 目標:AWSのEC2、RDSを利用してRailsアプリをデプロイする

– Railsチュートリアルをより実践的な環境、Ultimate Hard Modeで挑みたい
– NGINX, puma, PostgreSQL, Rails 6で開発〜デプロイ
– ローカル開発環境へ移行
[はじめてのDockerでRails開発環境構築 [NGINX + Rails 5 (puma) + PostgreSQL] – Qiita](https://qiita.com/daddy_hacker/items/66d8fd40ce01d1aeea02)
– 脱Herokuで模擬CI/CD環境を取り入れたい(この後自動デプロイまでいきたい)
– AWSを利用した、より実践的な本番環境構築のウォームアップ

このような目的のため、とりあえずAWS上でアプリが動くことを目標にしています
そのためセキュリティ面で本来必要そうな手順(環境変数定義や、SSL対応)を排除して進行しております

備忘録的に記録を残しておりますので、
思い出したことや、不備あれば随時訂正いたします

# 気づき

– 環境

元記事を表示

最短でAWS初心者(未経験含む)がソリューションアーキテクトアソシエイト(SAA)を取得するためにやること2選

こんにちは、みきおです。
タイトルの通り、初心者(未経験)だけどとにかく効率的にソリューションアーキテクトアソシエイト(SAA)を取得したい人の養分になればと思います。

# 対象
– 初心者(未経験)だけどSAAを取得したい人
– とにかく効率重視でSAAを取得したい人
– SAAを取得したい人
– Black Belt?なにそれ?だけどSAAを取得したい人
– 他の人がどんな勉強をしたか参考にしたい人

# はじめに
SAAを取得するためにやるべきことは大きく3つのステップに分けられます。

– AWSサービス群の全体の把握
– 各サービスの詳細の把握
– 試験対策

上記のうち、各サービスの詳細の把握と試験対策についてだいぶ被るので一つにまとめます。

# 1. AWSサービス群の全体の把握

元記事を表示

Foward Security Hub Findings to Slack featuring Cross Account Cross Region

![computer_keibiin.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/486518/27e73535-67c3-026e-08fd-589a6cfad293.png)

AWS Security Hub という便利なサービスがあります
今回はこのサービス自体の解説は省きます。簡単に言えばセキュリティが専門外の人間にもフレンドリーな心強い味方というところでしょうか ※1。
想定読者の方が [複数アカウント、複数リージョンに同サービスを有効化](https://github.com/awslabs/aws-securityhub-multiaccount-scripts) できていること、またはかかる前提知識があるものとして、そこから先のことをやります

## 動機

こいつはいちリージョン毎にセッティングしていく必要があります。それがまあ頑張ってできたとしましょう。
[マネジメントコンソール](http://www.youtube.com/watch?v=HsWtPG_rTak&t=15m1

元記事を表示

AWS AmplifyでhostingしたNext.jsのSPAが「403 Access Denied」となったときの対処法

Next.jsでSPAを作成してAWS Amplifyでhostingを試みたところ「403 Access Denied」が表示されました。
![Mozilla_Firefox.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/60996/1dc862a3-7cd8-e51b-0ad8-6b91c889fdfd.png)
原因と対処法をまとめます。

## 再現手順

Next.jsのアプリケーションは予め作成されており、Githubにpush済みであることを前提とします。

以下コマンドを実行して、プロジェクトを初期化します。

“`bash
$ amplify init
Note: It is recommended to run this command from the root of your app directory
? Enter a name for the project next-app
? Enter a name for the environment production
?

元記事を表示

ステートバケットでtfstateを管理しているときに更新競合したらどうなるか確認した

# はじめに
Terraformをチームで開発する際に、リポジトリ管理+ステートバケットを使って管理するのが良いとされているが、何も考えずにtfstateを競合させた場合に何が起きるかを確認した。

# 構成
もともと以下の構成をしているTerraformのリポジトリがあるとする。

“`
.
├── 00_main.tf
└── 01_resource1.tf
“`

“`HCL:00_main.tf
terraform {
backend “s3” {
bucket = “terraform-test”
key = “test/terraform.tfstate”
region = “ap-northeast-1”
}
“`

“`HCL:01_resource1.tf
resource “aws_s3_bucket” “terraform_test_1” {
bucket = “terraform-test-1”
acl = “private”
}
“`

このリポジトリで、メンバAとBが上記状態をチェックアウトした

元記事を表示

AWSのみで構築する独自ドメイン/SSL/WordPressサイト

# はじめに

技術系の記事を書くだけならQiitaで良いかと思うんですが、もう少し自由な情報発信もしたいなと考えたときに、他のブログサイトを利用するとか、SNSで情報発信などが気楽に始められてよいのかもしれません。ただ、そこは昔ながらのITエンジニア「自前サーバーを立ててホームページを運営してみよう!」ということにしました。学生時代(20世紀末)にフリーのホームページ提供サービス上にサイトを作って運営していたのを少し思い出します。HTMLをテキストエディタで書いてFTPでアップロードするといった、本当に今考えると嘘みたいな時代です。今どきは月々数百円で立派なサーバーが運用でき、ホームページを作成するにも高機能なCMSを動かしてそこで簡単に豪華なサイトができてしまうのですから進化していますよね。考えようによっては20年たってもやってること変わってないな・・・、という見方もできますが。

では、本題に入ります。今回はAWSのみですべてを実現します。色々組み合わせればもっと低価格で便利なサーバーを運用できるよといった声があるかもしれませんが、ワンストップ実現することにこだわりました。また、

元記事を表示

AWS EC2でWebサーバーを構築する話 その1

初投稿です。
皆さんこんにちは。
今回はちょっとEC2でWebサーバーを構築してみたいと思います。

#概要
– クライアント側のOSはWin10
– 無料の範囲内で収める
– OSはUbuntu 18.04 LTS
– Apache2を使う
– (AWSのアカウント作成については割愛します)

#やってみる

##EC2 インスタンスの作成
まず、AWSのページに行き、「コンピューティング」の中にある「EC2」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269735/190356d4-68f3-33c2-582e-0787669ba341.png)

するとEC2の管理画面(EC2 コンソール)を開くことができます。
左側にメニューがあるので、「インスタンス」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/269735/4af85a5c-1dc5-9

元記事を表示

AWS Webinar「お待たせしました!Amazon Elasticsearch Service 怒涛のアップデート」に参加したので学習メモ

[AWS 主催の Webinar](https://aws.amazon.com/jp/about-aws/events/webinars/) のうち、2020年7月2日に実施された [お待たせしました!Amazon Elasticsearch Service 怒涛のアップデート](https://pages.awscloud.com/JAPAN-event-OE-Amazon-Elasticsearch-Service-Update-20200702-reg-event-LP.html) に参加しましたので、学習メモです。

# Amazon ES (Elasticsearch Service) とは

[Elasticsearch](https://ja.wikipedia.org/wiki/Elasticsearch) は OSS の、[Lucene](https://ja.wikipedia.org/wiki/Apache_Lucene) 基盤の分散処理マルチテナント対応検索エンジン、だそうです。全文検索に特化しているとか。先日、[体験メモ](https://qiita.com

元記事を表示

EventBridge+LambdaでAMIを定期取得して世代管理を実装するCloudFormationテンプレート作成

本当はAWS BackupでAMIを定期取得して世代管理を実装したかったのですが下記理由により断念しました。

– スケジューリングした際、●●時●●分に取得開始という設定ができない
– AMI取得の際、「再起動あり」の設定ができない

解消する方法は色々あったのですが、今回は先人のノウハウを参考にEventBridge+LambdaでAMIを定期取得して世代管理を実装するCloudFormationテンプレートを作成しました。

## 今回参考にさせていただいた記事

[AMI を定期的に取得して世代管理する](https://qiita.com/tonishy/items/74e145f8c9cba031fa01)

かなり参考にさせていただいたので本記事の不明点はこちらの記事を参照いただけるとよいかと思います。

## CloudFormationテンプレートによる実装概要

CloudFormationテンプレートでスタックを作成すると下記のような構成が出来上がります。CloudTrailについてはCloudFormationテンプレートに含んでいませんので別途有効化が必要と

元記事を表示

最低限押さえておくべきAWSアカウント開設時のセキュリティ対策4つ

# 1. rootユーザーを利用せず、IAMユーザーを利用する
rootユーザーは権限が非常に強い。
なので、IAMユーザーを作成する。
IAMでユーザーを作成すればrootユーザーと同じようにAWSを利用でき、かつ権限管理が可能。

# 2. AWS CloudTrailを有効化する
AWSに対する各種APIアクセスについてロギングするサービス。
AWS上で行われた操作はこのサービスで記録される。

# 3. AWS Configを有効化する
AWSリソースの変更履歴を管理するサービス。
何がどのように変更された追随できる。

AWS Configは各リージョンごとに設定する必要がある。

# 4. Amazon GuardDutyを有効化する
AWS上のさまざまな脅威を検知するサービス。
AWS上で非常に発生しやすいアクセスキーの漏洩事故や、その結果起きる不正なコインマイニングを検知したり、外部からのブルートフォースアタックを検知したりと非常に強力。
本番環境だけでなく、開発環境でよく発生するため、すべてのAWSアカウントで有効化が必須。

元記事を表示

DocumentDBって何?出身は?現在付き合っている彼氏は⁈

# はじめに
この記事はMongoDBをまったく知らない筆者がゼロからDocumentDBを学んでまとめたものになります。
今までのDBの経験といえば
– MySQL(2年とか)
– Redis(半年とか)
– DynamoDB(3ヶ月とか)
– Spanner(1瞬)
ぐらいでNoSQLよリRDBMSの方が歴も長く、得意といった感じです。
DB設計はいくつかのサービスで経験しましたが、設計&運用をした経験がほとんどないので、
スケールにめっちゃ自信があるわけではないですが、スケールを考えたキーの命名とかはRedis、DynamoDBあたりでは徹底的に議論した覚えがあります。それでは徒然なるままに始めていきたいと思います。

## MongoDBとは
NoSQLといえば、シンプルな検索機能が大きなメリットといえます。
KVSのNoSQLであれば、データをキーバリューの連想配列で保持して検索のスピードが速いです。
RedisはKVSで私は主にC向けのサービスを作っていた時はランキング機能に使っていました。
データが単純だが、件数が多いとRedisを使うと良いという認識でした。
また、Re

元記事を表示

RDSのインスタンス変更をキャンセルする

# tl;dr
AWS CLIで以下コマンドを叩く。

“`bash
aws rds modify-db-instance –db-instance-identifier {DBインスタンス名} –db-instance-class {変更前のインスタンスクラス} –apply-immediately
“`

# 経緯
手が滑ってRDSのインスタンスタイプを変更してしまった、、、
スクリーンショット 2020-07-02 19.18.46.png

こんな感じで「保留中の変更」が表示されるようになったが、キャンセル方法が分からない。もう一度もとのインスタンスタイプに変更すればいいのかと思ったが、Webコンソールではできない。
次のメンテナンスウィンドウまでにどうにかしないとまずいのでサポートケースを上げ

元記事を表示

AWS認定デベロッパーアソシエイトの勉強メモ

– そもそも概要すら分からないAWSサービス、似ているので使い所の違いが分からないAWSサービス、疑問に思った点についてメモしておきます。あやふやだなと思った時に何だっけ?と思い出すためのメモです。

– なお、勉強に使わせていただいた多くの資料はAWSさんのBlackBeltと公式ドキュメントです。
個人の方の資料も使わせていただいておりますが、その場合は元のwebページのリンクを貼らせていただきました。

– 読んでいただいた方のお役に立てれば嬉しいです。

##1.SAM、BeanStalk、Lightsail
– SAM(Serverless Application Model)
– サーバレス実行環境をSAMテンプレートから構築する(SAMテンプレートはCloudFormationテンプレートに変換される、SAMテンプレートの方が可読性が高いらしい)
– sam(CLI)コマンドで設定する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280358/7fbc6fcf-b120-

元記事を表示

Axios で Node.js で発行した S3 の署名付き URL へアップロードすると 403 エラーになる

Nuxt.js から Node.js に S3 の署名付き URL をリクエストするような状況でつまったところの忘備録です。

# s3 の Bucket の CORS 設定をする

s3 のドメインとサイトのドメインが異なるなら設定しておきましょう。
アップロードのみできれば良いなら許可は PUT だけで良いと思います。

“`xml



*
PUT
*


“`

# リージョンを指定する
# 署名バージョンを 4 に指定する

無いと失敗するようです…?

AWS_DEFA

元記事を表示

Cloud9のMySQLをバージョンアップする方法

![mysql.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/665011/652fc1f3-5134-5827-b92a-1860d9d98518.png)

####現時点でのMySQLバージョンを確認

“`
$ mysql –version
“`

####旧バージョン(5.5)パッケージを削除

“`
$ sudo yum -y remove mysql-config mysql55-server mysql55-libs mysql55
“`

####新バージョン(5.7)パッケージをインストール

“`
$ sudo yum -y install mysql57-server mysql57
“`

####日本語文字化け対策

“`
$ sed -e “/utf8/d” -e “/client/d” -e “/^\[mysqld_safe\]$/i character-set-server=utf8\n\n[client]\ndefault-character-set=

元記事を表示

Cloud9でLaravelの開発環境を構築する方法

![laravel.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/665011/92f16de5-2a8f-a5ca-c79d-566182bb3a24.jpeg)

####AWSマネジメントコンソールからCloud9を選択

![img1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/665011/6ac0dfa7-3cbe-0022-13ab-40aec0ef0858.png)

####Create environmentを選択

![img2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/665011/12154b31-1862-ee6c-71a0-23b67a4d3f43.png)

####プロジェクト名を入力し、Next stepを選択
ここではlaravel_projectとします。

![img3.png](https

元記事を表示

AWS EC2 AmazonLinux 2でGitHubからクローンしたdocker-compose.ymlを動かす

お気軽検証環境を作る必要があったのでその時のメモ。
プルするときに毎回パスワード聞いてくるようにしたかったのでcloneは意図的にhttpsを使っています。

## EC2
### 前準備

“`
$ sudo yum update
“`

### Gitのインストール

“`
$ sudo yum install git

$ git version
git version 2.23.3
“`

### GitHubからクローン
“`
$ git clone https://github.com/xxxx/xxxx.git
Cloning into ‘xxxx’…
Username for ‘https://github.com’: // ユーザー名の入力
Password for ‘https://xxxx@github.com’: // パスワードの入力
“`

### Dockerのインストール
“`
$ sudo amazon-linux-extras install docker

$ sudo service docker start

元記事を表示

EC2のEBSのボリュームを増やす手順

## aws console

– ボリュームを拡張したいEC2インスタンスに紐づいているEBSを確認
– EBSのボリュームを変更する”in-use – optimizing (0%)”になっていることを確認する

## EC2
[ボリュームサイズ変更後の Linux ファイルシステムの拡張](https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html
)

### ボリュームのファイルシステムの識別

“`
$ sudo file -s /dev/xvd*
/dev/xvda: x86 boot sector; partition 1: ID=0xee, starthead 0, startsector 1, 16777215 sectors, extended partition table (last)\011, code offset 0x63
/dev/xvda1: SGI XFS filesystem data (blksz 4096,

元記事を表示

OTHERカテゴリの最新記事