はじめに
AWSのステキな無料利用枠を使って、実際にAWSを触ってみるシリーズ!
今回は、いよいよEC2を利用して仮想マシンを作成します。
まだAWSのアカウントを作っていない方は、こちらの記事をご参考にアカウントを作成してください。
仮想マシンを作ると、インフラエンジニアっぽくなってきてワクワクしますね。
ただ、この作業の内容を理解するためには、HW、OS、ネットワークの知識も必要となります。
適宜補足しながら説明しますが、分からない場合はとりあえず書いてある通り設定しましょう!
途中では分からないことも、最後までやり切ることで理解できる場合があります。
まずは手を動かして、仮想マシン作成を楽しみましょう♪
EC2(Elastic Compute Cloud)とは
EC2とはAWS内で使用できるスケーラブルなコンピューティングキャパシティーを提供するサービスです。
簡単にいうと、スペックを柔軟に変えられる仮想マシン(VM)を作れます。
そして、AWSでは仮想マシンのことをインスタンスと呼びます。
今回は、図のように作成済みのVPC(パブリックサブネット)に1つのEC2のインスタンスを作成します。
まだVPCを作成していない方は、こちらの記事をご参考にして作成してください。
EC2の作成方法
リージョンの選択
IAMユーザーでAWS管理画面にログインします。
そして、ログインユーザ名の横に表示されている「リージョン」を「アジアパシフィック(東京) ap-northeast-1」に変更します。
EC2のインスタンスを作成
検索バーに「EC2」と入力し、検索結果の中にある[EC2]をクリックします。
EC2設定画面が表示されたら、サイドメニューから[インスタンス] >[インスタンス]をクリックします。
[インスタンスの起動]ボタンをクリックします。
AMI の選択
ここでは、Amazon マシンイメージ (AMI)を選択します。
AMIとは、AWSが提供するインスタンスの雛形となります。
今回は、無料利用枠の対象になっている「Amazon Linux 2 AMI (HVM) – Kernel 5.10, SSD Volume Type」を選択します。
インスタンスタイプの選択
続いて、インスタンスの種類を選択します。
AMIと同様に、無料利用枠の対象になっている「t2.micro」を選択します。
インスタンスの設定
インスタンスを作成のための設定値を入力します。
基本的には、費用が最小限になるように設定します。
インスタンス数 | 1 | 作成するインスタンスの数を指定 |
購入のオプション | [×]スポットインスタンスのリクエスト | AWSの余剰リソースを利用することで 安い料金でEC2を利用する設定 |
ネットワーク | tobinezumi-infra-vpc | EC2を配置するVPCを指定 |
サブネット | tobinezumi-public-subnet-a1 | EC2を配置するサブネットを指定 (今回は、パブリックサブネットを指定) |
自動割り当てパブリック IP | 有効 | インターネットからアクセスするための グローバルIPを使用する設定 |
ホスト名のタイプ | サブネット設定を使用する(IP名) | EC2で構築するインスタンスの ホスト名の設定方法を指定 |
DNS Hostname | [✔︎]Enable IP name IPv4 (A record) DNS requests [✔︎]リソースベースの IPv4 (A レコード) DNS リクエストを有効化 [×]リソースベースの IPv6 (AAAA レコード) DNS リクエストを有効化 | インスタンスへアクセスする時の 名前解決方法を設定 |
配置グループ | [×]インスタンスをプレイスメント グループに追加します。 | 複数インスタンスをグルーピングして 管理するための設定 |
キャパシティーの予約 | なし | EC2を利用するためのリソースを 事前予約で確保するための設定 |
ドメイン結合ディレクトリ | ディレクトリなし | ユーザや権限を一元管理するための設定 |
IAM ロール | なし | 他AWSサービスと連携するときの 権限を設定 |
シャットダウン動作 | 停止 | インスタンスにシャットダウンを 指示した時の動作を設定 |
停止 – 休止動作 | [×]停止動作に休止動作を追加する | インスタンスのアクションに休止を 追加する設定 |
終了保護の有効化 | [✔︎]誤った終了を防止します | インスタンスの削除前の確認を 強化する設定 |
モニタリング | [×]CloudWatch 詳細モニタリングを 有効化 | リソース監視を強化する設定 |
テナンシー | 共有 – 共有ハードウェアインスタンスの実行 | インスタンスを作成するHWを 共有 or 専有で選択する設定 |
Elastic Inference | [×]Elastic Inference アクセラレーターを追加 | 機械学習用のモジュールを 利用する設定 |
クレジット仕様 | [×]無制限 | バーストモード利用の制限を 解除する設定 |
ファイルシステム | (指定なし) | インスタンスで使用するファイル システムを設定 |
ネットワーク設定は、プライマリーIPのみを変更する。
デバイス | eth0 | 変更不可 |
ネットワーク インターフェイス | 新しいネットワーク インターフェース | 変更不可 |
サブネット | tobinezumi-public-subnet-a1 | 変更不可 |
プライマリ IP | 192.168.11.101 | インスタンスで利用する IPアドレスを設定 |
セカンダリ IP | (なし) | サブIPアドレスを 使用するときは設定 |
IPv6 IP | (なし) | IPv6のIPアドレスを 使用するときは設定 |
「高度な詳細」の設定内容は変更なしとする。
ストレージの追加
無料枠の範囲で設定を変更します。
今回は、サイズ(GiB)を5→30に変更しました。
タグの追加
インスタンスに管理用のタグを付加します。
今回は、「Name:web-srv」を設定します。
セキュリティグループの設定
インスタンスへのアクセスを制限するためにセキュリティグループを作成し、そこに作成したインスタンスを参加させます。
セキュリティグループの 割り当て | [✔︎]新しいセキュリティグループを作成する [ ]既存のセキュリティグループを選択する | |
セキュリティグループ名 | web-secgp | |
説明 | Access to WEB Server | |
タイプ | SSH | |
プロトコル | TCP | |
ポート範囲 | 22 | |
ソース | [任意の場所] 0.0.0.0/0, ::/0 | |
説明 | (省略) |
確認
設定内容を確認して、問題がなければ[起動]ボタンをクリックします。
キーペアの作成/インスタンスの作成
今回作成したインスタンスへ、ローカルPCからアクセスするためのキーペアファイルを作成します。
「キーペア名」を入力して、[キーペアのダウンダウンロード]ボタンをクリックします。
ローカルPCに「pemファイル」がダウンロードされたことを確認します。
[インスタンスの作成]ボタンをクリックします。
インスタンスの作成が始まりましたので、[インスタンスを表示]ボタンをクリックしてインスタンス一覧が表示されている画面に遷移します。
インスタンスの作成結果を確認
一覧に作成したインスタンスが表示されていればOKです。
もし、表示されていない、ステータス等が「処理中」のようになっている場合は[リロード]ボタンをクリックします。
インスタンス(VM)へのアクセス
アクセス方法の確認
インスタンスへのアクセス方法は、AWS管理画面から確認できます。
まず、アクセス方法の確認をしたいインスタンスを選択し、[接続]ボタンをクリックします。
アクセス方法はいくつかありますが、今回はローカルPCからコンソール(PowerShellやターミナル)を利用してアクセスする方法を紹介します。
[SSHクライアント]タブをクリックし、「キーペアファイルの権限設定」と「インスタンスへのアクセス」のコマンドを確認します。
インスタンスへアクセス
Windowsの場合はPowerShell、MacOSの場合はターミナルを起動します。
そして、キーペアファイルの格納場所へ移動します。
「キーペアファイルの権限設定」コマンドを実行して、権限が変更されたことを確認します。
続いて、「インスタンスへのアクセス」コマンドを実行して、AWSへ接続します。
(補足)サービスのアップデート
AWSへアクセスすると、サービスのアップデートを勧めるメッセージが表示されます。
こちらのメッセージ記載された、アップデート用コマンドを実行します。
アップデートが完了できたことを確認します。
インスタンスからのログアウト
インスタンスからログアウトするには「exit」を実行します。
最後に
今回は、AWS上にインスタンス(仮想マシン)を作成しました。
ここまでくると、インフラエンジニアっぽくなってきましたね♪
ただ、仮想マシンを作って、コンソールで接続してもまだ味気ないと思います。
この仮想マシンを少しずつ育てながら、AWSでできることを試していきましょう!
コメント