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

AWS関連のことを調べてみた2021年02月25日
目次

【 Ruby on Rails 6.0 】AWS + Nginx + Unicornでデプロイ⑤

# 始めに
前回まででEC2上に必要なGemをインストールし本番環境用に環境変数を設定しました。今回はHTTP通信を設定しRailsアプリを起動する工程までをまとめたいと思います。

# 目次
|目次|内容|
|:–:|:–:|
|セクション1|[EC2インスタンス作成](https://qiita.com/anago1030/items/854252bc9b728fe90beb)|
|セクション2|[Linuxサーバー構築](https://qiita.com/anago1030/items/07f7026c0f4c42a63440)|
|セクション3|[データベース設定](https://qiita.com/anago1030/items/79eebdc8474255b962b4)|
|セクション4|[EC2上でGemをインストールし環境変数を設定](https://qiita.com/anago1030/items/0a9a8937421f64f46a44)|
|セクション5|**Railsアプリを起動**(今回の内容)|

## ポート開放
立ち上げたばかりのEC2インスタ

元記事を表示

EC2 サーバー構築(基本設定)

# EC2 サーバー構築
## 概要
EC2インスタンスを初期に立ち上げた際にすることをまとめてみました。
過不足あれば今後編集していきたいと思います。

## 環境
– Amazon Linux2

## システム設定

### yumのパッケージ更新

“`bash
sudo yum -y update
“`

### タイムゾーン・ロケール設定
#### タイムゾーン確認

“`bash
timedatectl status
“`

#### タイムゾーンを日本時間に設定

“`bash
sudo timedatectl set-timezone Asia/Tokyo
“`

#### ロケール確認

“`bash
localectl status
“`

#### ロケール変更

“`bash
sudo localectl set-locale LANG=ja_JP.UTF-8
“`

### ニックネーム設定

ホスト名に影響を与えずにシェルプロンプトを変更する
[参考](https://docs.aws.amazon.com/ja_jp/AWSEC2/l

元記事を表示

AWSにデプロイ後、よく使うコマンド

##EC2にSSHで接続し、git pullしてからよく使うコマンドまとめました。
– 使用頻度が多いものを自分用に簡単にまとめました。

##環境
rails 5.2.4
ruby 2.6.3
Cloud9
MySQL

##AWSの構成

![スクリーンショット 2021-02-25 8.15.49.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/972403/e5ee3e19-f468-b43c-d43b-1b7fb902b197.png)

“`
EC2にSSHで接続する方法
$ ssh -i ~/.ssh/キー名.pem ec2-user@xx.xx.xx.xx

Nginxの再起動する方法
$ sudo systemctl restart nginx

アプリ(puma)起動する方法
$ rails s -e production

アプリ(puma)停止する方法
$ kill プロセスID
どちらも同じです
$ kill $(cat tmp/pids/puma.pid)
“`

元記事を表示

Fargate とは?

## 勉強前イメージ

ECSと関連してる感じはするけど、
ECSの中の機能の一つ・・とかかな?

## 調査

### Fargate とは?

Amazon ECSとAmazon EKSでコンテナを実行する際の起動タイプの1つになります。
Amazon ECSについての詳細は [こちら](https://qiita.com/miyuki_samitani/items/69abb6289aea8ae40ffe)
ECSの概要はDockerコンテナを簡単に実行・停止出来る管理サービスになります。
そのDockerコンテナの起動タイプには以下2つがあり、そのうちの1つになります。

– EC2インスタンス
– Fargate

以下はECSでクラスタを作成する際の画面です。

![1Amazon ECS – Google Chrome 2021-02-24 22.11.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/129517/9235838a-f890-eb3c-2a08-4bedc4d33f38

元記事を表示

OpenCVをAWS Lambda + Python + Serverless Frameworkで動かす

OpenCVをAWS Lambda + Python + Serverless Frameworkで動かしてみました。

先日、[PillowをLambdaで動かす](https://suzuki-navi.hatenablog.com/entry/2021/02/02/163647)記事を書きましたが、このときと違って、OpenCVはyumでインストールの必要なshared objectに依存しているのでだいぶ面倒でした。

# 手順概要

1. serverless-python-requirements インストール
2. Pythonサンプルコードを記述
3. requirements.txt と serverless.yml と Dockerfile にOpenCV動作に必要な事項を記述
4. あとはデプロイ

OpenCV特有は3のみです。

# 手順詳細

## serverless-python-requirements インストール

AWS Lambda + Python + Serverless FrameworkにPythonのパッケージをインストールする方法

元記事を表示

【 Ruby on Rails 6.0 】AWS + Nginx + Unicornでデプロイ④

# 始めに
前回の記事ではEC2インスタンスにmariaDBというデータベースの設定を行いました。今回はインスタンス上でRailsアプリの起動に必要なGemをインストールし環境変数を設定する工程までをまとめたいと思います。

# 目次
|目次|内容|
|:–:|:–:|
|セクション1|[EC2インスタンス作成](https://qiita.com/anago1030/items/854252bc9b728fe90beb)|
|セクション2|[Linuxサーバー構築](https://qiita.com/anago1030/items/07f7026c0f4c42a63440)|
|セクション3|[データベース設定](https://qiita.com/anago1030/items/79eebdc8474255b962b4)|
|セクション4|**EC2上でGemをインストールし環境変数を設定**(今回の内容)|
|セクション5|[Railsアプリを起動](https://qiita.com/anago1030/items/36d0da7e25c57d0e5780)|

## E

元記事を表示

MacでM5stack Core2 for AWS その2

#0. はじめに
前回はQiitaを書くのに疲れてしまい、
投稿はESP-IDFまでと中途半端に終わってしまったので
今回はLチカまで進めます。
ドキュメントはここのAWS CLIのインストールからです。

例によってエラーとの格闘です:ghost:

#1. AWS CLIインストール
AWSアカウントも何もないところからだと、ちと面倒ですが、
ココを乗り越えないと先に進めませんので、
ドキュメント通りにAWSのアカウント作成、AWS CLIのインストール、
aws configureを行います

#2. Minicondaインストール
ドキュメント通り進めます。
私はCognitoのロックアウトの条件洗い出してみた

## ロックアウトとは

サインインに連続して失敗した場合、一時的または永久的にアカウントを使用できないようにする仕組みです。
ほぼ同じ意味の「アカウントロック」と言ったほうがピンとくる人は多いのですかね。
馴染みがあるものだと、iPhone のロック画面がこの仕組みになっています。
サインインを必要としているシステムには、ブルートフォースアタックの対策として入れておきたい仕組みです。

## Amazon Cognito にはあるのか

AWS の認証のサービスでお馴染みの [Amazon Cognito](https://aws.amazon.com/jp/cognito/) さん。
このサービスは、全く知らない人でも画面をポチポチやっていれば簡単に構築できちゃいますし、Amplify をつかえば、さらに簡単に使えちゃうサービスになっております!(ただ詳しく知ろうとすると難しいんですよねー…)
さて、この AWS を使っていれば認証として多く利用されているであろう Cognito にはロックアウトはあるのかですが、

答えは「あります」
[Amazon Cognito 開発者ガ

元記事を表示

Amazon FSx for Lustre 公式ドキュメントにしたがって使ってみた

# 初めに
Lustreの覚え書きとして書いておく。公式ドキュメントのリンクはこちら。
https://docs.aws.amazon.com/fsx/latest/LustreGuide/getting-started.html

# EC2
環境はEC2 Amazon Linux2を使う。公式ドキュメントにLustreをサポートしているインスタンスが書いてある。

>このEC2インスタンスにLustreクライアントをインストールし、Amazon FSx for LustreファイルシステムをEC2インスタンスにマウントします。Lustreクライアントは、Amazon Linux、Amazon Linux 2、CentOSおよびRed Hat Enterprise Linux 7.5、7.6、7.7、7.8、7.9、8.2、8.3、SUSE Linux Enterprise Server 12 SP3、SP4、SP5、Ubuntu 16.04、18.04、20.04をサポートしています。この入門演習では、Amazon Linux 2を使用することをお勧めします。

# ファイルシ

元記事を表示

【再入門】サクッと作成する「Kibanaのダッシュボード」

## はじめに
1時間くらいでサクッとこんなダッシュボード作ってみたくありませんか?
image.png

実は、Kibanaの**棒グラフ**、**円グラフ**、**表グラフ**の3つを覚えるだけでできるんです!
image.png

## 本投稿の内容
Amazon Elasticsearch Service (以降、AES)に取り込んだログを使って
汎用的に使えるKibanaのダッシュボードを作成する方法を紹介します。

どんなログを利用しても同じような

元記事を表示

【1ヶ月で合格】AWSソリューションアーキテクトアソシエイト試験合格までにやったこと

1ヶ月でAWSソリューションアーキテクトアソシエイト試験を取得したのでそれまでにやったことについて書きます。1ヶ月勉強して78%で合格しました。経験から言うと可能な限り新しく、出題傾向が似ている教材で勉強することをおすすめします。

# 受験のきっかけ
都内でITコンサルタントをしている社会人1年目です。学生時代はコンピュータサイエンスを専攻していて、FPGAを利用したデータ分析の研究をしていました。クラウドはあまり使ったことがなく、試験取得のきっかけは、数ヶ月間実務でAWSの一部のサービスを触った際にサービスの組み合わせ方をもっと深く理解したいと思ったのがきっかけでした。試験勉強を通して、仕事でサービスの特徴や使い所について基本的なところはおさえて議論ができるようになったと感じています。

# やったことまとめ
主に役に立った4つに絞って紹介します。

1. 書籍「[改訂新版 徹底攻略AWS認定ソリューションアーキテクトアソシエイト – アソシエイト教科書[SAA-C02]対応](https://www.amazon.co.jp/%E6%94%B9%E8%A8%82%E6%96%B0

元記事を表示

【 Ruby on Rails 6.0 】AWS + Nginx + Unicornでデプロイ③

# 始めに
前回の記事ではLinuxサーバーに必要なパッケージを諸々インストールしました。
今回はデータのやり取りを可能にするためにデータベースの設定を進めていきます。

# 目次
|目次|内容|
|:–:|:–:|
|セクション1|[EC2インスタンス作成](https://qiita.com/anago1030/items/854252bc9b728fe90beb)|
|セクション2|[Linuxサーバー構築](https://qiita.com/anago1030/items/07f7026c0f4c42a63440)|
|セクション3|**データベース設定**(今回の内容)|
|セクション4|[EC2上でGemをインストールし環境変数を設定](https://qiita.com/anago1030/items/0a9a8937421f64f46a44)|
|セクション5|[Railsアプリを起動](https://qiita.com/anago1030/items/36d0da7e25c57d0e5780)|

## データベース設定
データベースには大きく3種類ありますが

元記事を表示

【 Ruby on Rails 6.0 】AWS + Nginx + Unicornでデプロイ②

# 始めに
前回の記事でEC2インスタンスを作成しサーバーを構築する工程まで完了しました。
今回は本番環境が動作するために必要設定ファイルをインストールしていこうと思います。

# 目次
|目次|内容|
|:–:|:–:|
|セクション1|[EC2インスタンス作成](https://qiita.com/anago1030/items/854252bc9b728fe90beb)|
|セクション2|**Linuxサーバーを構築**(今回の内容)|
|セクション3|[データベース設定](https://qiita.com/anago1030/items/79eebdc8474255b962b4)|
|セクション4|[EC2上でGemをインストールし環境変数を設定](https://qiita.com/anago1030/items/0a9a8937421f64f46a44)|
|セクション5|[Railsアプリを起動](https://qiita.com/anago1030/items/36d0da7e25c57d0e5780)|

## Linuxサーバーを構築
最初に`yum`という

元記事を表示

【 Ruby on Rails 6.0 】AWS + Nginx + Unicornでデプロイ①

# 始めに
AWSをインフラとしてポートフォリオを本番環境にデプロイしました。
本シリーズではrailsアプリをデプロイし、独自ドメインを取得する過程までをアウトプットしたいと思います。

# 開発環境

* macOS Catalina
* Ruby 2.6.5
* Ruby on Rails 6.0.0
* AWS
* nginx
* unicorn
* mariaDB(本番環境のデータベース)

# 目次
|章|記載内容|
|:–:|:–:|:–:|
|セクション1|**EC2インスタンス作成**(今回の内容)|
|セクション2|[Linuxサーバー構築](https://qiita.com/anago1030/items/07f7026c0f4c42a63440)|
|セクション3|[データベース設定](https://qiita.com/anago1030/items/79eebdc8474255b962b4)|
|セクション4|[EC2上でGemをインストールし環境変数を設定](https://qiita.com/anago1030/items/0a9a8937421

元記事を表示

AWS EKSのコンソールで表示される権限エラーへの対応

最近、ちょっとした検証環境として使っていたGKEからAWS EKSへ乗り換えることになりました。
クラスタを起動してマネジメントコンソールから状況を参照しようとしたところ次のようなエラーが表示されたので対応します。エラーメッセージに[詳細へのリンク](https://docs.aws.amazon.com/ja_jp/eks/latest/userguide/troubleshooting_iam.html#security-iam-troubleshoot-cannot-view-nodes-or-workloads)がありますが、具体的な対応方法を得るのに時間がかかったため記事にしました。

***EKSは経験不足のため、もし他に対応方法などありましたらコメント頂けると幸いです***

# 症状

EKSのコンソールでクラスタを選択すると、次のエラーが出てクラスタの内容を表示できない。

> ***現在のユーザーまたはロールには、この EKS クラスター上の Kubernetes オブジェクトへのアクセス権がありません***
> これは現在のユーザーまたはロールがクラスターリソース

元記事を表示

IAM ユーザーとしてサインインができない

IAMユーザー作成後ログインできないという問題に直面しましたが、下記画像赤枠部分にアカウントIDではなくEメールアドレスを誤って入力していたのが原因でした。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/66132bc8-3a0b-56eb-43e1-2d5e34d1e357.png)

アカウントIDはルートユーザーでログインし、右上にあるアカウント名でマウスオーバーすると確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/630191/2b5d38b5-5383-9ba2-2b75-aba6e3ace74a.png)

感想

無料枠なくなったので作り直してますが何も覚えてないものですね。

元記事を表示

AWS Policy Generatorを使ってみた

## Policy Generatorとは
SQS,S3,SNS,IAMのポリシードキュメントを作成するプロセスを簡素化してくれるもの
https://awspolicygen.s3.amazonaws.com/policygen.html

## 手順
サイトに手順を細かく記載されているので、省略します。

公式にも操作方法があります。
https://aws.amazon.com/jp/blogs/aws/aws-policy-generator/

## 成果物
S3でバケットの一覧を表示することと、書き込みの権限があるポリシーを作成

“`
{
“Id”: “Policy1614151980544”,
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “Stmt1614151973502”,
“Action”: [
“s3:ListBucket”,
“s3:PutObject”
],
“Effect”: “Allow”,
“Resource”: “*”,
“Principal”: “*”
}
]
}
“`

元記事を表示

AWS サーバにSSH接続でWARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!が出たら

## 症状

AWSにて、VPCの構築、WebサーバとDBサーバを用意し、WebサーバからDBサーバへSSH接続する際にこのエラーがでました。

“`
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
“`
なんとなく意味は理解できますが、Google翻訳にぶち込むとこんな翻訳に。

`警告:リモートホストの識別が変更されました!`

なるほど。

## 解決策

“`
$ ssh-keygen -R [つながらないIPアドレス]
“`

## 原因

> クラウドになってサーバを作ったり消したりしていると同じIPアドレスでサーバが用意される事があります。
SSHで接続する際には接続先毎にローカルに情報が保管されるため、中身が別のサーバになったりしていると騙されてない?って

元記事を表示

【AWS】AWS超初心者が、頑張ってDockerで作ったLaravelプロジェクトをECR、ECS、EC2を使ってAWS上で動かしてみた

皆さんこんにちは!

巷で有名なDockerとAWS

2つともつい2,3週間前に学習を始めたのですが、最初は苦労したものの少し慣れてくると便利だなと感じました。

あと、Amazonってすごい!

今回はそんなDockerで作ったLaravelプロジェクトをAWS上で動かしてみたいと思います!

DockerでLaravelプロジェクトを作成する方法は下記の記事を参考にして作成してください!

[【超入門】20分でLaravel開発環境を爆速構築するDockerハンズオン](https://qiita.com/ucan-lab/items/56c9dc3cf2e6762672f4)

Dockerに触れたことがない人でも簡単に作れるのでおススメの記事です!

#IAMユーザー権限の追加#

IAMユーザーの場合、以下の権限を追加しておいてください。

・AmazonRDSFullAccess
・AmazonEC2FullAccess
・IAMFullAccess
・AmazonEC2ContainerRegistryFullAccess
・AmazonECS_FullAccess

元記事を表示

CodePipelineとCodeCommitをクロスアカウントで実行する環境を一撃でデプロイしてみた

### 経緯
CodeCommitを一つのAWSアカウントに集め、CI/CDは各システム毎のAWSアカウントのCodePipelineで実施したいという声を複数いただき、毎度手作業で構築していたのだが、繰り返し作業にムシャクシャしてしまいTerraformで一撃でデプロイ出来るようにしたかった。

今回は**「必要最小権限」**に拘って何度も試行錯誤をして出来た成果物になる。
特にクロスアカウント、IAM、リソースポリシーが多数登場するのもあり、**「今回は時間がないから権限を強く作って、後で時間が出来た時にちゃんとしよう」**という人をたくさん今まで見てきた。

断言しよう。
**そんなぬるいこと言ってるヤツにちゃんとする時間など一生来ないのだ!**

そして、**今ちゃんとしてないから未来にも時間がないのだ**

今これを作る時、つまり**これを見ている時が一番時間がある時なのだ!**

CodePipelineはAWSの権限周りの知識ゼロで普通にググるだけではしっかりと作るのは非常に難しい。

前置きが長くなったが、以下のことをやるだけでクロスアカウントCodePipelineの

元記事を表示

OTHERカテゴリの最新記事