OpsWorksなどのデプロイサービスを使うと高速に環境構築ができるのだろうけども、まずはEC2のインスタンスを使ってみるという目的を達成するために、指示通りに進めていけば取り急ぎの環境を構築できる手順メモを作成してみた。
前編は、AWS EC2インスンタンスの作成〜ログインまで。
目次
前提条件
・AWSマネジメントコンソールにログインできる環境である
・EC2インスタンスのOSはAmazonLinuxの最新版
・インスタンスタイプは一番安いt2.micro
・開発環境の用途はWebサーバ(Port 80)を想定
・sshログインに使用する作業端末はMacを使用
EC2インスタンスの作成
AWSマネジメントコンソールのサービス一覧からEC2を選択。
画面中部のインスタンスの作成ボタンを押下。
リージョンは、特にこだわりがなければオレゴンでOK。
Amazon マシンイメージ (AMI)
インスタンスタイプの選択
インスタンスタイプはt2.microを選択。詳細な設定を進めていくので、「次の手順:インスタンスの詳細と設定」を押下。
インスタンスの詳細の設定
VPCやサブネット等の指定がある場合はここで指定するが、今回は初期値のまま。
「次の手順:ストレージの追加」を押下。
ストレージの追加
EC2インスタンスは作成時にストレージも一緒に作成する必要がある。今回は、システムディスクとなるルートボリュームのみ作成する。
初期状態の8GBとなっているが、予算の許す限りサイズは変更できるのでお好みでどうぞ。
その他の項目はそのまま。「次の手順:インスタンスのタグ付け」を押下。
インスタンスのタグ付け
ここは好みで問題ない。
キーと値で、サーバの属性を指定できる。将来インスタンス数が増えたとき、タグで整理しておくと何のインスタンスか判断しやすいかも。
今回は、名前だけわかればよいので、キーが「Name」、値が「Test-Server」のタグを1つ作成した。
「次の手順:セキュリティグループの設定」を押下。
セキュリティグループの設定
インスタンスのアクセス制御を行うファイアウォールのルールのようなもの。ここは結構重要かも。
セキュリティグループ名と説明は後から分かりやすいもので。
初期のルールとして、インターネットからのSSH接続の許可が表示されている。
インターネットからのHTTPアクセスも許可するために、「ルールの追加」を押下し、新しく追加されたルールのタイプをHTTPに選択する。
このままでも問題は無いが、よりセキュリティを高めたい場合は、送信元を「任意の場所」→「マイIP」に変更することで、現在自分がインターネットに接続しているグローバルIPでのみインスタンスにアクセス可能になる。ただし、グローバルIPを固定していないプロバイダの場合、グローバルIPが変わるとアクセスできなくなるので注意。
ルールの設定が環境したら「確認と作成」を押下。
インスタンス作成の確認
セキュリティグループの警告が出ているが、後ほどSSHの鍵を設定するのでこのまま進めていく。
今まで設定した内容の一覧が表示されるので、問題がなければ「作成」を押下。
キーペアの作成
SSHでログインする際の秘密鍵を作成する。
セキュリティグループでSSHへのアクセス許可を付与したが、ここで秘密鍵を設定しておけば最低限のセキュリティを確保できるので、必ず設定すること。
今回は新しく鍵を作るので、「新しいキーペアの作成」を選択。キーペア名は、日付を入れておくと管理が楽かも。
「キーペアのダウンロード」を押下するとファイルのダウンロードが行われる。ダウンロードは一度限りなので注意。
キーペアファイルのダウンロードが完了したら「インスタンスの作成」を押下。いよいよインスタンスが作成される。
インスタンスの状態確認
インスタンス名をクリックすると、作成したインスタンスがコンソールへ表示される。
初期化処理が走るので、インスタンスの状態が「running」、ステータスチェックが「2/2のチェックに合格」となるまでしばらく待機。
SSHログイン
初期化が完了したら、SSHでログインしてみる。
今回の作業端末はMacなので、OS標準のターミナルを使用する。WIndowsの場合はTeratermやPuttyなどのソフトを使えば良いと思う。
ログインの前に、インスタンス作成時にダウンロードしたキーペアファイルの準備をする。ターミナルでキーペアファイルを保存している場所に移動しファイルの権限を変更しておく。(ファイルをダウンロードしたときにログインしていた一般ユーザでコマンド実行)
$ ls TestKey-20151124.pem.txt ファイルの拡張子を変更 $ mv TestKey-20151124.pem.txt TestKey-20151124.pem ファイルの権限を400に変更 $ chmod 400 TestKey-20151124.pem
次に、AWSマネジメントコンソールのインスタンス画面から、ログイン対象インスタンスのパブリックDNSを確認する。
いよいよsshログイン。
秘密鍵とユーザ名、パブリックDNSを指定してsshでログインする。(初期ユーザ名はec2-user)
$ ssh -i TestKey-20151124.pem ec2-user@パブリックDNS 〜略〜 Are you sure you want to continue connecting (yes/no)? yes ←yesを入力してEnter 〜略〜 __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| https://aws.amazon.com/amazon-linux-ami/2015.09-release-notes/ 3 package(s) needed for security, out of 8 available Run "sudo yum update" to apply all updates.
EC2のロゴが出てくればsshログインは無事完了。今回はここまで。
15分あればできる!AWS EC2インスタンス作成手順 (後編)