うさがにっき

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

aws上に仮想サーバを立ててみる

概要


awsを使って仮想VPC環境を作ってみる - うさがにっき
の続き
aws上に仮想サーバ(linux)を立ててみる

詳細

作成したVPCにOSをインストールする

EC2をクリック
f:id:tiro105:20150225150947p:plain
InstancesのLaunch Instanceをクリック
f:id:tiro105:20150225151032p:plain
OSを選択、今回はAmazon Linux AMIの64bitを選択
f:id:tiro105:20150225151112p:plain
インスタンスタイプを選択、インスタンスタイプとはマシンスペックのこと
今回はお試しということで最小構成
f:id:tiro105:20150225151203p:plain
インスタンスVPCを紐づける

  • Networkに前回作成した「VPS領域」、サブネットに前回作成した「パブリックサブネット」を設定
  • public ipをつけるためにAuto-assign Public Ipをenableにする
  • プライベートIPアドレスを設定、10.0.1.10を設定

f:id:tiro105:20150225151444p:plain
ストレージの設定
ここはデフォルトのまま
f:id:tiro105:20150225151605p:plain
インスタンスに名前をつける
webサーバとして運用するのでwebサーバと命名
f:id:tiro105:20150225151639p:plain
セキュリティグループの作成
WEB-SGと名前を設定f:id:tiro105:20150225151807p:plain
インスタンスを起動
ssh接続のためのキーペアをダウンロード
f:id:tiro105:20150225151856p:plain
インスタンス起動の状態を確認
EC2のメイン画面からInstanceメニューをクリック
正常に動作していることを確認できる
f:id:tiro105:20150225151949p:plain

起動したOSにssh接続してみる

ダウンロードしたssh鍵を用いて、ssh接続してみる

$ ssh -i my-key.pem ec2-user@54.92.23.155
The authenticity of host '54.92.23.155 (54.92.23.155)' can't be established.
RSA key fingerprint is 2b:ca:32:c2:f1:8f:8d:54:2d:8c:90:f2:0f:66:1b:4f.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '54.92.23.155' (RSA) to the list of known hosts.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0640 for 'my-key.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: my-key.pem
Permission denied (publickey).

鍵ファイルのパーミッションが多ユーザからも観れるのが問題の様子

$ ls -l my-key.pem 
-rw-r-----@ 1 root  staff  1692  2 25 15:07 my-key.pem
$ chmod 400 my-key.pem 

鍵ファイルをrootから閲覧だけに変更する

$ ssh -i my-key.pem ec2-user@54.92.23.155

       __|  __|_  )
       _|  (     /   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 /]$ sudo lsof -i -n -P
COMMAND   PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
dhclient 1874     root    5u  IPv4   8554      0t0  UDP *:68 
sshd     2104     root    3u  IPv4   9237      0t0  TCP *:22 (LISTEN)
sshd     2104     root    4u  IPv6   9239      0t0  TCP *:22 (LISTEN)
ntpd     2121      ntp   16u  IPv4   9298      0t0  UDP *:123 
ntpd     2121      ntp   17u  IPv4   9302      0t0  UDP 127.0.0.1:123 
ntpd     2121      ntp   18u  IPv4   9303      0t0  UDP 10.0.1.10:123 
sendmail 2136     root    4u  IPv4   9368      0t0  TCP 127.0.0.1:25 (LISTEN)
sshd     2229     root    3u  IPv4   9766      0t0  TCP 10.0.1.10:22->106.132.109.130:65402 (ESTABLISHED)
sshd     2231 ec2-user    3u  IPv4   9766      0t0  TCP 10.0.1.10:22->106.132.109.130:65402 (ESTABLISHED)

ファイアウォールの確認

EC2メニューのsecurity groupから確認
デフォルトで作成したセキュリティグループではsshだけを許可しており他のパケットを許可していないため、webサーバやDBサーバとしての入り口も存在しない
今後、必要に応じて権限を与えていく
f:id:tiro105:20150225154202p:plain

参考

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

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