【AWS】Amazon EC2 ~ 入門編 ~

 ■ はじめに

 * AWSを始めるにあたって、Amazon Linuxを構築してみる

 Amazon Linuxについて

 * CentOS 6 ベース
  => CentOS7の systemctl / firewalld などは使用できない
  (systemctlの代わりに「service」「chkconfig」)

目次

【1】関連用語
【2】EC2
 1)料金体系
 2)インスタンスタイプ
【3】構築環境
【4】構築手順
【5】補足

 【1】関連用語

セキュリティを⾼める機能・サービスについて、取り上げる
詳細は、以下の関連記事を参照のこと。

https://dk521123.hatenablog.com/entry/2019/12/08/105415

セキュリティグループ

* ファイアウォール

Amazon VPC

* プライベートネットワーク

AWS IAM

* AWSリソースへのアクセス権限の管理

Amazon Elastic Block Store (EBS)

* EC2 インスタンスで使用するための
 ブロックレベルのストレージボリューム

https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/AmazonEBS.html

 【2】EC2

 1)料金体系

 * インスタンス利用料
 => インスタンスの状態が 起動中(Running) だった時間
 => Running状態だった場合のインスタンスタイプ、AMI、起動リージョンによる
 * データ転送量(OUT)

注意点

* インスタンスが停止中でもEBSの料金はかかるので注意

2)インスタンスタイプ

* 例「m5.large」

インスタンスファミリー

* 先頭の「m」「p」
* 何を最適化しているインスタンスタイプかを表す
 + c : コンピューティングに最適化したインスタンス
 + r : メモリに比重を置くインスタンス

世代

* インスタンスファミリーの後ろの数字
 => 大きいものが最新

インスタンスサイズ

* 「large」「xlarge」「8xlarge」
 => 大きいものほど、スペックが高い

 【3】構築環境

 * OS : Windows7
 * SSHクライアント:Tera Term

 【4】構築手順

http://qiita.com/hiroshik1985/items/f078a6a017d092a541cf

を見ながらやるとよさそう
動画だと、以下をみておくといいかと。

ただし、Windowsユーザは、サーバへの接続は「Tera Termを使った接続」を参考にした方がいいかも。

動画
http://dotinstall.com/lessons/basic_aws/9502

 EC2作成

[1] EC2を選択し、OSの種類を選ぶ(今回は「Amazon Linux」)

※タダで試したい場合は「無料枠のみ表示」にチェックするといい

 Tera Termを使った接続
http://dev.classmethod.jp/cloud/aws/aws-beginner-ec2-ssh/
https://recipe.kc-cloud.jp/archives/5971

が分かりやすい。以下、概要。

[1] 「ホスト」にEC2インスタンスのアドレスを入力し、「OK」ボタン押下
[2] ユーザー名、パスフレーズを入力

※注意:EC2インスタンス(OS)によって、変わる(ここではまった)

Amazon Linuxの場合

 ... 他のOSについては、以下の「■補足:OSごとのユーザー名について」を参照のこと。

 => ユーザー名 : 「ec2-user」、パスフレーズ : 無

[3] 「RSA/DSA/ECDSA/ED25519鍵を使う」にチェックを入れ、[秘密鍵]ボタン押下して
    ダウンロードした .pem を選択
[4] 接続完了
 (とりあえず、Hello World的に) Apacheを設定してみる

http://dotinstall.com/lessons/basic_aws/9506

を見ながらやるといい 
[0] (その前に初めは)システムの更新をし、終わったら再起動する
~~~
sudo yum update
sudo reboot
~~~

[1] 再起動後、Apacheをインストールする
~~~
sudo yum -y install httpd
~~~

[2] Apacheサービス自動起動を設定しておく
~~~
sudo chkconfig httpd on
~~~

[3] 任意のindex.htmlを 「/var/www/html」配下に置く (★何気に、ここではまった★ 詳細は以下の※を参照)
~~~
sudo vim /var/www/html/index.html

[コンテンツ内容例]
<html><body>Hello World!!?</body></html>
~~~

※
これを行わないと、立ち上げてもコンテンツがないっといって
サーバから400系が返ってしまい、healthyにならず、unhealthyのままになる

[4] AWSのページの「パブリックDNS」欄の値(結構長ったらしい)をコピーし、
    それをブラウザのURL欄にペーストし、アクセスする
 => 「Hello World!!?」って表示されたらOK

 【5】補足

 OSごとのユーザー名について

# OS ユーザー名
01 Amaz-on Linux ec2-user
02 CentOS centos
03 Debian admin

 任意の設定

パスワード設定

# ec2-userのパスワード
sudo passwd ec2-user

# rootのパスワード
sudo passwd root

 同一環境を作成したい場合

 * AMI(Amazon マシンイメージ)を使う

動画
http://dotinstall.com/lessons/basic_aws/9507
一般サイト
http://tech.lexues.co.jp/archives/1704

 EC2 に対して ping を通すには...

[1] [セキュリティグループ]-[インバウンド]-[編集] を選択
[2] ルールの追加]を選択
[3] 「すべてのICMP」を選択し、「保存」ボタン押下

http://a1-style.net/amazon-web-service/ping-icmp-setting/

関連記事

Amazon VPC (Virtual Private Cloud)
https://dk521123.hatenablog.com/entry/2019/12/08/105415
Amazon EC2 ~ 基本編 / EC2メタデータ取得 ~
https://dk521123.hatenablog.com/entry/2018/02/03/120200
Amazon EC2AWS CLIでEC2を操作する ~
https://dk521123.hatenablog.com/entry/2017/12/08/225928