LoginSignup
1
1

More than 3 years have passed since last update.

AWSのVPC作成からEC2にsshログインまで

Last updated at Posted at 2019-11-01
1 / 2

AWS立ち上げ

今回、AWSを使用してEC2インスタンスにsshログインするまでの記事を投稿する

約一年ほど前にAWSでサーバを立ち上げてJavaやRDSを使用してネットワークやプログラムの
学習を行なっていたが諸事情により途絶えたので再開する

本記事の基本的な流れとしては下記になる
VPC作成→サブネット作成→EC2配置→sshログイン

VPC作成(サブネット作成)

アプリケーションのプラットフォームを作成する
VPC環境をAWSコンソールから作成し、EC2のプラットフォームを作る

下記のキャプチャより、AWSコンソール画面のメニュー選択からネットワークとコンテンツ配信からVPCを選択する。
スクリーンショット 2019-11-01 22.04.03.png

去年作成したが、あまり覚えていない・・・
どうやら下記がメインとなる設定画面のようだ
・使用するネットワークのIPアドレスとCIDRを決定する
・アベイラビリティゾーンの剪定を行う

VPCのネットワークとサブネットを同時に作成できるみたい
IPアドレスのプレフィックスは何かの書籍で読んだが、下位16ビットがホスト部として使用することを推奨していたので、VPCのIPは/16を使用する。
サブネットはVPCのプラットフォーム内に/24のものを配置する。

スクリーンショット 2019-11-01 22.13.04.png

画面を進めていくと下記のような設定画面がある。
スクリーンショット 2019-11-01 22.13.17.png

アクセスポリシーの設定、ホスト名の有効化、ハードウェアのテナンシー設定である

VPCエンドポイントへのアクセスは基本的にあとで自宅用IPで制限をかけるので、フルアクセス可能にする

ホスト名の有効化は、よく意味がわからないが
おそらくIPアドレスだけでなくVPC用ホスト名を設定できる項目だと思われる
ホスト名は便利なのでとりあえず使用する設定にする

最後にテナンシーだが、詳細は公式ドキュメントに書いてある
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/dedicated-instance.html

今回はテスト動作用なので、専用ハードを構築する必要はない
よって、デフォルト設定で次へ

読み進めていくとVPC作成されていることが確認できる
スクリーンショット 2019-11-01 22.14.06.png

設定の最後にpemファイルをダウンロードする項目がある
これはsshで接続する際に、身元確認証として必要になるので無くさないように
持っておく必要がある

EC2インスタンス作成

次にEC2を作成する
同様にAWSコンソール画面のメニューからEC2の項目を選択する
下記のインスタンスの作成をクリックすると設定画面に移る
スクリーンショット 2019-11-01 22.14.55.png

AMIを選ぶ
AMIはAWS専用OSのことで、インスタンスで起動する際のOSを選択する
今回は、無料のものを使うので、下記を選択
スクリーンショット 2019-11-01 22.15.38.png

次にEC2のスペックを決める
こちらも大規模システムを扱うわけでないので、無料枠でスクリーンショット 2019-11-01 22.15.52.png

インスタンスの詳細設定では、先ほど作成したVPCとサブネットを選択する
こうすることで指定したVPCとそのサブネット内にEC2サーバーが立ち上がる
自動IP割当を行わず、あとで固定IP(EIP)を割り当てる
自動IPの場合、EC2の再起動によってエンドポイント(IP)が変更されてしまうので一意性を保持するためにEPIを使用する
※EIPは有料(月500円程だった気がする

スクリーンショット 2019-11-01 22.20.49.png

次にストレージのスペックを選ぶ
スクリーンショット 2019-11-01 22.21.39.png

最後にセキュリティグループの設定だが、設定内容をセキュリティ上公開したくないため、画像はない
セキュリティグループは、EC2単位に設定できるファイアウォールみたいなもので、今回は自宅からのグローバルIPのみ通過するように設定した
また、テスト動作ではsshのみのアクセスとなるので、ポート番号は22番を解放する

以上の設定でEC2インスタンスが起動準備する(pending)
スクリーンショット 2019-11-01 22.24.21.png

EC2作成したEC2インスタンスは自動IP割当を行なっていないため、グローバルIPがない状態で作成される模様
スクリーンショット 2019-11-01 22.25.43.png

そこでEIPを作成し、割り当てるように設定する
EC2管理画面のメニューからElastic IPを選択して、新しいアドレスの割り当てを行う
スクリーンショット 2019-11-01 22.26.01.png

下記の設定では、AmazonプールからIPを割り当てる。
詳細は不明だが、AWSがDHCPサーバーを保有していて、可変/固定IPの割り当てを行なっている模様
固定IP(EIP)の設定を行うことでDHCPのIPプールから固定IPを割り当てる
スクリーンショット 2019-11-01 22.27.17.png

以上、EIPが割り当てられるので作成したEC2に関連付ける
スクリーンショット 2019-11-01 22.28.34.png

スクリーンショット 2019-11-01 22.30.47.png

以上の動作で、作成したEC2にグローバルIPとエンドポイントが表示される
スクリーンショット 2019-11-01 22.32.06.png

ssh接続

Macのターミナル画面よりsshで下記のコマンド入力する

ssh -i [VPCでダウンんロードしたpemファイル].pem ec2-user@ec2-54-65-248-190.ap-northeast-1.compute.amazonaws.com

なにやらエラーが・・・
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '[VPCでダウンんロードしたpemファイル].pem' are too open.

下記のURLで原因がわかった。
https://umebius.com/dev/permissions-0644-for-xxx-key-are-too-open-%E6%A8%A9%E9%99%90%E3%82%92%E3%81%A9%E3%81%86%E3%81%99%E3%82%8C%E3%81%B0%E3%81%84%E3%81%84%EF%BC%9F/

pemファイルは秘密鍵同様、他のユーザーからの書き込み権限があると使用できないみたい
下記のように権限を変更する
chmod 600 [VPCでダウンんロードしたpemファイル].pem

もう一度、sshで接続してみる
ssh -i [VPCでダウンんロードしたpemファイル].pem ec2-user@ec2-54-65-248-190.ap-northeast-1.compute.amazonaws.com

————————————————————
| _| )
| ( / Amazon Linux 2 AMI
_
_|_
|___|
————————————————————

接続できた!!

なかなか忘れている部分が多く時間がかかったが、なんとか接続できた
次回は、AWSのEC2を使って何かしようと思う
以上

1
1
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
1
1