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

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

AWS で No space left on device と出た時

## はじめに
AWSでアプリケーションを動かしている時に、No space left on device というエラーが出てきたので、詳しく調べてまとめてみた。

## 対処法
dfというコマンドを使用して、ディスクの使用量を確認する。

“`erb:ターミナル
$ df -h

Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 16G 16G 0G 100% /
devtmpfs 993M 56K 993M 1% /dev
tmpfs 1001M 0 1001M 0% /dev/shm
“`
次にduというコマンドを使用して、どのフォルダがディスク容量を多く使っているかを特定する。

“`erb:ターミナル
du -h | sort -rh | head -5

10G .
6.5G ./hoji
4.5G ./hoji/log
1.1G ./hoji
1.2G ./hoji
“`

ここでは、/h

元記事を表示

AWS SAA ななみんメモ

## 経緯
AWS SAA に残念ながら落ちてしまったので改めて学習する中で
自分なりに簡単にまとめたいと思います。誰かのお役に立ててたら嬉しいです
間違いがあったらコメントでご指摘いただければと思います

## VPC
**AWS環境内の仮想ネットワーク**
作成直後はプライベートネットワークだが、
インターネットゲートウェイ・仮想プライベートゲートウェイをアタッチし、
ルートテーブルを設定することでインターネットやオンプレ環境と通信することが可能になる

### サブネット
VPCを小さいブロックに分割したもの

### IPアドレス
VPCのCIDRは/16~/28まで指定することができ、サブネットについても同様

### ルートテーブル
サブネットに1つルートテーブルが存在する
1つのサブネットに複数のルートテーブルは割り当てられないが、
複数のサブネットで1つのルートテーブルを使用することは可能

書き方▶︎宛先アドレス ネクストホップ (例 0.0.0.0/0 igw-●●●●●●●●)

### InterNetGWとNATGWの違い
InterNetGWには、GIPを持

元記事を表示

Amazon CloudWatch EventsのイベントルールでターゲットをAmazon SQSにしてAWS Lambdaでイベントソースにして処理するAWS CloudFormationのテンプレートをつくってみた

AWSマネジメントコンソールからだと簡単に設定できましたが、AWS CloudFormationのテンプレート化するのにいろいろとハマったのでメモ。

## リソース

必要最低限となる構成はこんな感じになりました。
スクリーンショット 2020-03-26 14.04.41.png

利用するサービスは以下になります。

– Amazon S3
– AWS CloudTrail
– Amazon CloudWatch Events
– Amazon SQS
– AWS Lambda
– AWS CloudFormation(リソース管理用)

## ポイント

先にポイントをいくつかあげてみます。
完成形のテンプレートはこのあとにおいてます。

### Amazon S3のバケットを複数用意する

Amazon

元記事を表示

AppSyncで自分のデータだけSubscription

# はじめに

AppSyncのサンプルアプリとかはあちこちありますが、**自分のデータだけ** Subscriptionする方法が、最初取り組んだときに分かりにくかったので、ここにまとめます。

# サンプル

チャットアプリを考えます。
ここでは簡単のために、1対1のチャットを考えます。
以下は、まだSubscriptionを定義していないサンプルスキーマです。

“`graphql:schema.graphql
type ChatRoom {
id: ID!
userIds: [Int!]!
}

type Message {
chatRoomId: ID!
fromUserId: Int!
sendTimestamp: AWSTimestamp!
content: AWSJSON!
}

type Mutation {
addMessage(chatRoomId: ID!, toUserId: Int!, content: AWSJSON!): Message!
}

type Query {
# 本当はページネーションとか考慮いるけど省略

元記事を表示

【Rails】HerokuでAWS s3に画像をアップロードしようとしたらAccess Denied

#事前準備
[Railsでcarrierwaveを使ってAWS S3に画像をアップロードする手順を画像付きで説明する](https://qiita.com/junara/items/1899f23c091bcee3b058#iam%E8%A8%AD%E5%AE%9A)

概要についてはこちらの記事がとても分かりやすかったので参考にさせていただきました。

ただしこのまま`$ git push`すると、アクセスキーがアップロードされてしまうので注意です。
アクセスキーの隠し方については、`heroku 環境変数`とか`gem ‘dotenv-rails’`、`$ heroku config:set ACCESS_KEY=aaaaaa`とか調べると出てくると思います。

#この記事を読むべき人

1. https://myapp.herokuapp.com で画像をs3にアップロードしようとしてもうまくいかない
1. `$ heroku logs`したら`Access Denied`って言われる

この状況の人にはお役に立てるかもしれません。

#手順

元記事を表示

投稿機能でS3に画像をアップロード機能(アップロード)

##画像のアップロード先をS3に変更
CarrierWaveによる画像のアップロード先がアプリ内のpublicフォルダでしたが、これをS3に変更します。
以下の手順で変更していきます。
1.インターネット上にファイルをアップロードするためのGem(fog-aws)をインストールする
2.アップロードにfogを使うよう設定する
3.fogのアップロード先の情報を設定する
4.AWSのキーを安全に扱えるようにする
###fog-awsをインストール
fogとは画像をアップロードする際、外部のストレージを選択しアップロードするのを補助してくれるGemです。
Gemfile

“`
〜省略〜

group :development do
# Access an IRB console on exception pages or by using <%= console %> in views
gem ‘web-console’, ‘~> 2.0’

# Spring speeds up development by keeping your application running

元記事を表示

Elastic BeanstalkでSpring Bootのアプリをデプロイしたときの手順と遭遇したエラー

表題の通りです。
Elastic Beanstalk(以下EB)でのデプロイ時の基本的な流れと、遭遇したエラーを紹介します。
遭遇したエラーというか、ローカル環境のソースをそのままデプロイしてみたときのエラーです。。。
設定漏れ等の参考になれば幸いです。

# 手順
## 事前準備
デプロイしたいアプリケーションのjarかwarを作っておきます。

## 各種設定
今回は、基本的にAWSマネジメントコンソールから操作します。
まず、AWSにログインしたあとのhome画面から、`Elastic Beanstalk`と検索。
スクリーンショット 2020-03-30 11.25.52.png

初回利用時は以下の画面が表示されます。「今すぐ始める」ボタン押す。
スクリーンショ</p></blockquote>
</blockquote>
<aside class='widget widget-post'>
<div class='tag-cloud-link'>AWS</div>
<div class='tag-cloud-link'>ElasticBeanstalk</div>
<div class='tag-cloud-link'>spring-boot</div>
</aside>
<div><a style='width:100%;' class='btn__link' href='https://qiita.com/aaaaaayyymmm/items/6fa82521bc7a9c12dd46'>元記事を表示</a></div>
<h3 id=AWS EC2のインスタンスをt2からt3に変える

# 最初に
割と新しいインスタンスはただ単にインスタンスタイプを変えるだけで大丈夫だと思うのですが、古いとENAに対応していないということがあり得ます。
今回変更したかったのはまさにそういうものでした。
OSはCentOS7系でしたが、若干古かったのでENA対応していませんでした。
なので、ENAの対応から始まります。

ENAについては
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/enhanced-networking-ena.html

# ENA対応確認
“`
modinfo ena
“`
未対応の場合

“`
modinfo: ERROR: Module ena not found.
“`
が出ると思われる

# update
CentOSならyumでアップデートしてENA対応できるので

“`
sudo yum update
“`
今回古いインスタンスだからかupdateで失敗しました。そういう場合はrepoの情報のmirrorをコメントアウト、baseurlを有効にすればいけるはず。

#

元記事を表示

AWS Command Line Interface (CLI) の出力を `–query` で制御し、パイプラインで活用する

![job_tobisyoku.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/486518/bdb20f63-1055-136c-19c4-425689b6a65d.png)

これを

“`
% aws organizations describe-organization
{
“Organization”: {
“MasterAccountEmail”: “master-account@your-organization-example.com”,
“MasterAccountArn”: “arn:aws:organizations::111111111111:account/o-xxxxxxxxxx/111111111111”,
“MasterAccountId”: “111111111111”,
“Id”: “o-xxxxxxxxxx”,
“AvailablePolicyTypes”: [

元記事を表示

AWS スイッチ先(他アカウント)のサービスを制御

#目的
* ソースに認証文字列を書かない
* ローカルにセキュリティキーなどの認証文字列を置かない
* スイッチ先のRDSに接続したい、S3のデータを取りたい …

#プロフィール準備
ローカルまたは運用サーバにAWS1のUSERのプロフィールを作成
(ECSのようなサーバレスは環境変数にSSMを利用)

STS(Security Token Service)を使用してスイッチ先のクレデンシャル取得

### クレデンシャル取得フロー
AWS1(IAM USER) -> スイッチ先:AWS{2-N}(IAM ROLE)

# IAM
## AWS1 IAM USER
arn:aws:iam::012345678:user/aspnet
ポリシー

“`bash
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Effect”: “Allow”,
“Action”: [
“sts:AssumeRole”

元記事を表示

rocket.chatをEC2上でつかう

昨今の時勢でチャットツールをちょこっと用意したいと思ったので作ってみたメモ書きです。

# 構成

– AmazonLinux2
– t2.microインスタンス

EC2ユーザーデータを用いてパパっと立てます。
私の要望上、使い終わったらすべてのデータを毎回削除して使いたい。というちょっと特殊な事情もあったのでdocker使ってます。

`NWやSGの設定はよしなに`
ALBとACM挟んでHTTPS化とかもできるのでそのへんはよしなに

# docker-compose.yml
rocket.chatのページにあったものをちょこっと書き換えて使用。
volumeの部分を削除して使う&hubotいらないのでそのへんを削除して使用してます。

“`yaml:mongo
volumes:
– ./data/runtime/db:/data/db
– ./data/dump:/dump
“`

“`yaml:rocketchat
volumes:
– ./uploads:/app/uploads
“`

# スクリプト

“`bas

元記事を表示

AWS Aurora MySQLをLaravelプログラムと連結する方法

###AWS上で展開するLaravelプログラムとAurora MySQLの連結方法について明記します。

設定は簡単です。

Laravelの `.env` ファイルのDB_HOSTをAmazon RDSの画面から作成済みDBのエンドポイント名をコピーして、以下の様に貼り付けるだけです。

“`
DB_HOST=xxxxxx.cluster-yyyyy.ap-northeast-1.rds.amazonaws.com
“`

具体的なAmazon RDS画面での確認場所は画像の通りです。
③のエンドポイント名をコピーしてください。
![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531595/2835d7b9-f42f-76f6-6220-c8a1a9e909f5.png)

これでLaravelからのAurora MySQLへの指定はできました。

DBのユーザーやパスワード設定は.envと合わせておけばIAMロールの設定はなくても大丈夫そうです。(特に設定した覚えないまま利用してます)

元記事を表示

EC2のライフサイクルマネージャを使ってEBSのスナップショットを自動で作成する方法

EC2のEBSに対して、定期的にスナップショットを作成する方法

EC2のデータライフサイクルマネージャーを使用して、EBSのスナップショットを定期的に作成する方法を備忘録として残します。

大まかなフロー

1.タグエディターでスナップショットを作成したいEBSに対して共通のタグ(Name)を付与する。
2.先述の1.で設定したタグを持つEBSに対して作動するライフサイクルマネージャーポリシーを作成する。
3.スナップショットが作成される。

タグエディターで共通のタグを付与する

– AWSコンソール上部の「リソースグループ」から「タグエディター」を選択する。
※どのサービスにも上部に「リソースグループ」がある。

![t1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/533140/7205fc93-15c3-327f-5785-1b6e11d5c3f3.png)

下記を参考に設定する

– リージョンはap-northeast-1(東京)を

元記事を表示

文系出身!新卒1年目の私がAWS認定クラウドプラクティショナーに合格した体験記

新卒1年目ながら、AWS認定クラウドプラクティショナーに合格しました!文系出身のIT未経験でインフラ知識がほぼない状態から、合格までの勉強方法を体験記として綴ります。「段階的に参考書を読むこと」「毎日手をつけること」という学習ポイントを踏まえつつ、点と点を繋げて広げる勉強法と初学者ならではの気づきを記していきます。

##0.プロフィール
+ 大学では政治学を学び、PCはwordやPowerPointをさわる程度
+ 渋谷に本社を置くSIerに勤める新卒1年目エンジニア
+ アプリ開発の部署に所属し、Javaに奮闘する
+ 1年間に、本を40冊読み映画を60本見る

##1.サマリー
### 学習をはじめる前(2019年9月頃の状態)
+ 開発系部署に本配属されるも環境構築に苦戦
+ インフラの知識は新人研修で習ったのみ
+ クラウドの知識・実務経験はなし

### 結果
AWS認定クラウドプラクティショナー **合格**
2019年12月 727点

###学習に使ったもの
+ 参考書1冊
+ udemyの問題集

###学習期間・時間
+ 2019年9月下旬から、2019年12月

元記事を表示

AWS スティッキーセッションの有効化

###ECSでコンテナ(EC2インスタンス)をいくつも立ち上げる場合、何らかの理由でインスタンスが停止してセッションが途切れてしまう場合があります。

そうならないように、どのコンテナ(EC2インスタンス)からでもユーザーを識別できるようにしてくれるのがスティッキーセッションです。

スティッキーセッションの有効化はとても簡単です。(1分で終わります)
AWSマネジメントコンソールからECSの画面を開き、ターゲットグループを選んで「属性の編集」ボタンから編集可能なります。

![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531595/caa4d938-1dc4-fe10-6069-f041c24e2a9b.png)

①「維持設定」の有効化にチェックを入れて、
② 有効時間を設定して
③ 保存すれば完了です。

![無題.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/531595/17ff10e7-736a-c

元記事を表示

AWS EC2 https化

#AWSのEC2インスタンスで起動しているWEBアプリのhttps化について

今回まずhttps化の際に一番始めに参考にさせて頂いたのがコチラ
https://qiita.com/Yuki_Nagaoka/items/3020f02d3fd74c8572a0

ただ、私の場合はnignxの起動時にエラーが出てしまいました。
エラー内容としては
`[emerg] no “ssl_certificate” is defined for the “listen … ssl” directive in /etc/nginx/nginx.conf:92`

こんな感じでSSL証明書が定義されてないよ!と。。
じゃあ定義すればいいんだよね?
。。。。んー?AWSのACMで証明書発行したけどこれエクスポートできなくね??
AWSの一次ソースを色々漁ってみてこれかな?と思うものを幾つか試してみたりしました。
しかしうまく行かない。。。

そんな時にテラテイルかな?https化の質問に対して

#「せっかくAWS使ってるなら全部AWSにやらせればいいじゃない?」
と神の一言を発見。
そこからは早か

元記事を表示

LocalStackによるインフラ構築1

# Quick introduction to localstack using localstack-demo

## Introduction to [LocalStack](https://localstack.cloud/)

>LocalStack provides an easy-to-use test/mocking framework for developing Cloud applications. It spins up a testing environment on your local machine that provides the same functionality and APIs as the real AWS cloud environment.

## Setting up components

“`
conda create -n localstack python=3.5
conda activate localstack
mkdir external-master
cd external-master && git clone ht

元記事を表示

aws-cliでCognitoのユーザステータスをFORCE_CHANGE_PASSWORDからCONFIRMEDへ変更する

## 実行

“`bash
aws cognito-idp admin-set-user-password \
–cli-input-json file://admin-set-user-password.json
“`

“`json:admin-set-user-password.json
{
“UserPoolId”: “ap-northeast-1_xxxxxxxxx”,
“Username”: “username”,
“Password”: “password”,
“Permanent”: true
}
“`

※`Permanent`を`true`にするのが大事

## 参考

* https://docs.aws.amazon.com/cli/latest/reference/cognito-idp/admin-set-user-password.html
* https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminS

元記事を表示

【AWS】EKS on Fargateでゲームをデプロイしてみたので解説してみる(with Ingress Controller, 2048)vol.2

# はじめに

以前に前編の記事を書きました。
[【AWS】EKS on Fargateでゲームをデプロイしてみたので解説してみる(with Ingress Controller, 2048)vol.1](https://qiita.com/hesma2/items/b575d52b592350e63d95)

本当は1つの記事にまとめる予定でしたが、
記事が長くなってしまったことと、作成に時間がかかってしまったこと(主に検証)から、やむなく2部制とさせていただいておりました。

前編の記事では、EKSクラスターとFargateプロファイルを作成するところまでを解説しました。
後編では、 `kubectl` コマンドでサービスをデプロイするところを解説していきます。

よろしくお願いします!

# 当記事でのゴール(再掲)
EKS on Fargateを使って、
2048ゲームをデプロイして遊べるようにしたいと思います。

2048とはこのようなゲームです。
きっと皆さん見たこと、遊んだことのあるゲームだと思います。

![2048_play.gif](https://qiita-i

元記事を表示

AWSソリューションアーキテクトプロフェッショナル資格(SAP)に合格しました

# はじめに

先日(3/29)、かねてからの目標だったAWS Certified Solutions Architect – Professional(SAP)を取得しましたので、いつものように勉強した内容や試験の所感を残しておこうと思います。
(今回に限って言うと、試験自体よりもそもそも試験会場が営業しているかが一番の心配事でした……)

※過去の記事
[AWS SAAに受かった話](https://qiita.com/kkino1985/items/85bcfa50686fcfe69c56)
[AWS SOAに受かった話](https://qiita.com/kkino1985/items/295509d3d94c726ae56a)
[AWS DVA(とCLP)に受かった話](https://qiita.com/kkino1985/items/8f3db5e102876cca47b1)

# 勉強期間

前回DVAを受けたのが3/1なので、SAPとして確保したのは約1ヶ月ぐらいです。
とはいえ、AWSの資格試験は重なる部分も多いので、DVAとその前のSOAも合算すると3.5ヶ月

元記事を表示

OTHERカテゴリの最新記事