AWS(EC2)でのサーバ構築
AWSでのEC2サーバ構築は非常に簡単にできます。
スペックは高くないですが、1年間の無料枠もあるのでLinuxの操作に慣れたいという方などは勉強がてら触ってみてはいかがでしょうか。
Linuxの操作をするためにはSSH接続をする必要がありますが、AWSでは通常SSH接続をするためにはキーペア(鍵)による鍵認証が必要になります。
ここではAWSの簡単構築と、キーペア(鍵)を使ったSSH接続について記載したいと思います。
※今回は、AWSのアカウントを保持している、または、登録したことが前提で、サーバは簡易的な設定(もちろんwebで使う点では問題ありません)で1台のみ設定するものとします。
また、構築するサーバはCentOS6ベースのAmazon Linuxになります。
CentOS7ベースのAmazon Linux2を構築したい場合も今回のSSH接続までであればほとんど同一手順で進めることができるのですが、途中サーバのタイプを選択する手順でAmazon Linux2を選択するようにしてください。
EC2作成・起動
AWSのアカウントにログインしている状態からスタートします。
まず最初にリージョンが目的の場所になっていることを確認してください。
今回は日本国内向けサービスなので、アジアパシフィック(東京)になっていることを確認します。
次に、ヘッダーメニューで「サービス」->「EC2」と進みます。
EC2のメニューページに遷移されますので、サイドメニューの「インスタンス」を選択します。
次に「インスタンスの作成」をクリックします。
すると、「ステップ 1: Amazon マシンイメージ (AMI)」の画面でマシンイメージの選択画面に移ります。
AMI は、インスタンスの作成に必要なソフトウェア構成 (OS、アプリケーションサーバー、アプリケーション) を含むテンプレートです。
と記載があるように、どのような構成のサーバを作成するのかを選択する画面なので、ここでの選択はサーバ構築で大きな影響が出ます。
よくよく注意して選択してください。
先述しました通り、今回はCentOS6ベースで構築したいのでAmazon Linuxを選択します。
名前が長くてわかりづらいですが、「Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type」というものになります。
※CentOS7ベースで構築したい場合は1つ上にあるAmazon Linux2を選択してください。
次にインスタンスタイプの選択になりますが、ここでのタイプはサーバのスペックに関係があります。
以下をご覧いただければ分かると思いますが、それぞれタイプごとにvCPUやメモリの数値が異なってきます。
今回私の方ではt2.smallを選択したいと思います。
無料利用枠で使いたい場合はt2.microを選択してください。
選択したら「確認と作成」を押下します。
すると一気に「ステップ 7: インスタンス作成の確認」に飛びます。
※このあたりある程度詳しい方は、SSHの接続ができるようにセキュリティグループでポートの22を開放しなくても大丈夫なの?
と疑問に思われるかもしれませんが、インスタンス作成と同時に新しいセキュリティグループが作成され、デフォルトでポートの22だけ開放されているのでこのまま進んで問題ありません。
ちなみに、インスタンスタイプの選択画面で、「次の手順: インスタンスの詳細の設定」をクリックすれば
ステップ 3: インスタンスの詳細の設定
ステップ 4: ストレージの追加
ステップ 5: タグの追加
ステップ 6: セキュリティグループの設定
も設定可能ですが、今回は細かい設定は省略するので、ここでは上記の設定をする必要はありません。
ここで「作成」をクリックするとキーペア(鍵)に関するモーダルが出現します。
キーペア名は適当に入力し(今回はaws-keyとしています)、キーペアのダウンロードをクリックしてください。
キーペアをダウンロードすると「インスタンスの作成」がクリックできるようになります。
注意書きの通り、ここでダウンロードしたファイルを失くしてしまうと二度とダウンロードできなくなります。
また、このようなキーファイルは厳重に保管し、絶対に外部に漏れないようにしてください。
インスタンスを作成を押下すれば以下の画面になり、インスタンスが作成されます。
キーペア(鍵)を使ったSSH接続
上記手順によってインスタンスは起動している状態になるので、あとはSSH接続です。
先ほどダウンロードした鍵を~/.sshに移動させ、権限を付与しましょう。
「~/Downloads/aws-key.pem」の箇所はそれぞれの環境によって
cp ~/Downloads/aws-key.pem ~/.ssh/aws-key.pem sudo chmod 700 ~/.ssh/aws-key.pem
また、「サービス」->「EC2」->「インスタンス」と進めば起動させたインスタンスの情報が見れます。
作成したインスタンスを選択すればパブリックDNSが表示されるのでコピーしておきましょう。
あとは以下のSSHコマンドでOKです。
ssh -i ~/.ssh/aws-key.pem ec2-user@ec2-XXX-XXX-XXX-XXX.ap-northeast-1.compute.amazonaws.com
※「aws-key.pem」、「XXX-XXX-XXX-XXX」の箇所は環境によって異なるので、それぞれのキーペア名、パブリックDNSを入力してください。
以下のような画面が出ればSSHでのログインは成功です。
__| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/2018.03-release-notes/ 2 package(s) needed for security, out of 2 available Run "sudo yum update" to apply all updates.
Amazon Web Services パターン別構築・運用ガイド 改訂第2版 (Informatics&IDEA)
- 作者:NRIネットコム株式会社,佐々木 拓郎,林 晋一郎,小西 秀和,佐藤 瞬
- 発売日: 2018/03/23
- メディア: 単行本
Amazon Web Servicesではじめる新米プログラマのためのクラウド超入門 (CodeZine BOOKS)
- 作者:WINGSプロジェクト 阿佐 志保
- 発売日: 2016/06/17
- メディア: 単行本(ソフトカバー)