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

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

AWS学習 EC2編

# はじめに
今年からAWSを本格的に学習し始めたので、主要サービスであるEC2を構築する上で
必要な知識をまとめて行こうと思います。簡単に、私の経歴を下記にまとめたいと思います。

– 大学(文系)卒業後、6年間障害者支援の仕事に従事
– 結婚を機にIT業界に転職する
– 初めはSESに入るが、あまり開発案件にアサインすることができなかったため、1年で転職を決意
– 現在は大手技術派遣会社でpythonを利用したシステムの開発業務を行っている

## 目標
今回は踏み台サーバーを経由して作業サーバーに接続できるよう
環境を構築します。

## VPCの作成
まずはVPCの作成から行います。
VPCとは、EC2やRDS(AWSのDBサービス)を起動するために必要な箱のようなイメージと言えば伝わりますでしょうか?(厳密にはVPCの中にさらに後述するサブネットというものを切り出してその中にEC2などのインスタンスを作ります。)
AWSマネジメントコンソールにログインし、上部にある検索バーから「VPC」と検索すると対象サービスのリンクがありますので、リンクを押下して画面に遷移します。そ

元記事を表示

awsでCentos6をインストール方法

1。awsにアカウントでログインEC2でトップの検索入力エリアにcentos6と入力しAWSmarketplaceサイトより下記手順で選択しインストールする。OSを選択

2。[Continue to Subscribe] をクリックします。
![スクリーンショット 2021-02-09 3.01.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/101462/919a850d-4a2a-e6d8-5b77-4df86e9b34d6.png)

3。[Continue to Configuration] をクリックします。
![スクリーンショット 2021-02-09 3.01.42.png](https://qiita-image-stor

元記事を表示

【AWS】たぬきと洋ナシで暗号化を理解する

#はじめに
毎日更新3日目。
S3の暗号化を覚えるために、KMSを理解しなきゃ

KMSを理解するために、暗号化を理解しなきゃ

暗号化、明確に理解したい。。たとえを考えよう。。

#SlideShare
たとえ話をまとめたSlideShareを作りました。

見てくださった方、感想やご意見あれば気軽にコメントください!
後日内容についてQiita内にもメモを書きたいと思います。

元記事を表示

【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その③(最終回)

##初めに

[【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その①](https://qiita.com/AIM-Z/items/4848e061f21eacf0e815)
[【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その②](https://qiita.com/AIM-Z/items/4f94257bca30beec2cea)
の作業の続きの記事になるのでそちらを読んでからお越しください。

##STEP7 : jdbcドライバのダウンロードと配置
MySQLのjdbcドライバを以下からインストールする
https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.20
![スクリーンショット 2021-02-09 0.35.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/712635/2a724acf-79b5-cbee-e551

元記事を表示

【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その②

##初めに
[【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その①](https://qiita.com/AIM-Z/items/4848e061f21eacf0e815)
の続編。①の作業の続きの記事になるのでそちらを読んでからお越しください。

##STEP3 : EC2インスタンスの作成
AWSメニュー画面の左上のサービス > EC2
左のメニューバーから「インスタンス」を選択し、「インスタンスの作成」を押下
![スクリーンショット 2021-02-08 23.40.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/712635/860980c1-65cd-5332-285c-7e7ee1b9f350.png)

まずはAMIの設定をする
**AMI** : ざっくり言うと、EC2インスタンスに入れるOS
今回はAmazon Linux 2 AMI (HVM), SSD Volume Typeを選択
![スクリーンショット 2021-02-08 23

元記事を表示

CloudFormation で署名付きCookieが有効なパスを含む CloudFront Distribution を作る

主に個人的作業メモ。

# 作成する CloudFront の性質

– `/m/*` -> 署名付きCookieがないと閲覧できない、API Gateway (Lambda) が実体を持つコンテンツ
– `/v1/*` -> API Gateway (Lambda) が実体を持つコンテンツ
– `/* (Default)` -> S3 に実体がある静的コンテンツ

# 経緯

2021年2月現在、CloudFront には以下の機能が追加されている。

– Root権限で作成した鍵ではなく、ユーザー権限で公開鍵・KeyGroup を作成して、そのKeyGroup内で署名した Cookie に基づいて特定パス以下のアクセスを制限する機能
– 例えば、`/private/*` のパスを閲覧する場合、ユーザーの Cookie に事前に適切な値が含まれていない場合 403 エラーとなるような仕組み
– これを実現するためには以下の項目を順次行う必要がある
– CloudFront に公開鍵を登録する
– 登録した公開鍵を含む KeyGroup を作成する
– CloudFro

元記事を表示

【初心者必見】Eclipseで作成したJavaWebアプリケーションをAWSにデプロイする。その①

##初めに
AWSって何?ってところから一週間勉強してJavaのWebアプリケーションをデプロイした時の話をまとめる。簡単ではあるがAWSの用語の解説も挟んでいくので、記事を読んで実践する頃には基礎の基礎はインプットできるかと思う。

###環境
Windows10
その他の環境やverは下の図解にまとめてあるが、各々の環境に合わせて適宜変更しながら設定してほしい。

##前提
– AWSのアカウントを作っていること
– IAMユーザーを1つ作成していること

作り方は以下の記事を参照。
基本、作成したIAMユーザーで作業する。

https://qiita.com/kzykmyzw/items/ca0c3276dfebb401f7d8
##今回のゴール
– warファイルをAWSのサーバにデプロイして、DB連携を伴うアプリケーションが公開できる

##注意点
AWSに登録して一年はサービスの利用に無料枠が与えられるためほとんどの場合無料枠で事足りるが、**AWSは従量課金制**であるため、サーバーを立てっぱなしにしたり、インスタンスを

元記事を表示

【AWS】用語を整理しながら学ぶAWS – 番外編-EC2上にRails6環境を構築(一部Terraform利用)

# はじめに

この記事では AWS Cloud Tech を通して IaC を学習して実践していく記事です。
主な内容としては実践したときのメモを中心に書きます。(忘れやすいことなど)
誤りなどがあれば書き直していく予定です。

**※AWS Cloud Tech では CloudFormation が基礎から学習できます。**
**※今回チョットだけ扱う Terraform は AWS Cloud Tech で学習しません。(2021/02/08 Mon 現在)**

**※この記事で紹介する Rails 環境のパラメータ(パスワードやユーザ名、権限)などはご自身の環境に**
**合わせていただくようお願い致します。**

また、今回は一度も使っていませんが
今後はプライベートネットワークにも何かしら置く予定です。

## Terraform とは

HashiCorp 社 が提供する製品の名前
巷で話題のインフラをコード化するということが各クラウドでできます。
今回は AWS を題材に使いますが、Azure,GCP でもできます。

## なぜ、Terraform なのか

私が

元記事を表示

複数の踏み台サーバを経由したDB接続

# はじめに
今の現場ではAWSを使ったWebシステムを開発しています。
DBはAmazon Auroraを利用しており、踏み台サーバ2台を超えたアプリサーバーからのみ接続できる構成になっています。

**構成イメージ図**

通常の手順だと、ターミナルソフトで踏み台サーバからアプリケーションサーバへ順当に接続し、アプリケーションサーバ上でDB接続コマンドを実行する流れになりますが、コマンドでの操作だともろもろ不便を感じました。
だから自マシンからDBクライアントツールで直接接続したいなと思い、ターミナルソフトにSSHポートフォワーディングの設定を追加して直接接続を実現しました。

**接続イメージ図**
Amplifyをシンプルなライブラリとして使うサンプル

# 対象
Amplifyを使ってAWSのサービスを簡単に叩きたい人

# 準備
任意のディレクトリで

“`
npm init
“`
からの

“`
npm i aws-amplify
“`
としておきます。

# Amplifyライブラリの仕組み

amplify addやらでサービスを構築していくと、amplifyのconfigが自動的に構成されて、気が付かないうちに便利なツールになっているのが特徴です。
逆に言えばこれらを自分で書いてちょっとした便利ツールとして使うことも可能です。
Cogmnitoの認証やAPIの呼び出しなど、Amplifyライブラリを使用したほうが断然楽です。

例えばサインインでは

“`javascript

const Amplify = require(‘aws-amplify’)

const config {
“aws_project_region”:”ap-northeast-1″,
“aws_cognito_identity_pool_id”:”ap-northeast-1:0000000….”,
“aws_cogn

元記事を表示

AWS デプロイを自動化する

# はじめに
今回、オリアプを制作し、その際にEC2でデプロイし、ローカル環境から本番環境に自動でデプロイする設定をしましたので、備忘録としてつけたいと思います!

# 使用Gem
Capistrano
※自動デプロイツールです。

# 自動デプロイツールのメリット
このようなツールを使うことでデプロイ時のコマンドを1つでできちゃうことが最大のメリットです!
多くのコマンドを打つことによって、打ち間違えを防ぐことができます。

# Capistranoを利用するための準備

“`
Gemfile
group :development, :test do
gem ‘capistrano’
gem ‘capistrano-rbenv’
gem ‘capistrano-bundler’
gem ‘capistrano-rails’
gem ‘capistrano3-unicorn’
end

# group :developmentのグループがない場合は追加してください。

% bundle install

% bundle exec cap install
#アプ

元記事を表示

ErrorException Undefined variable: ×××の解決方法

Laravel初学者です。
オリジナルアプリを作成しているのでその過程を記事にしています。

理解が曖昧なところも多いため、ご指摘等ありましたらご連絡いただければ幸いです。

今回は
`ErrorException Undefined variable: ×××`
が出たのでその解決方法を記録として残します。

## 環境

| | Version |
|:—————|————:|
| PHP | 7.4.14 |
| Laravel | 8.24.0 |
| mysql | 8.0.23 |
| docker | 20.10.2 |
| docker-compose | 1.27.4 |

## エラーが出た流れ

投稿データをDBから取ってきて一覧表示させたいと思い、
indexアクションとforeachで表示させる実装をしていました。

“`PHP:resources/views/ga

元記事を表示

S3にHTTPS(SSL通信)の静的サイトを立ち上げた時の話

#TL;DR
too long didn’t read
はじめに、キャプチャ多めで、全文が長いので、作業工程の要約をここにまとめたいと思いますー

1. ドメインを無料で取得。([freenom][1])
2. `Amazon S3`に静的ホスティング用の対象ファイル(index.htmlとか)をアップロード
3. `Route53`でドメインを名前解決する。
1. Route53でホストゾーンを作成
2. ドメイン取得したサイト([freenom][1])のネームサーバー設定にRoute53ホストゾーンの`NS`ドメインを設定
4. `AWS Certificate Manager`で取得ドメインに対して証明書を発行
1. CNAME作成
5. `CloudFront`でS3バケットの静的サイトに対して、アクセス可能にする。
1. CloudFontでディストリビューションを作成
2. Route53で、CloutFrontのドメイン用のAレコードを作成
3. S3バケ

元記事を表示

Ruby on Railsで作ったアプリをAWS EC2で公開する

#はじめに
まずこちらの記事で、AWSのCloud9にてRuby on Railsを使ったWEBアプリのデモ開発を行った。
[Ruby on Railsでのアプリ開発(初心者)](https://qiita.com/Moriyoshi_05/items/63aa3272a13544be0744)
※内容は備忘録代わりなので、煩雑です。
これらのアプリは全てgithubにpushしてあります。

今回はアプリをAWSのEC2で公開する手順について備忘録として残す。
参考にしたのは下記サイトとなる。
こちらはAmazon Linux AMIで実施しているので、今回の手順と一部異なります。
・[Ruby on Rails】AWS を利用したデプロイ(AWS & Nginx & Unicorn & Rails)How to deploy a Rails App to EC2(2020年版)](https://www.youtube.com/watch?v=DYoXhTUfm98)
・[AWS & Nginx & Unicorn & Ruby on Rails](https://hackmd.i

元記事を表示

【AWS】aws-sam-cli をWindowsでbashから使うメモ

# 問題

[AWS SAM CLI](https://github.com/aws/aws-sam-cli) のWindows版をインストールすると、バッチファイルの「sam.cmd」が追加され、PowerShellやコマンドプロンプトから利用できる。[^1]

[^1]: SAM とは「Serverless Application Model」。Lambda等のサーバーレスアプリのビルド、デプロイ機能に特化した CloudFomation の拡張サービスです。

でも普段、Windows上で GitBash や WSL2 等の bashをメインに使っていると、cmdファイルは実行できなくてイラっとすることに。

# 環境

* Windows10 Pro
* SAM CLI version 1.17.0

# シェルを作る

cmdファイル内は Python を実行しているだけ。

“`batchfile:sam.cmd
@rem
@echo off

setlocal

“%~dp0/../runtime/python.exe” -m samcli %*
“`

元記事を表示

AWS利用費用を見直した話

AWSの1アカウントで個人サービスの運用をしているのですが、
想定より請求されているなと思い、ちゃんと請求の内訳を確認してみたという話。
こーゆーのはほっとくと無駄な出費になるので定期的に見直しが必要と肝に命じる。

### 対応1

・$0.005 per Elastic IP address not attached to a running instance per hour (prorated)
ElasticIPは1個は無料枠だったが、なぜ未使用のElasticIPを生成しており、その利用分が請求されていました

### 対応
インスタンスに紐づいていない Elastic IP を開放した
$3.72/月のコスト削減

### 対応2

EBSの新しいボリュームタイプの方がコスパが良いのでそっちに変更
https://dev.classmethod.jp/articles/ebs-volume-covert-gp2-to-gp3/

> $0.12 per GB-month of General Purpose SSD (gp2) provisioned storage

元記事を表示

AWS Amplifyで自動デプロイとカスタムドメインの設定を試してみる

AWS AmplifyでReactアプリケーションの自動デプロイを試したときの学習メモです。
ReactアプリケーションのGitHubのリポジトリを登録することで、Reactアプリケーションを自動でデプロイすることができます。
おまけとしてカスタムドメインの設定を行います。

# 前提
– Node.js(>8)
– GitHubアカウント

# Reactアプリケーションの作成
まずはCreate React AppでReactアプリケーションを作成しましょう。

“`console
npx create-react-app amplify-react
“`

下記の様にフォルダ構成が出来上がります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/556091/5b502919-160c-23c7-9b9f-c0d68bb660e2.png)

ひとまず動作を確認しておきましょう。
作成したフォルダに移動して、下記コマンドを実行します。

“`console
npm start

元記事を表示

Amplifyでデプロイしたがトップページ以外のURLがAccesssDeniedになってしまう件

## 背景
AWS AmplifyでReactのSPAアプリケーションをデプロイをした際に、発行されたURLのトップページは開いたが、それ以外のURLを叩くとAccesssDenied(403エラー)になってしまった。
![スクリーンショット 2021-02-04 17.48.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/751681/a726c49f-3c7a-006b-da54-a3e427c6dab6.png)
その解決方法をメモがてら残しておきます。

ここでは解決方法だけ記載します。
原因など詳しく知りたい場合は以下の参考サイトに記述されていますので、そちらにお願いします。
参考サイト:
[Amplify Console でデプロイした SPA が403エラーになった原因と対策](https://blog.serverworks.co.jp/tech/2020/03/02/amplify-console-redirect/
)
[[公式]AWSドキュメント Amplifyでリダイレクト

元記事を表示

CloudWatch アラーム名を変更する

## 目的
わが社ではCloudWatchのアラームを利用し、AWSリソースのメトリクス・ログ監視を設定→チケットとして起票するシステムを採用しています。
その際、チケットの表題にはアラーム名が登録されるのですが、
つい最近登録したアラーム名に不満がでており、変更の希望がありました。
CloudWatchに設定したアラーム名は直接変更できないため、一工夫してアラーム名を変更します。

## 手順
アラームをコピーして、新しいアラームとして設定するだけ。

①コンソールから、名前を変更するアラームを指定し、アラームのコピーを選択。
②アラーム名のみ変更して、アラームを作成
③元のアラームを削除

簡単

元記事を表示

【AWS】実務でEC2にLAMP環境を構築した流れをザックリかつわかりやすくまとめた

## はじめに
最近、実務でAWS(EC2)にCakePHP用の開発環境を構築するタスクを担当したので、その時に行ったざっくりした作業の流れをまとめておきます。

※著者の業務での構築手順・仕様なのでこれがデファクトスタンダード・ベストプラクティスではないと思います。
※あくまで一例として読んでいただければ嬉しいです
※新規開発ではなく現行環境のリプレイスです

## 構築する環境

||種類|バージョン等|
|:–:|:–:|:–:|
|OS|Linux|Amazon Linux 2|
|Webサーバー|Apache|2.4.46|
|DBサーバー|MariaDB|10.2.10|
|アプリケーション|PHP|5.4.16|

※あとはmemcachedも

## AWS(EC2)で環境構築するざっくりした流れ
### VPCを作成
VPCはAWS上で仮想化されたネットワークのこと。
このネットワークを介してEC2やRDSなどをインターネットなどと通信する。
AWSで作業する際にまずVPCの作成から始める。

### サブネットを作成
サブネットはVPCを細かく区切ったネットワ

元記事を表示

OTHERカテゴリの最新記事