読者です 読者をやめる 読者になる 読者になる

うさがにっき

読書感想文とプログラムのこと書いてきます

プライベートサブネットを構築する

概要


awsにwebサーバをインストールする - うさがにっき
の続き
webからアクセスできないプライベートサブネットを構築する

詳細

プライベートサブネットを作る

パブリックネットワークと同じアベイラビリティゾーンにプライベートネットワークを作成する
アベイラビリティゾーン…同じリージョンの中にも複数の離れた拠点にサーバが配置してある、それを判別するID
VPC > subnetsからCreate Subnetを押下
f:id:tiro105:20150227161408p:plain
プライベートサブネットが作成されている
f:id:tiro105:20150227161558p:plain
ルートテーブルは自分だけ見ている、他へのパケットは無視する
f:id:tiro105:20150227161653p:plain

プライベートサブネットにサーバを構築する

プライベートサブネットにDB用のサーバを構築する
EC2 > Instance のlaunch Instanceをクリック
f:id:tiro105:20150227163000p:plain
前に作ったInstanceと同じように
f:id:tiro105:20150227163203p:plain
f:id:tiro105:20150227163235p:plain
VPS領域とプライベートサブネットを選択、Public IPはdisableに
private ipは10.0.2.10
f:id:tiro105:20150227163318p:plain
サーバ名はDBサーバ
f:id:tiro105:20150227163637p:plain
パケットはデフォルトではsshdの22しか空いていない
MySqlサーバとして使うのでMySqlのポートを開いておく
f:id:tiro105:20150227163505p:plain
プライベートIPアドレスは設定されているが、グローバルIPアドレスは設定されていない
f:id:tiro105:20150227163719p:plain

pingでDBサーバの疎通確認

webサーバからpingでDBサーバに通信できる確認
ICMPがDBサーバに通るようにセキュリティを変更
f:id:tiro105:20150227164806p:plain
f:id:tiro105:20150227164820p:plain
f:id:tiro105:20150227164838p:plain

$ ssh -i my-key.pem ec2-user@ec2-54-92-23-155.ap-northeast-1.compute.amazonaws.com
Last login: Thu Feb 26 10:07:36 2015 from kd106132108095.au-net.ne.jp

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

https://aws.amazon.com/amazon-linux-ami/2014.09-release-notes/
9 package(s) needed for security, out of 12 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-10-0-1-10 ~]$
[ec2-user@ip-10-0-1-10 ~]$ ping 10.0.2.10
PING 10.0.2.10 (10.0.2.10) 56(84) bytes of data.
64 bytes from 10.0.2.10: icmp_seq=1 ttl=64 time=2.71 ms
64 bytes from 10.0.2.10: icmp_seq=2 ttl=64 time=0.581 ms
64 bytes from 10.0.2.10: icmp_seq=3 ttl=64 time=0.529 ms
64 bytes from 10.0.2.10: icmp_seq=4 ttl=64 time=0.514 ms

pingでwebサーバの疎通確認

現状ではwebサーバにもICMPが通るようにしていないのでpingがきかない
のでwebサーバにもICMPを通るようにする
f:id:tiro105:20150227165000p:plain

$ ping ec2-54-92-23-155.ap-northeast-1.compute.amazonaws.com
PING ec2-54-92-23-155.ap-northeast-1.compute.amazonaws.com (54.92.23.155): 56 data bytes
64 bytes from 54.92.23.155: icmp_seq=0 ttl=49 time=115.914 ms
64 bytes from 54.92.23.155: icmp_seq=1 ttl=49 time=422.826 ms
64 bytes from 54.92.23.155: icmp_seq=2 ttl=49 time=61.481 ms

webサーバを経由してdbサーバにsshで接続する

dbサーバは普通に外部から接続できない
のでwebサーバを踏み台にしてdbサーバに接続する

dbサーバ用の秘密鍵をwebサーバにアップロード

scp -i 送信先サーバの秘密鍵 渡すファイル

$ scp -i my-key.pem db-key.pem ec2-user@ec2-54-92-23-155.ap-northeast-1.compute.amazonaws.com:~/
db-key.pem                                    100% 1692     1.7KB/s   00:00    
#webサーバにログイン
$ ssh -i my-key.pem ec2-user@ec2-54-92-23-155.ap-northeast-1.compute.amazonaws.com
Last login: Fri Feb 27 07:45:42 2015 from kd106132114001.au-net.ne.jp

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

https://aws.amazon.com/amazon-linux-ami/2014.09-release-notes/
9 package(s) needed for security, out of 12 available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-10-0-1-10 ~]$ 
[ec2-user@ip-10-0-1-10 ~]$ 
[ec2-user@ip-10-0-1-10 ~]$ ls
db-key.pem
[ec2-user@ip-10-0-1-10 ~]$ chmod 400 db-key.pem 
#dbサーバにログイン
[ec2-user@ip-10-0-1-10 ~]$ ssh -i db-key.pem ec2-user@10.0.2.10
The authenticity of host '10.0.2.10 (10.0.2.10)' can't be established.
ECDSA key fingerprint is 67:3d:3b:44:57:3a:a5:1b:03:19:e0:91:96:d7:76:70.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.0.2.10' (ECDSA) to the list of known hosts.

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

https://aws.amazon.com/amazon-linux-ami/2014.09-release-notes/
[ec2-user@ip-10-0-2-10 ~]$ 

参考

Amazon Web Services 基礎からのネットワーク&サーバー構築

Amazon Web Services 基礎からのネットワーク&サーバー構築