VPCとEC2インスタンスの作成
AWS でサーバーを構築するためにVPCとEC2インスタンスを作成します。
その他に、サブネット、Internet Gateway、ルートテーブルも併せて作成します。
今回構築するリソースのイメージは以下の図の通り。
EC2(Amazon Elastic Compute Cloud)
仮想サーバーのこと。
EC2インスタンスを作成して、これにミドルウェアをインストールしてWEBサーバーなどのサーバーを構築していきます。
VPC(Virtual Private Cloud)
仮想ネットワークのこと。
EC2などのサーバーインスタンスが属するネットワークで、これがないとサーバー構築は始まりません。
サブネット
言わずもがなVPCの仮想ネットワークを分割したサブネットワーク。
実質ここにEC2インスタンスをぶら提げます。
Internet Gateway
サブネットをインターネットに繋げる役割を持っています。
ルートテーブル
ルーターの役割を果たします。
VPCの作成
AWS マネジメントコンソールのヘッダから「サービス」→「VPC」をクリックします。
「VPC ダッシュボード」画面が表示されます。ヘッダに表示されているリージョン(地域)を"東京"に設定してください。
リージョンは物理的なデータセンター(AZ:Availability Zone)がある地域になります。
リージョンによって料金が変わる他、サーバーを展開する主な国に近い方が物理的通信距離も短くなりサーバー/クライアント間の通信速度を早くすることができます。
リージョンを選択したら、「VPC ウィザードの起動」をクリックします。
「ステップ 1: VPC 設定の選択」画面から「1 個のパブリックサブネットを持つ VPC」を選択し、「選択」をクリックします。
※今回はプライベートサブネットを利用する予定はないため。
「ステップ 2: 1 個のパブリックサブネットを持つ VPC」画面にて「IPv4 CIDR ブロック」、「IPv6 CIDR ブロック」、「VPC 名」、「パブリックサブネットの IPv4 CIDR」、「アベイラビリティーゾーン」、「サブネット名」、「DNS ホスト名を有効化」、「ハードウェアのテナンシー」を設定し、「VPC の作成」をクリックします。
設定項目 | 入力値 |
---|---|
IPv4 CIDR ブロック | 10.0.0.0/16 |
IPv6 CIDR ブロック | IPv6 CIDR ブロックなし |
VPC 名 | 1 Public Subnet VPC |
パブリックサブネットの IPv4 CIDR | 10.0.0.0/24 |
アベイラビリティーゾーン | ap-northeast-1d |
サブネット名 | パブリックサブネット |
DNS ホスト名を有効化 | はい |
ハードウェアのテナンシー | デフォルト |
※CIDR(Classless Inter-Domain Routing) …IPアドレスのネットワーク部とホスト部を決められたブロック単位 で区切る方法。
VPCの作成が完了しました。
VPCの作成と同時にサブネット、Internet Gateway、ルートテーブルも作成される。
EC2インスタンスの作成
AWS マネジメントコンソールのヘッダから「サービス」→「EC2」をクリックします。
「手順 1: Amazon マシンイメージ (AMI)」画面からサーバーOSを選択します。
ここでは無料枠の「Amazon Linux 2 AMI (HVM), SSD Volume Type」を選択します。
「手順 2: インスタンスタイプの選択」画面からインスタンスタイプを選択し、「次の手順: インスタンスの詳細の設定」をクリックします。
ここでは無料枠の「t2.micro」を選択します。
インスタンスタイプによって料金が変わりますので公式サイトで確認しておくとよいでしょう。
「手順 3: インスタンスの詳細の設定」画面で作成するEC2インスタンスの設定を入力し、「次の手順: ストレージの追加」をクリックします。
設定項目 | 入力値 | 補足 |
---|---|---|
インスタンス数 | 1 | |
購入のオプション | 設定しない | |
ネットワーク | 作成したVPCを指定 | |
サブネット | 作成したサブネットを指定 | |
自動割り当てパブリック IP | 有効 | |
配置グループ | 設定しない | ※プレイスメントグループとはEC2インスタンス間の通信を高速化するためのグループ |
キャパシティーの予約 | 設定しない | |
IAM ロール | 設定しない | ※EC2からS3などにアクセスする際に利用 |
シャットダウン動作 | 停止 | |
削除保護の有効化 | 設定しない | |
モニタリング | 設定しない | ※有効にすると無料枠から外れます |
テナンシー | 共有 | ※専用にすると無料利用枠から外れます |
Elastic Inference | 設定しない | ※GPUによる推論の加速ができるサービス |
T2/T3 無制限 | 設定しない |
ネットワークインターフェイス eth0のプライマリIPは"10.0.0.10"を設定します。
※サブネット:10.0.0.0/24
「手順 4: ストレージの追加」画面からEBS(Elastic Block Store)の設定を入力し、「次の手順: タグの追加」をクリックします。
無料枠は30GBまでのEBS 汎用 SSD までなので、30GiBを指定します。
「手順 5: タグの追加」画面から作成するインスタンスに名前をつけます。
キーにNAME、値にWebServerを指定します。
「手順 6: セキュリティグループの設定」画面で新しいセキュリティグループを作成します。
セキュリティグループの設定を入力し「確認と作成」をクリックします。
「セキュリティグループ名」に”SgWebServer”、「説明」に"Security Group for WebServer"を入力します。
適用するルールは以下の通り。
タイプ | TCP | ポート範囲 | ソース | 説明 |
---|---|---|---|---|
SSH | TCP | 22 | マイ IP | AdminIpOnly |
HTTP | TCP | 80 | カスタム 0.0.0.0/0 | GeneralPublic |
作成するEC2インスタンスの内容を「手順 7: インスタンス作成の確認」画面で確認し、「起動」ボタンをクリックします。
SSHで安全にアクセスするためにキーペアを作成します。
SSHツールでEC2インスタンスにアクセスする際に、作成した秘密鍵を使用してSSH接続をします。
"新しいキーペアの作成"を選択し、キーペア名を"WebServerEc2Key"とします。
「キーペアのダウンロード」をクリックします。
キーペアのダウンロードが完了したら、「インスタンスのダウンロード」をクリックします。
ダウンロードが完了したら「インスタンスの作成」をクリックします。
しばらくするとEC2インスタンスの作成が完了します。
「EC2 ダッシュボード」→「インスタンス」をクリックすると作成したEC2インスタンスの詳細情報が確認できます。
EC2インスタンスへのSSHログイン
作成したEC2インスタンスにSSHでログインします。
作成した際にダウンロードした秘密鍵を使用してSSHツールでログインします。
ここではWindows端末でRLogin{:target="blank"}を使用してログインしますので、ダウンロードした秘密鍵をpemをからppkに変換する作業が必要になります。
今回はWinSCP{:target="blank"}に梱包されているPUTTYgenを利用して変換します。
秘密鍵の変換
WinSCPを起動し、「ツール」から「PuTTYgenの実行」をクリックします。
「File」→「Load private key」をクリックします。
ダウンロードしたpemファイルを選択します。
ロードに成功した旨のメッセージが表示されますので「OK」をクリックします。
「Type of key to generate」に"RSA"を選択し「Save private key」をクリックします。
※このとき「Key passphrase」を入力すると、保存する鍵にパスワードをつけることができ、SSHログインの際に問われます。
SSHログイン
RLoginを起動し、「新規」をクリックします。
AWS EC2ダッシュボードの内容を基に接続情報を入力し、「OK」をクリックします。
設定項目 | 入力値 | 補足 |
---|---|---|
エントリー | WebServerEc2 | 任意 |
プロトコル | ssh | |
ホスト名 | EC2 パブリックDNSを指定 | EC2 ダッシュボード参照 |
ログインユーザー | ec2-user | デフォルトユーザー |
SSH認証鍵 | 変換したppkを指定 | |
デフォルト文字セット | UTF-8 |
登録した接続情報を選択し、「OK」をクリックします。
ppkファイルに変換、保存した際に「Key passphrase」を指定した場合は「パスフレーズ」を入力し、「OK」をクリックします。
接続に成功しました。