はじめに
今回はAmazon EC2を起動する際の基本的な設定項目を解説しつつ、実際に起動してみました。
少しでもご参考になれば幸いです。
EC2についての詳細は、公式ドキュメントをご参照ください。
事前確認
※EC2の操作権限をもったユーザー/ロールでAWSコンソールにアクセスします。
①AWSサービス検索窓にEC2と入力し、EC2サービス画面へ移動します。
②サイドメニューバーでダッシュボードを選択します。
③今回はリージョンはアジアパシフィック(東京)を選択しています。
④現在使用中のEC2関連リソースを確認しておきます(後片付け時に参考になります)
※セキュリティグループのみ1となっていますが、デフォルトのものでした。セキュリティグループは課金対象ではないため残しておいても問題ありませんが、取り違いの原因となるため、必要ないものは削除することが推奨されます。
EC2はVPC関連サービスと紐づいているため、同様にVPCサービスのダッシュボードから、事前に「どのリソース」が「どれだけ」存在しているかを把握しておくと、後片付けが楽になります。
また、デフォルトで存在しているものに関しては、名前を[-]から[default]などに変更しておくとわかりやすくなるのでおすすめです。
EC2インスタンスを起動する
①サイドメニューバーでインスタンスを選択します。
②インスタンスを起動を押します
名前を設定する
「名前」を入力します。
AMIを選択する
AMIとは
AMIとはサーバーの設計図(テンプレート)のようなもので、EC2(実際に起動されたサーバー)はAMIから作られます。
AMIの中には以下のような、作りたいサーバーの設定を含めることができます:
・OS(Linux / Windowsなど)
・ミドルウェア(Apache, Nginx, DBなど)
・アプリケーション
・ストレージ設定(EBSなど)
・起動に必要な設定・権限
「Red Hat Enterprise Linux (RHEL)」や、「Windows Server」などの商用OS系を使用したAMIを選択した場合、EC2料金とは別にソフトウェア利用料が発生します。
また、ミドルウェア(DBなど)やアプリケーションが最初から含まれているものも、別途利用料が発生します。
「Amazon マシンイメージ (AMI)」を選択します。
今回はデフォルトのAmazon Linux 2023 kernel-6.1 AMIを使用します。
Amazon Linux 2023 kernel-6.1 AMIは最新のLinuxカーネルを使用したOSで、最小構成(minimal)で提供され、必要なものだけ後から追加する設計になっています。そのため、不要な料金が発生しません。
アーキテクチャを選択する
アーキテクチャとは
アーキテクチャとはCPUの種類(命令セットアーキテクチャ)=CPUが理解できる言語のことで、これが噛み合わないソフトウェアは動かなくなってしまいます。
・64ビット(x86)
→最も一般的(PC・サーバで主流)、ソフトウェアの互換性が非常に高い
・64ビット(Arm)
→スマホ系から発展した省電力CPU、コスパが良いが一部ソフトウェアが非対応
よくある事故として、「すべての依存がarm64でビルド可能でない」場合、
docker build --platform linux/arm64
を使用してもDockerが動かせないといったことが起こります。
「アーキテクチャ」を選択します。
今回はデフォルトの64 ビット (x86)を使用します。
インスタンスタイプを選択する
インスタンスタイプとは
インスタンスタイプとは、「どのくらいの性能を持つ仮想サーバーを使うか」を決めるプリセット(スペックの型) のことです。
上記画像の「インスタンスタイプを比較」を押すとインスタンスタイプの一覧を確認することができます。
インスタンスタイプは、
①vCPU
②アーキテクチャ
③メモリ(GIB)
④ストレージ(GB)
⑤ストレージタイプ
⑥ネットワークパフォーマンス
性能の組み合わせで決まります。
インスタンスタイプによって、時間あたりのEC2利用料金は変わるため、コストとパフォーマンスのバランスを考えながら慎重に選ぶ必要があります。
インスタンスタイプ名が「c」から始まる「c 系(CPU最適化)」で検索すると、「vCPU」の項目の値が大きくなっていることがわかります。
同様に「i / d 系(ストレージ最適化)」のインスタンスタイプは「ストレージ」の項目の値が大きくなっていたりします。
「インスタンスタイプ」を選択します。
今回はデフォルトのt2.microを使用します。
キーペアを作成する
キーペアとは
キーペア(Key Pair)とは、Amazon EC2 にログインするための公開鍵暗号方式の認証情報のことです。
従来の「ID+パスワード」ではなく、「鍵ファイル」を使って安全にサーバーへ接続する仕組みです。
Windowsと違い、Linuxでは後からパスワード取得ができないため、キーペアを作成しないと基本ログイン不可になります(SSH接続できない)
認証の仕組み
- キーペアを作成すると、EC2インスタンス側に「公開鍵」が保存され、自分のPC側に「秘密鍵」が保存されます。
- EC2インスタンスにログインする際は、「秘密鍵」を指定して使用します。EC2が公開鍵と照合し一致すればログインが成功します。
メリット/デメリット
・鍵がないとログイン不可のため、パスワード総当たり攻撃に強い
・再ダウンロード不可のため、秘密鍵を失うとインスタンスにログインできなくなる
現在はAWS Systems Manager Session Manager を使った、キーペアなしでのログインが主流となっているようです。
今回は練習として新しいキーペアの作成を押します
①「キーペア名」を入力します。
②「キーペアのタイプ」はRSAを選択します。
※ED25519は新しい方式で、RSAに比べ[高速・軽量・安全性が高い]といったメリットがありますが、互換性が低く、古い環境(Windowsインスタンスなど)では使えないといったデメリットがあります。
③「プライベートキーファイル形式」は.pemを選択します。
※「.pem」と「.ppk」の違いは鍵の保存形式(フォーマット) で、「.ppk」はWindows(PuTTY)環境で使用する専用の形式のものです。
④キーペアを作成を押します。(秘密鍵がダウンロードされると思います)
ネットワークを設定する
①「ネットワーク」は今回はデフォルトのVPCを使用します。
(「編集」からVPCを指定することも可能です)
②「サブネット」は今回はデフォルトのサブネットを使用します。
(「編集」からサブネットを指定することも可能です)
③「パブリック IP の自動割り当て」はデフォルトのまま有効化にします。
有効化にすることで、インターネットから直接アクセス可能になりますが、その分、別途IP料金が発生します(約 500円/1ヶ月)
④⑤「ファイアウォール (セキュリティグループ)」も今回はデフォルトのまま使用します。
「任意の場所」からのSSHトラフィックを許可する「launch-wizard-1」という新しいセキュリティグループが作成されます。
ストレージを設定する
今回はデフォルト(OS用のディスクなので必須)分のみで設定します。
高度な詳細
「削除保護」や「ユーザーデータ」といった、便利なオプション設定を行うことができますが、今回は割愛させていただきます。
インスタンスを起動する
画面右側にインスタンス設定の概要が表示されるので、問題なければインスタンスを起動を押します。
無事にインスタンスが起動されました。
後片付け(削除する)
放って置くとどんどん課金されてしまうので、今回起動(作成)したものをすべて削除していきます。
EC2のダッシュボードを確認すると、以下のように最初はなかったリソースがいくつか作成されていると思います。
課金対象と、そうでないものとがありますが、不要なものはすべて削除しておくことが推奨されます。
※今回はインターネット(VPC)関連のリソースはすべてデフォルトのものを使用したため、そちら側で削除するものは特にないと思います。
インスタンスの削除
①EC2インスタンスの画面に移動します。
②作成したサーバーにチェックを入れます。
③「インスタンスの状態」タブを開きます。
④インスタンスを終了(削除)を押します。
確認ダイアログが表示されるので、終了(削除)を押します。
しばらく経って、「インスタンスの状態」が終了済みになれば、削除完了です。
※削除してから数分~1時間ほどは画面に表示されます
セキュリティグループの削除
①EC2 > セキュリティグループの画面に移動します。
②作成したセキュリティグループ(launch-wizard-1)にチェックを入れます。
③「アクション」タブを開きます。
④セキュリティグループを削除を押します。
確認ダイアログが表示されるので、削除を押して完了です。
キーペアの削除
①EC2 > キーペアの画面に移動します。
②作成したキーペア(訳あってtest-key2になってます)にチェックを入れます。
③「アクション」タブを開きます。
④削除を押します。
確認ダイアログが表示されるので、
①画面の指示に従って削除を入力します。
②削除を押します。
無事にすべての削除が完了しました
※終了したインスタンスの分(消えるまで数分~1時間ほど)と、デフォルトのセキュリティグループの分だけ1が残っています























