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

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

【0からAWSに挑戦】EC2とVPCを使ってRailsアプリをAWSにデプロイする part1

# 背景
未経験から自社開発系企業の就職を目指します。良質なポートフォリオ作成のためAWSを勉強することにしました。

現状の知識レベルとしては、Ruby on railsを使って簡単なアプリケーション開発、gitを使ったバージョン管理、herokuを使ってデプロイできるレベルです。自分の忘備録かつ、同じくらいのレベルでこれからAWSに挑戦してみようと思っている方に向けて少しでも役に立てればと思います。

# 最終目標
AWSのEC2とVPCを使ってアプリケーションを本番環境で動かすことが目標です。

# 環境
・Ruby on Rails 6.0
・Ruby 2.6.6
・dbはmysqlを使用
・アプリケーションサーバはpumaを使用
・webサーバーはnginxを使用

# 手順
今回は下記手順で進めたいと思います。
 ①VPCを作成
 ②VPC内にサブネットを作成
 ③インターネットゲートウェイ・セキュリティグループ・ルートテーブルの設定
 ④EC2を作成
 ⑤EC2にrails環境を構築、gitからアプリをpullする

では

元記事を表示

Amazon Linux 2をVirtualBoxで実行する

何番煎じかわかりませんが、Amazon Linux 2をVirtualBoxで実行しました。

公式ドキュメントはこちらです。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/amazon-linux-2-virtual-machine.html

公式ドキュメントでは、カスタマイズしたseed.isoを作る手順が載っていますが、サンプルのseed.isoも用意されておりますので、こちらを使って起動してみます。

# 準備

ディスクイメージ(vdi)
https://cdn.amazonlinux.com/os-images/latest/virtualbox/

サンプルseed.iso
https://cdn.amazonlinux.com/os-images/latest/

2020/10/17時点では、`latest`は`2.0.20200917.0`にリダイレクトされます。

## サンプルseed.isoの内容

サンプルseed.isoでは、以下の設定がされています。

ホスト名 amazonlinu

元記事を表示

AWS lightsail+お名前ドットコム、で30分でWordPress立ち上げ:チュートリURLと注意点メモ

ほぼこの手順。
https://lightsail.aws.amazon.com/ls/docs/ja_jp/articles/amazon-lightsail-tutorial-launching-and-configuring-wordpress#create-a-wordpress-instance

注意点
・SSH接続するまでに、5分くらい待つ必要あり
・ドメインを買うのは、amazon routeからだと高いから、お名前ドットコムとかが良いと思う。
(amazon route→11ドル、お名前ドットコム→セールで140円)
・静的IPに紐付けした後は、WordPress管理画面のドメインもそっちになるから注意
・最初、英語表記になる(設定で変えられそうだけど、別に不便がないからこのまま)

元記事を表示

EC2にRAILSをデプロイ

https://qiita.com/Yuki_Nagaoka/items/dbb185feb6d4f051c2f2

https://qiita.com/naoki_mochizuki/items/814e0979217b1a25aa3e

以上参照。

元記事を表示

AWS Lambdaからツイートする

#はじめに
引き続き、退社情報自動通知機能を作っていきます。
前回の記事で、スマホからAWSに位置情報を送信することができました。
次は、AWS Lambdaを使って、Twitterと接続します。

#通知手段について
前提として、通知先は妻のiPhoneを想定しているので、特殊な設定はしたくありません。
簡単にAWSから第三者のスマホに通知するには以下の方法があげられます。
・LineBot
・TwitterBot
・メール
この中で、一番実装が早そうなTwitterを用いて、通知します。
(もっと簡単な方法があったら教えてください。)

#Twitter APIの利用登録
Botのように、プログラムを用いてツイートするためには、「Twitter API」の利用登録をする必要があります。
利用登録の前に、まだTwitterのアカウント登録をしていない方は、しておいてください。
なお、アカウントにメールアドレスも登録しておかないと、「Twitter API」の使用登録はできません。

下記サイトにアクセスし、TwitterAPIの利用登録を行います。
https://developer

元記事を表示

Golangはじめて物語(第4話: ローカルリポジトリで共通モジュール管理編)

# はじめに
Golangシリーズ4回目。
過去の3回はこちら。

– [Golangはじめて物語(APIGateway+Lambdaといっしょ編)](https://qiita.com/neruneruo/items/1ef52f908e4497103a59)
– [Golangはじめて物語(第2話: Gin+ECS+Fargateといっしょ編)](https://qiita.com/neruneruo/items/fe292262836ac068e2ea)
– [Golangはじめて物語(第3話: CodePipeline+SAM+LambdaでCI/CD編)](https://qiita.com/neruneruo/items/8112490136775e6abc39)

さて、Golangの公開ライブラリは `import` で GitHub から持ってくるのが一般的だが、開発をしていると当然「共通のモジュールを作らないといけないけど、GitHubには社内規約上ソース置いちゃいけないし……」と悩むことが出てくる。色々とツッコみたくなるかもしれないが、出てくると言ったら出てくるの

元記事を表示

Pivotal Cloud Foundry (PCF) on the AWS Cloud

# 前書き
PCF, AWSと興味のある部分を色々調べていたところ [AWS での Pivotal Cloud Foundry – クイックスタート ](https://aws.amazon.com/jp/quickstart/architecture/pivotal-cloud-foundry/)というのを見つけたので試してみました。興味ある方は非常に少ないとは思いますが、多くの知識を得られたので是非試していただきたいと思っています。

手順に関しては
https://qiita.com/shuichirock/items/0fd7d8740a07523af4fd
こちらにまとめて下さった方がいらっしゃっるので躓いた部分のみ補足となります。

公式クイックスタート:https://aws-quickstart.s3.amazonaws.com/quickstart-pivotal-cloudfoundry/doc/pivotal-cloud-foundry-on-the-aws-cloud.pdf

# 事前にEC2 vCPU 制限を引き上げる
上限が32だったため制限を解除するよう

元記事を表示

AWS API Gateway基本知識まとめ、Lambda連携手順

# 記事について

Amazon API Gatewayの基本情報まとめ

# Amazon API Gatewayの位置づけについて

さまざまな機能、処理をWeb APIとして提供
実際に処理を行うバックエンドとしてはLambda関数、各種AWSサービス、インターネット経由で呼び出し可能なURL+メソッド等

![1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/695430/1c3ed8a8-bf4d-73f5-4499-228b215f2108.png)

# Amazon API Gatewayの概要について

## APIの種類

API作成時に以下2つから選択

### REST

扱うリソースをURIとして定義し、それらをHTTPメソッド(PUT, GET, POST, DELETE, … )の表現で操作

#### 主なHTTPメソッド

– GET : 取得
– POST : 追加
– PUT : 更新
– DELETE : 削除

### WebSocket

HTTPの上で、

元記事を表示

AWS EC2本番環境にデプロイしたのに変更が反映されない…の対処法を写真つきで解説

##概要
AWSでEC2にデプロイした際に、「ローカルでは変更が反映されているのに本番環境で変更が反映されない…!!」となってしまい詰んだので解決した方法をメモ書きとして共有します。
ローカルでは正しく変更が反映されている前提になります。
何か間違いなどありましたらご指摘いただけますと幸いです。

##環境
AWS EC2
Ruby 2.6.5
Rails 6.0.3.3
capistranoで自動デプロイ済み

##解決した方法
“`
EC2インスタンスを再起動
“`
複数回の自動デプロイ【bundle exec cap production deploy】を行なっていると、EC2側で変更が反映されないことがあるらしいです、、(今後も頻繁に起こりそう)
なのでEC2インスタンスを再起動する手順を写真つきで以下にメモとして残します。

####1.[AWSマネジメントコンソール](https://aws.amazon.com/jp/console/)にログインしてEC2にいく。

![AWS_マネジメントコンソール.png](https://qiita-image-store

元記事を表示

AWS Global Accelerator 詳細

AWS Global Acceleratorとは、「グローバルネットワークインフラストラクチャを介して、ユーザーのトラフィックを送信するネットワークサービス」である。IPアドレスの固定化にも使用される。(下記参照)

https://aws.amazon.com/jp/global-accelerator/

下図が一番わかりやすいので、引用させていただく。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/619621/50a2f0a1-10db-2e20-fdd0-1a9c24b55d5b.png)
https://qiita.com/atsumjp/items/69917755467173e36f43

特徴を挙げていく。

1.IPアドレス固定化

先ほども申し上げた。ロードバランサー等はIPが固定ではない。GlobalAcceleratorを使って、専用のエンドポイントを作ることが可能である。

2.アプリケーション高速化

TCP接続が、ユーザ

元記事を表示

【AWS初学者用】 AWSのストレージサービスについて

# 本記事について
本記事はAWS初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

## AWSのストレージサービス
AWSにはS3やEBSといった代表的な物を始め、たくさんのストレージサービスがあります。
そんなたくさんのストレージサービスを学習したので書き留めたいと思います。

## S3
まずは有名なS3からです。S3は高耐久で大容量な**オブジェクトストレージサービス**。
データをオブジェクトとして扱いIDとメタデータによって管理します。
S3つぎはS3の機能を見ていみましょう。

### 耐久性
S3のデータの耐久性は99.999999999%という高耐久性を誇っています。また、保存されたデータは同一リージョン内の**3箇所のAZへ自動で複製**されます。

### 容量
S3は容量に制限というものはありません。しかし1ファイルに対する容量の制限はあります。
利用した容量の分だけ料金が発生します。

### バージョニング
オブジェクトの世代管理をしてくれ

元記事を表示

AWS OpsWorksの備忘録

#はじめに
AWS認定資格にてAWS OpsWorksについて度々出題されますが、いまいちどういったサービスわかってないので、本稿で整理したいと思います。

#OpsWorksとは
ChefまたはPuppetを使用して、アプリケーションを設定および運用するための設定管理サービス。
ChefやPuppetとは「構成管理ツール」の一種。構成管理ツールとは、複数のサーバーに対してアプリケーションを一括でデプロイしたり、構成を流し込んだり、管理したりするツールのこと。ChefやPuppetを使用して、運用を自動化(EC2インスタンスやオンプレミスのコンピューティング環境でのサーバーの設定、デプロイ、管理の自動化)することができる。

#まとめると…
・ChefやPuppetによってサーバー設定や反復動作を自動的に行ってくれるのを助けてくれる。
・EC2やオンプレミスのVM上で使用可能。
・AWS OpsWorks = マネージドなChef&Puppet
・ChefやPuppetはSSM/CloudFormation/Beanstalkに似ているが、クロスクラウドで動作するオープンソースであ

元記事を表示

Djangoチュートリアル(ブログアプリ作成)③ – 記事一覧表示編

前回、[Djangoチュートリアル(ブログアプリ作成)② – model 作成、管理サイト準備編](https://qiita.com/tmasuyama/items/452c20f6014e76620b3a)では管理サイトで記事を作成するところまで確認できました。

今回は、管理サイトで作成した記事の一覧を表示できるようにしていきます。

### template 準備(ファイル作成)

最初に template を作成しましょう。
templates/blog 配下に post_list.html を作成します。

“`
└── templates
└── blog
├── index.html
└── post_list.html
“`

### view の準備
ここで少し重要な説明をします。

Django では**クラスベース汎用ビュー** という仕組みを使うと、簡単に model を引っ張ってきて記事を表示させたり、
テンプレートを表示させたりすることが出来、アプリ作成をグンと効率的に行うことができるようになります。
ちなみに前

元記事を表示

Djangoチュートリアル(ブログアプリ作成)② – model 作成、管理サイト準備編

[前回](https://qiita.com/tmasuyama/items/09d74525ac8818ae6ed8) はブログアプリの基礎となる部分を作成し、動作確認まで行うことができました。
今回は、実際に記事を登録するための準備をし、記事の作成を行いましょう。

## 記事 model の作成
ブログで記事を管理するためには model を作成します。
model はデータベースと Django の橋渡しの役割を持っており、これのおかげで我々は SQL といったデータベース構文を意識することなくデータベースにデータを登録することができます。

最初に設定する models.py では、どのようなデータを登録していくのかを定義します。
Excelの表でいうと、表の各カラムのカラム名を定義したり、各カラムに入るデータがどのようなもの(文字列や数値など)を定義するところです。

今回はブログアプリであり、記事 (Post) を修正していくので Post モデルを作成します。
タイトル、本文、日付が入ればとりあえず十分です。

“`python:blog/models.py
from

元記事を表示

CloudFormationをゼロから勉強する。(その7:変更セットとドリフト検出)

# はじめに
今回はスタック実行前に事前に変更箇所を確認できる`変更セット`と、スタック実行後に手動操作などで変更されたリソースを確認できる`ドリフト検出`を試してみようと思います。

– 【前】[CloudFormationをゼロから勉強する。(その6:Transformによるインクルード)]()

# 変更セットについて
前述の通り、スタック実行前に変更箇所を確認することができる機能です。

スタック実行前に変更されるリソースやパラメータを確認できるので、スタック実行することによって**意図せずリソースが削除されたりする事故が防げます。**

テスト環境ならともかく、サービスが動作している本番環境でスタックを実行する際には**必須の機能**かと思います。

# ドリフト検出について
これも前述の通り、スタック実行後に手動操作などで変更されたリソースを確認できる機能です。

本来は環境を`CloudFormation`で管理しているのであればスタックで作成したリソースや設定に対して手動で操作することは極力避けるべきですが、何かしらの理由で手動操作した場合でも変更箇所を検出することがで

元記事を表示

Djangoチュートリアル(ブログアプリ作成)① – 準備、トップページ作成編

今回は Django を使って、記事を投稿できるブログアプリを作成していきます。

シリーズに分けて紹介していきますが、まずはローカルで作成した上で Docker 構成にしたり、AWS にデプロイしたり、CircleCI で自動テスト・デプロイまでをシリーズ化していきます。

## Django とは?
Djangoは Python で実装できる Web アプリケーションフレームワークです。

フレームワークとは、アプリケーションを開発する際に使われる機能がまとまったソフトウェアです。
フレームワークを導入することで、効率よく Web アプリを進めることができます。

今回は Blog アプリを作っていきますが、Django を使えばデータベースを用いた、コンテンツ管理システムやWikiからソーシャルネットワーク、ニュースサイトなど、高品質なWebアプリケーションを簡単に、少ないコードで作成できます。シンプルなWebアプリケーションであれば、数分間で作れてしまう場合もあります。もちろん、機能を拡張して複雑なWebアプリケーションを作成することもできます。

また、Djangoは、Ins

元記事を表示

termux×AWS IoT でスマホ位置情報をAWSに送信

#はじめに
妻に、「職場を出たらラインしろ」と言われているのですが、正直面倒です。
自分が職場を出たことを自動で通知できないかなと思い、とりあえず位置情報をAWSに送ってみました。

![図1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/287677/f9429f7f-320e-2383-24da-e35578dd9fdb.png)

#環境
スマホ:京セラ(KTV44)
OS:Android 9

##スマホ(termux)側
AndroidにGoogle Playを利用して、termuxをインストールします。
https://play.google.com/store/apps/details?id=com.termux&hl=ja

スマホだとキーボード入力しづらいため、
インストール後に下記コマンドを入力し、ssh用の環境を構築します。

“`shell
$ termux-setup-storage #termuxにandroidストレージの使用を許可する。
$ pkg install o

元記事を表示

第六章: 最後に

## 最後に
全ての章が終わりました。お疲れ様です。
余計なコストをかけない様に作ったサービスは全て削除しておくことをお勧めします。

* Elastic IPアドレスの関連付けの解除+解放
* Ec2のsnapshotを削除
* Ec2のボリュームを削除
* IAMを削除
* RDSのDBインスタンス終了
* RDSのスナップショットを削除
* ELBを終了
* ネットワークインターフェースを削除
* セキュリティーグループを削除
* CloudWatchのログを削除
* ルートテーブルを削除
* インターネットゲートウェイを削除
* サブネットを削除
* VPCを削除
* ACMを削除
* Route53のホストを削除

[前へ: 第五章: EC2からRDSに接続してみよう](https://qiita.com/Yuuki46240345/private/551539a3f1a037a75c37)
[最初へ: AWSのELBとEC2を使ってwebアーキテクチャを構築しよう](https://qiita.com/Yuuki46240345/private/0ee089a493254

元記事を表示

第四章: ELBとRoute53を使って独自ドメインををSSL化してHello worldを表示させよう

### ACMで無料のSSL証明書を発行しよう

1. awsコンソールからACMと検索してください。Certificate Managerというのがヒットすると思います
2. 証明書のプロビジョニングの「今すぐ始める」ボタン押下
3. [パブリック証明書のリクエスト]を選択して、「証明書のリクエスト」ボタン押下
4. ステップ1でドメイン名を入力し、次へ
![スクリーンショット 2020-10-16 7.09.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/528444/d719a6ae-898e-e527-a2b3-70d27a0ddd65.png)
5. DNSの検証を選択して「次へ」
6. タグの追加ではタグと値に**Name**, **my-best-acm**を入力して「確認」
7. 次の画面で「確認とリクエスト」ボタン押下
8. この画面になったら赤枠の箇所を押してcsvをダウンロードして「続行」ボタンを押下
![スクリーンショット 2020-10-16 7.13.10.png](ht

元記事を表示

第一章: ドメインを取得してRoute53に登録する

スムーズに終わらせるために一番時間のかかるドメインの取得から取り掛かりましょう。
## 流れの説明
1. お名前.comでドメインを取得
2. ドメインの自動更新を解除する
3. Route53に取得したドメインを登録
4. このドメインのネームサーバーをお名前.comからRoute53のネームサーバーに変更する

### 一番時間のかかるドメインの設定から始める
1. [お名前.com](https://www.onamae.com/navi/login/?btn_id=navi_login_onamaetop_header_newdesign&ab=navilogin_other_abflow)にログイン

2. ドメイン→ドメインの登録を押す
![スクリーンショット 2020-10-14 20.12.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/528444/8ec6c3ee-1cd0-36d3-1d68-f14bd5e3db98.png)

3. 次の画面で独自のドメイン名を入力して検索す

元記事を表示

OTHERカテゴリの最新記事