AWS EC2 EC2 Instance (Amazon Linux AMI)の作成

#はじめに
今回は、AWS EC2を使用して、無料でできる範囲のLinuxサーバーを建ててみようと思います。
無料でできる範囲で実施しようと思いましたが、私の場合AWSアカウントを持って1年以上経過しているため、無理なようです。
ですので、実施したことをメモとして残します。

#今回実施する内容
AWS EC2を使用して、Amazon Linux AMI2を使用したLinuxサーバーを建てます。

#参考
[Tutorial: Getting started with Amazon EC2 Linux instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html?trk=em_a131L000005jw1jQAA&trkCampaign=pac_EC2_docs_GettingStarted_GlobalEM&sc_channel=em&sc_campaign=GLOBAL_PM_AB_ec2_201904_&sc_medium=em_78339&sc_outcome=PaaS_Digital_Marketing&sc_geo=NAMER&sc_country=mult&sc_content=AWS_Webpage&mkt_tok=eyJpIjoiTVdJeFlXRTVNelJsTWpOaCIsInQiOiJKY0tIN1NYckFZeXNobUUyWmpuSjVlMEJuZmV1ZGh2ZkFLK2dQRHljTUd0Qlgrd1ZpV3VaM08zNTE0KzQ3NHlwMGdlYnl5MURlU0tQeFVna2hFdWpvdnBjS3RqTUFPYUNyUVwva0tDME04Vk9rTnhqc1poOG1XdnlJUU1sMTlqdTBsbVh5NjZQNElSNmhNWFdQcjBIKzl3PT0ifQ%3D%3D)
AmazonのEC2 Linuxのインスタンス作成に関する説明です。
これに従いながら実施します。

[「Amazon EC2 インスタンスタイプ」](https://aws.amazon.com/jp/ec2/instance-types/)
インスタンスタイプの説明です。

#用語

#AWS EC2とは
##AWSの説明
AmazonのEC2のページによれば、以下のことが最初に記載されています。

>Amazon Elastic Compute Cloud (Amazon EC2) は、安全でサイズ変更可能なコンピューティング性能をクラウド内で提供するウェブサービスです。ウェブスケールのクラウドコンピューティングを開発者が簡単に利用できるよう設計されています。Amazon EC2 のシンプルなウェブサービスインターフェイスによって、手間をかけず、必要な機能を取得および設定できます。お客様のコンピューティングリソースに対して、高機能なコントロールが提供され、Amazon の実績あるインフラストラクチャ上で実行できます。

何のことかよくわからないですが、仮想サーバーなのかなと思います。

##AWS EC2の料金
料金については、AWSのページに説明がありますが、なかなかわかりづらいですね。色々とネットに情報がありますし、それでもわからない。
で、*オンデマンド*の時のAWS EC2の料金は、ざっと以下のようなものかと思います。

- Instance起動時間
- DLデータ転送量

Elastic IPアドレスを使うなら、

- Elastic IPアドレス使用時間（Instance未起動時のみ）

Instance起動時間は、初期は１分間の課金がかかった後、その後、時間、もしくは秒単位でかかります。
DLデータ転送料金は、*t2.micro*で*0.0136USD/時間*くらいです。リージョンが東京の場合です。
DLデータ転送量は、1GBまでは無料で、それ以降9.999TBまでは0.114 USD/月かかります。さらにそれ以降はもう少し安くなりますが、設定はされています。

Elastic IPアドレスは、IPアドレスを固定するためのもので、これを使用しないとInstanceを停止でIPアドレスは解放され、開始すると別のIPアドレスに変わります。
0.005USD/時間です。

なかなかわかりづらい料金体系です。
    Instanceを一日起動：0.0136USD×24＝0.3264USD
    1か月(31日)：0.3264USD×31＝10.1184USD
データ転送量はどれだけ使うかに依存するため難しいですね。
Elastic IPアドレスは、Instance停止時にかかるため、上記のように起動しっぱなしであればかからない。
起動中のコストが0.0136USDで、停止中が0.005USDドルなため、停止できるのであれば停止しておいたほうが安いのは間違いありません。

#AWS EC2の概要

#AWS EC2 Instanceの作成
それでは、[Tutorial: Getting started with Amazon EC2 Linux instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EC2_GetStarted.html?trk=em_a131L000005jw1jQAA&trkCampaign=pac_EC2_docs_GettingStarted_GlobalEM&sc_channel=em&sc_campaign=GLOBAL_PM_AB_ec2_201904_&sc_medium=em_78339&sc_outcome=PaaS_Digital_Marketing&sc_geo=NAMER&sc_country=mult&sc_content=AWS_Webpage&mkt_tok=eyJpIjoiTVdJeFlXRTVNelJsTWpOaCIsInQiOiJKY0tIN1NYckFZeXNobUUyWmpuSjVlMEJuZmV1ZGh2ZkFLK2dQRHljTUd0Qlgrd1ZpV3VaM08zNTE0KzQ3NHlwMGdlYnl5MURlU0tQeFVna2hFdWpvdnBjS3RqTUFPYUNyUVwva0tDME04Vk9rTnhqc1poOG1XdnlJUU1sMTlqdTBsbVh5NjZQNElSNmhNWFdQcjBIKzl3PT0ifQ%3D%3D)に従って、順にInstanceの作成を行います。

##1. AWS EC2画面へ
まずは、AWSへログインします。それからサービスでEC2を選びます。
ここまでは基本なので、説明しません。
EC2の画面上で、左のメニューの「インスタンス」を押下すると以下のような画面になるため、ここで、「Instanceの作成」ボタンを押します。
![Instanceの作成.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405480/0c685112-716f-e6a6-0745-539d8f35764a.jpeg)

##2. Amazon AMIの選択
続いてAmazon AMI（Amazon Machine Image）の選択です。
40個くらいのAMIが用意されているようです。
要するに、どういうOSを選択するかということだと思いますが、今回は無料で実施したいため、左側の「無料利用枠のみ」を選択すると、18個に絞られました。
「Amazon Linux AMI2」、「Amazon Linux AMI」、「Microsoft Windows Server 2019 Base」、「Red Hat」など色々あるようですが、今回は、「Amazon Linux AMI2」を使用します。
どれがいいかは用途によるのでしょうが、「Amazon Linux AMI」については、サポートが2020/12/31でいったん切れるようですので、「Amazon Linux AMI」を使おうと思うならば、「Amazon Linux AMI2」にしておいたほうが無難かと思います。
CPUは、64ビット(X86)を使用します。Armもあるようですが、どうなのかよくわかりません。

##3. インスタンスタイプの選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405480/73b66f35-e5f9-0e67-1b7c-d8c98eeaeece.png)

無料で利用できるのは、タイプが「t2.micro」なのでこれを選びます。
タイプをみてよくわからなかったので、少しググってみて理解できたことを示します。

「t2.micro」は、
　　　タイプ：t2
　　　サイズ：micro
であり、タイプの「t」で分類を示し、「2」は2世代目ということ。
[「Amazon EC2 インスタンスタイプ」](https://aws.amazon.com/jp/ec2/instance-types/)によれば、タイプは、色々あるようです。

インスタンスのグループは、大きく、「汎用」、「コンピュータ最適化」、「メモリ最適化」、「高速コンピューティング」、「ストレージ最適化」にわかれます。

さて色々説明は書いてはあるのですが、この時点ですでにどれ選んだらいいのかわからなくなりました。

|グループ|説明|
|:--|:--|
|汎用|CPU、メモリなどバランスがとれており、汎用的に使えるもので、特にないならこれを選ぶのがいいかと思います。|
|コンピュータ最適化|CPU性能が高いということですね。処理が多いのに適用するんですね。|
|メモリ最適化|メモリが最適化ということですが、よくわかりませんでした。|
|高速コンピューティング|コプロセッサが別にあるんですね。GPUとか別途追加されるんですね。まだに用途によって違うんですね。|
|ストレージ最適化|NVMeSSDとかHDDとかあるようです。|

まずグループを選ぶのでしょうか？わからないと汎用になりそうですね。
これはなかなか選ぶのが難しそうです。企業で選ぶにしても、用途を明確にしないといけないですが、まずどれがどれってのもわからないし、そういわれても全部入りでと思ってしまいます。
となると無難な汎用になるのかなとは思いました。

分類が決まったらタイプを選んで、そのあとサイズを選ぶのかなと思います。

で選ぶと、次にキーペアの選択がでます。
初めての場合は新しいキーペアの作成として、ーを生成します。
このキーは今後Instanceへアクセスする場合に使用するため、非常に大事なものですので、保存して保管する必要があります。

![キーペア.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/405480/926d27b6-24e2-ba4a-4443-8e776d84abab.jpeg)

これで選択すると、もうあとは初期化して、Instanceが生成されます。
思った以上に簡単でした。

あとは、Instanceを開始して、SSH接続すればいいだけかなと思います。
私の場合だと、Tera Termで接続します。
IPアドレスは、Instance開始すると表示されるため、そこへ接続します。
初期値は、ユーザー名は、「ec2user」で、パスワードはなしです。
キーの設定が必要になるため、上記でDLしたキーを設定すればよいです。

#おわりに
とりあえずInstanceの作成はしてみましたが、この後料金を確認したところ、0.2USDくらいの課金がかかっていました。
続けようかどうしようか考えましたが、特に用途がないのでいったん中止することにしました。
また、必要になったら考えます。