この記事の目的
アプリをネット上に公開するのに使われたりするAmazon EC2。
その基本となるインスタンスの作成方法についてまとめてみました。
この記事では
無料枠を利用して、インスタンス作成の基本的な流れを解説します。
前提
・AWSアカウントを持っている方を対象に説明していきます。
持っていな方は、以下ページの「Sign up for AWS」を参照してみて下さい。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html
AWSアカウントは、作成してから1年は無料枠として使え、EC2のインスタンスは月750時間は無料で使えます※。
また、サンプルのWebアプリをネット上に公開することを想定にしたインスタンスを作成します。
※無料枠のアカウントでも、インスタンスタイプによっては有料。
参照:AWS Free Tier
インスタンス作成までの11ステップ
1AWSコンソールにログイン
・以下リンクより、AWSコンソールにログインする。
https://console.aws.amazon.com/ec2/
↓
・ナビゲーションバーにあるリージョンを確認する。
リージョン(region)は、直訳すると「地方」や「地域」。文字通り、データセンターがある場所を指しています。今回は利用料金が比較的安い「バージニア北部」を選択しています(無料枠ですが念のため)
アプリを利用する人に近いリージョンの方が処理速度が速かったりするが、あえて利用料金が安いリージョンを選ぶのもありです(趣味で作るサンプルアプリなど、あまりお金をかけたくない場合)
リージョン、インスタンスごとの時間単位の利用料金はこちらのページで確認できます。
2 インスタンスの画面で「インスタンスを起動」をクリック
AWS マネジメントコンソールにアクセスし、ナビゲーションバーに「EC2」と打ち込みましょう。EC2のリンクが表示されるはずです。
EC2のページに移動したら、サイドバーの「インスタンス」をクリックし、インスタンス画面に移動。
移動した後、「インスタンスを起動」ボタンをクリックして下さい。
3 「名前とタグ」の設定
インスタンスを識別するための名前を設定します。今回は試しなので「my-sample-server」としました。任意の名前を記載しましょう。
4 Amazonマシンイメージ(AMI)を選択
インスタンスを起動画面に移るとAMIのタイプは無料枠の「Amazon Linux 2 AMI(HVM), SSD Volume Type」が初めから設定されていると思うので、そのままにしておきましょう。
5 インスタンスタイプを選択
※作成手順だけ知りたいという方は、以下解説は読み飛ばして下さい。
インスタンスタイプとは?
インスタンスにはタイプとサイズがあります。
インスタンスタイプとは、ざっくり言うとサーバーの用途です。
パソコンを買う時、用途によって買うものが変わってくると思います。
プログラミングがしたいから処理が早いものがいい、ネットサーフィンしかしないから安いのでよい、動画編集をするからGPUが優れたものがいい、など。
つまりインスタンスタイプの選択は、どのパソコン(サーバー)が作りたいサービスに適しているかを選ぶ作業ということになるでしょう。
今回選んだ「t2.micro」では、先頭の「t2」という部分がインスタンスタイプを指しています。
インスタンスサイズとは、インスタンスの性能のことです。
「t2」の場合は8種類のサイズがあり、「micro」は下から2番目の性能のものになります。
インスタンスタイプについてより詳しく知りたい方は、以下公式ページを参照してください。
6 秘密鍵を作成してダウンロード
作成したEC2インスタンスへ、自分のパソコンからSSH接続するために必要なものになります。
今回は「ec2key」と入力します。
7 ネットワーク設定
「ネットワーク設定」欄の「ファイアウォール (セキュリティグループ)」を以下赤枠のように設定します。
ファイアウォールとは、外部からの攻撃を防ぐことを目的としたものです。
こちらの画面ではファイルウォールでどんな種類の通信を許可するか、を設定しています。
「からのSSHトラフィックを許可する」で、「自分のIP」に設定しましょう。
こうすることで、インスタンスに接続して設定を変更できるのが、自分のIP(自分のパソコン)からのみになります。
画面の注意書き「送信元が 0.0.0.0/0 のルールを指定すると〜」にも書かれていますが、SSHの欄が「0.0.0.0/0」のままだと、全てのパソコンからアクセスすることが許可されてしまうため、セキュリティ的に危険な状態になります。
また、今回はサンプルアプリをネット上に公開するすることを想定したインスタンスを作成しているため、
「インターネットからの HTTPs トラフィックを許可する」「インターネットからの HTTP トラフィックを許可する」の2つもチェックしています。
8 ストレージの設定
9 インスタンスの詳細の決定
「高度な詳細」欄のうち、「終了保護」を「有効化」にしときましょう。
この設定をすることで、誤ってインスタンスを終了(削除)してしまうことを防ぐことができます。
他は初期設定のままで良いでしょう。
10 インスタンスを起動
成功すると以下のような画面になります。
「すべてのインスタンスを表示」ボタンをクリックしましょう。
11インスタンス画面でステータスをチェック
インスタンス画面に戻り、「インスタンスの状態」が「実行中」、「ステータスチェック」が「合格しました」となっていることを確認できれば、正常にインスタンスが作成されていることになります。
まとめ
以上、無料枠でサンプルアプリを想定したインスタンス作成の流れを解説しました。
作成するアプリによって、最適な設定は変わってきます。
この記事も含め、ネット上にはたくさんのAWSの情報が存在しますが、最終的には公式サイトを確認するようにしましょう。
AWSは無料枠もありますが、設定を誤ると意図せず料金が発生したりするので、注意が必要です。
参考文献
・チュートリアル: Amazon EC2 Linux インスタンスの開始方法
・動かして学ぶ!Python Django開発入門 第2版 - 翔泳社
・図解即戦力 Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書