[初心者向け]VPC作成からEC2インスタンス起動までを構成図見ながらやってみる(その2)
はじめに
こんにちは、AWS事業本部のニシヤマです。はいマスキュラー。
前回、何もない状態のAWSアカウントでネットワーク関連のリソース(VPC、サブネット、インターネットゲートウェイ、ルートテーブル)を作成しました。 今回はそのリソースの中にEC2を立ち上げて、SSH接続まで実施してみたいと思います。
最終的な構成は以下のようになります。
注意点
今回の環境はあくまでも検証用途などのためにEC2を起動してSSH接続するまでの手順をご紹介のため、細かなパラメータの説明は省略します。本番環境でのご利用の際はドキュメントなどの情報を参照し、セキュリティなども考慮した構成の構築をご検討ください。
やってみる
前回作成したVPC環境を作成した状態から開始します。
セキュリティグループを作成する
セキュリティグループとはインスタンスに関連付ける仮想ファイアウォールになります。 インバウンドトラフィックとアウトバウンドトラフィックを許可する形でルール追加していくものになり、拒否するルールは設定できません。こちらもVPC作成の際にデフォルトのセキュリティグループが作成されてますが新規で作成してみます。「EC2」の画面の左メニューでセキュリティグループをクリックし、「セキュリティグループの作成」をクリックします。
「セキュリティグループ名」には区別しやすい名前を入力しますが、こちらは名前タグとは別物になります。「説明」には、セキュリティグループの説明、VPCはセキュリティグループを作成するVPCのIDを指定します。続いて「セキュリティグループのルール」に許可するルールを追加していきます。「ルールの追加」をクリックします。
今回、EC2インスタンスに利用するOSはLinuxを使うのでインバウンドタブでタイプにはSSH
を選択、ソースにはリストからマイIP
を指定、ルールの説明にはどこから許可しているかわかりやすい文字列を入れておきましょう。アウトバウンドはそのままにします(アウトバウンド向きの通信は全て許可)。
この時、接続を許可するソースにはCIDR表記でのIPアドレスだけではなく、同じVPCやVPC Peeringした先のセキュリティグループIDを指定することもできます。
今の構成は以下の状態です。
キーペアを作成する
EC2を起動する前にサーバへログインする為のキーペアを作成します。OSがLinuxの場合はSSH接続時の秘密鍵、OSがWindowsの場合は初期ユーザのパスワード復号化に利用しますので重要なファイルになります。 「EC2」の画面の左メニューでキーペアをクリックし、「キーペアの作成」をクリックします。わかりやすいキーペア名を入力し、作成をクリックすると自動的に鍵がダウンロードされます。(重要ファイルなので無くさないように注意!)
EC2インスタンスを起動する
いよいよEC2インスタンスを起動します。「EC2」の画面の左メニューでインスタンスをクリックし、「インスタンスの作成」をクリックするとAmazon マシンイメージ (AMI)を選択する画面に遷移します。デフォルトで選択されていると思いますが、今回はAmazon Linux 2(64 ビット x86)を利用します。
次にインスタンスタイプを選択しますが、今回は費用を抑える為、無料利用枠対象の「t2.micro」にチェックして「次の手順: インスタンスの詳細の設定」をクリックします。
インスタンスの詳細の設定画面ではネットワークに作成したVPC、サブネットには作成したパブリックサブネット、自動割り当てパブリック IPは有効
を選択して、「次の手順: ストレージの追加」をクリックします。
ストレージの追加画面ではサイズにデフォルトで「8」が入力されていますがディスクサイズを大きくする場合は変更してください。特にサイズを変更しない場合はそのまま「次の手順: タグの追加」をクリックします。
タグの追加では、特に入力しなくても問題ありませんがEC2インスタンス起動後にマネジメントコンソールで探しやすいように、Nameタグのみ設定しておきます。「タグの追加」をクリックし、キーに「Name」、値に区別しやすいEC2インスタンス名を入力し、「次の手順: セキュリティグループの設定」をクリックします。
セキュリティグループの設定画面では、「既存のセキュリティグループを選択する」を選択し、先ほど作成したセキュリティグループを指定し、「確認と作成」をクリックします。
インスタンス作成の確認画面では、設定した項目の最終確認になります。問題なければ「起動」をクリックします。
最後にキーペアを指定します。「既存のキーペアの選択」で、先ほど作成したキーペアを指定して「インスタンスの作成」をクリックします。
「EC2」の画面の左メニューでインスタンスをクリックしインスタンス一覧を表示します。インスタンスの状態が「running」になっていればEC2インスタンスの起動完了です!
今の構成はこのようになっておりAWS側の作業は全て完了です。これでVPC作成からEC2インスタンス起動ができました。
最後に正しく環境構築できたか確認の為、SSHでAmazon Linux 2に接続してみます。
EC2インスタンスにSSHで接続する
マネジメントコンソールに表示されているパブリックIPとキーペア作成時にダウンロードした秘密鍵を利用してSSHクライアントでログインします。Amazon Linux 2の場合、初期ユーザはec2-user
です。
以下のように表示されれば成功です!
__| __|_ ) _| ( / Amazon Linux 2 AMI ___|\___|___| https://aws.amazon.com/amazon-linux-2/ 6 package(s) needed for security, out of 9 available Run "sudo yum update" to apply all updates. [ec2-user@ip-10-0-1-6 ~]$
おわりに
2回に渡ってVPCの作成からEC2インスタンスの起動までをやってみました。 実際にサービスとして利用する場合は要件に合わせて各種パラメータや、どのサービスを使うべきかなど考慮するべき項目が多々ありますが何はともあれサーバを一台立ち上げてみることと、その流れでどのようにリソースが作られているのかイメージしていただけるのではないかと思います。 このブログでAWSを触れる方が少しでも増えていただければ幸いです。