31
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWS環境構築 EC2(Amazon Linux)+RDS(MySQL)の設定 他VPC、サブネット、ルートテーブル、インターネットゲートウェイ

Last updated at Posted at 2017-02-09

AWSに以下の環境を構築したので、備忘録として残しておこうと思います。

(0)AWSの設定 ← 本エントリの内容
(1)Apache2.2+PHP7+MySQL5.6+WordPress4.7+phpMyAdmin4.6
(2)Nginx+Unicorn+RubyOnRails

実施事項
◎AWSの設定

  • VPCの作成
  • サブネットの作成
  • インターネットゲートウェイの作成
  • ルートテーブルの作成
  • EC2インスタンスの作成
  • RDSインスタンスの作成
  • Elastic IPの作成
    ◎ローカルからのSSH通信

【ご一読いただくにあたって】
・AWSのアカウントは事前に取得して下さい。
・間違いがありましたらコメントにて教えて下さい。(まだまだ勉強中です。)
・専門用語の深い解説はしておりません。

##AWSの設定
###VPCの作成
AWS1.png
・リージョンが東京であることを確認

AWS2.png
・サービスの中から[VPC]をクリック

AWS3.png

AWS4.png
・VPCダッシュボードに遷移するので、[VPC]、[VPCの作成]をクリック

AWS5.png
・[ネームタグ]と[IPv4 CIDR block]をそれぞれ入力

項目
ネームタグ test_for_Qiita
IPv4 CIDR block 10.0.0.0/16

###サブネットの作成
今回はEC2,RDSのインスタンスそれぞれにサブネットを設定
インターネットへの接続はEC2のサブネット(パブリックサブネット)のみ、RDSはプライベートサブネット
RDSインスタンスの作成に、サブネットグループの設定が必要なので、RDS用のサブネットにアベイラビリティゾーン(以下、AZ)が異なる2つのサブネットを設定

AWS6.png

EC2用のサブネットを設定
AWS7.png

項目
ネームタグ subnet_for_Qiita_EC2
VPC vpc-xxxxxx test_for_Qiita
AZ ap-northeast-1a
IPv4 CIDR block 10.0.1.0/24
IT用語辞典 e-words CIDR
ネットワーク入門:サブネットと CIDR を理解する

RDS(マスター)用のサブネットを設定
AWS8-1.png

項目
ネームタグ subnet_for_Qiita_RDS_master
VPC vpc-xxxxxx test_for_Qiita
AZ ap-northeast-1a
IPv4 CIDR block 10.0.2.0/24

RDS(スレーブ)用のサブネットを設定
AWS25.png

項目
ネームタグ subnet_for_Qiita_RDS_slave
VPC vpc-xxxxxx test_for_Qiita
AZ ap-northeast-1c※
IPv4 CIDR block 10.0.3.0/24
※AZはap-northeast-1a ではない

###インターネットゲートウェイ(以下、GW)の作成
AWS9.png

AWS10.png

項目
ネームタグ GW_for_Qiita

AWS11.png
・VPCと紐付ける(状態:detached)

AWS12.png
・上記で作成したVPC(test_for_Qiita)を選択

AWS13.png
・アタッチ完了(状態:attached)

###ルートテーブルの作成
AWS14.png
・上記で作成したVPC(test_for_Qiita)に紐付いたルートテーブルが作成されているので、GWとサブネットをそこに紐付ける

AWS17.png
・[ルート] → [別ルートの追加]

AWS36.png

送信先 ターゲット
0.0.0.0/0 igw-xxxxxx
※igw-xxxxxx 上記で作成したGW

AWS15.png
・[サブネットの関連付け] → [編集]

AWS16.png
subnet_for_Qiita_EC2と関連付け保存

###EC2インスタンス(Amazon Linux)の作成
AWS19.png
[インスタンスの作成]
1 AMIの選択 → AmazonLinux
2 インスタンスタイプの選択 → 無料利用枠のt2.microを選択
3 インスタンスの設定
AWS20.png

項目
ネットワーク vpc-xxx test_for_Qiita
サブネット subnet_for_Qiita_EC2

4 ストレージの追加 → そのまま
5 Add Tags → 任意のタグを設定(ex.EcC2_for_Qiita)
6 セキュリティグループの設定
AWS21.png
[新しいセキュリティグループを作成する]

項目
セキュリティグループ名 SG_for_Qiita_EC2(任意)
説明 SG_for_Qiita_EC2(任意)
SSH マイIP (自動入力)
HTTP(ルールの追加) カスタム(自動入力)

7 確認
8 キーペアのダウンンロード
AWS22.png
[新しいキーペアの作成] → [キーペア名(任意 ex.kp_Qiita)] → [ダウンンロード] → [インスタンスの作成]

kp_Qiita.pemがダウンロードされる
このファイルは「ローカル→AWS」へSSHする際に使用する
本来であれば、.sshディレクトリの中に移す等して管理すべき
今回はテストなのでデスクトップに配置してSSHを実施

AWS29.png
完了

###RDSインスタンスの作成
RDSインスタンス作成前の下準備①
・RDSのセキュリティグループの作成
EC2ダッシュボード [セキュリティグループ] → [セキュリティグループの作成]
AWS23.png

項目
セキュリティグループ名 SG_for_Qiita_RDS(任意)
説明 SG_for_Qiita_RDS(任意)
MYSQL/Aurora カスタム sg-xxxxxx※
※送信元は、EC2のセキュリティグループ(SG_for_Qiita_EC2)のグループID

RDSインスタンス作成前の下準備②
・RDSのサブネットグループの作成
RDSダッシュボードへ移動 [サブネットグループ] → [サブネットグループの作成]
AWS26.png

項目
名前 db_subnet_group_for_Qiita(任意)
説明 db_subnet_group_for_Qiita(任意)
VPC ID test_for_Qiita
AZ サブネット
ap-notheast-1a subnet-xxxxx(マスター用のサブネットID)
ap-notheast-1c subnet-zzzzz(スレーブ用のサブネットID)

サブネットIDは[VPC] → [サブネット] で確認可

RDSインスタンス作成
ステップ1 エンジンの選択 → MySQL
ステップ2 本番稼動用? → 開発/テスト
ステップ3 DB詳細の指定
AWS24.png

項目
DBエンジンのバージョン 5.6.27(任意)
DBインスタンスのクラス db.t2.micro(任意)
マルチAZ配置 いいえ
DBインスタンス識別子 db-id-for-qiita(任意)
マスターユーザの名前 db_qiita_user(任意)
マスターパスワード 任意

※ユーザ名、パスワードはWordPress/phpMyAdminを設定する際に使用
ステップ4 詳細の設定
AWS28.png

項目
VPC test_for_Qiita
サブネットグループ db_subnet_group_for_qiita
AZ ap-northeast-1a
VPCセキュリティグループ SG_for_Qiita_RDS
データベースの名前 db_qiita(任意)
バックアップの保存期間 0日(任意)

[DBインスタンスの作成]

AWS30.png
完了

###Elastic IPの作成
EC2にパブリックIPを設定
AWS32.png
EC2ダッシュボード [Elastic IP] → [新しいアドレスの割り当て] → [割り当て]
AWS33.png

新しいIPアドレスが自動生成されるのでそれをEC2と関連づける
[アクション] → [アドレスの関連付け]

AWS34.png

項目
インスタンス xxxxxxxxxxx (EC2_for_QiitaのインスタンスID)
プライベートIP 10.0.1.xxx (EC2_for_QiitaのプライベートIP)

[関連付け]

##ローカルからのSSH通信
1.EC2インスタンスを作成する際にローカルにダウンロードしたkp_Qiita.pemのパーミッションを変更
(kp_Qiita.pemはデスクトップに移動している前提)

myname-no-MacBook-Pro:~ myname$ cd Desktop      #Desktopへ移動
myname-no-MacBook-Pro:Desktop myname$ ls -la      #パーミッション確認
# 略
-rw-r--r--@  1 myname  staff    1692  2  9 12:33 kp_Qiita.pem
# 略
myname-no-MacBook-Pro:Desktop myname$ chmod 400 kp_Qiita.pem      #パーミッション変更
# 略
-r--------@  1 myname  staff    1692  2  9 12:33 kp_Qiita.pem
# 略
myname-no-MacBook-Pro:Desktop myname$ cd      #ホームへ移動

2.SSH通信

myname$ ssh -i /Users/myname/Desktop/kp_Qiita.pem ec2-user@13.112.xxx.xxx (EC2インスタンスのパブリックIP)
(myname$ ssh -i ~/Desktop/kp_Qiita.pem ec2-user@13.112.xxx.xxx)

初回ログイン時には下記のアナウンスが表示

The authenticity of host '13.112.xxx.xxx (13.112.xxx.xxx)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes #yesと入力

成功

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2016.09-release-notes/
[ec2-user@ip-10-0-1-107(EC2のプライベートIP) ~]$ 

以上です。

Apache2.2+PHP7+MySQL5.6+WordPress4.7+phpMyAdmin4.6の設定はこちらです。

31
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
25

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?