(1)EC2でのサーバの構築に関して
今回は、Linux(基本はCentos7)サーバをAWS上に構築します。ローカルにサーバを持つ必要はなく、インストールも不要。とても便利です。

(2)ネットワーク構成とVPC
・作成するサーバは、Amazon上の閉じられたネットワークに配置されます。
・ネットワーク構成に関して、VPCの理解が必須です。
以下のサイトの内容をよく読みましょう。これで概念がわかってもらえると思います。
-------------
Virtual Private Cloud (VPC) は、AWS アカウント専用の仮想ネットワークです。VPC は、AWS クラウドの他の仮想ネットワークから論理的に切り離されており、AWS のリソース(例えば Amazon EC2 インスタンス)を VPC 内に起動できます。VPC の IP アドレス範囲を指定して、サブネットを追加し、セキュリティグループを関連付けて、ルートテーブルを設定できます。
-------------
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/what-is-amazon-vpc.html

・もう少し詳しく説明します。
以下の画像を見てください。
まず、AWSの中に、ユーザのアカウントに紐づけられたVPCが
作成されます。Regionの中に入っています。
つまり、RegionごとにVPCが作成されます。ですから、北米
で作るサーバと日本で作るサーバは、別のVPC上に作成されます。
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/images/default-vpc-diagram.png
・VPCの中で、サーバを構築します。内部からアクセスするプライベートIPアドレスとグローバルIPアドレスが割り当てられます。
IPアドレスは表示されますので、公開サーバとしてアクセスしたい場合は、そのグローバルIPアドレス(またはFQDN)にアクセスします。
※ifconfigで見ると、eth0しかありません。なので、両者は同一のIFであり、グローバルIPアドレスにNATされています。
・確認のため、VPCを見てみましょう。
https://console.aws.amazon.com/vpc/
・ネットワーク(サブネット)も、適宜作成されます。

(3)サーバの構築
前置きが長くなりましたが、サーバを構築してみましょう。
①EC2のダッシュボードを開く
これが、サーバの構築です。
どこのリージョンかを選択した上で、「サービス」
>「コンピューティング」>「EC2」を選択します。

②インスタンスの作成

aws8
「インスタンスの作成」ボタンをクリック。
検索画面で「Windows」と入れれば、WindowsOSが出てきます。
Amazon Linux 2 AMIで作成しましょう。
ちなみに、Amazon Linux 2はCentOS7をベース、Amazon LinuxはCentOS6をベースにしています。

※AMIは、「Amazon マシンイメージ」のことです。

・無料枠の「Amazon Linux 2 AMI (HVM)」を選択します。
aws9


③インスタンスタイプの選択
T2が検証用には向いているでしょう。CPUやメモリによって
nano、microなどが変わりますが、microのt2.microを選びます。

④その他、詳細な設定を進めます。
まあ、デフォルトのままでもいいでしょう。

(⑤セキュリティグループ)
FWの機能が実現できる。
デフォルトでは、外からの通信はSSH以外は全て拒否、内からの通信は全て許可になっています。SSHを止めてしまうと、このサーバに接続できなくなってしまいます。

⑥キーペアの作成
適当に名を付けて作成します。
また、自分がSSHで接続するには必要なので、このキーをファイルとして保存します。
aws10


⑦「インスタンスの作成」
ボタンを押して、作成します。
エラーが出て止まる。
Your request for accessing resources in this region is being validated, and you will not be able to launch additional resources in this region until the validation is complete. We will notify you by email once your request has been validated. While normally resolved within minutes, please allow up to 4 hours for this process to complete. If the issue still persists, please let us know by writing to aws-verification@amazon.com for further assistance.

→しばらくすると接続できます。

(5)SSHでの接続
AWSのコンソール画面から接続する方法があります。
※おそらく、この場合はコンソールにログインしているので、さきほどのキーは不要です。

TeraTermなどの通常のSSHで接続する方法を紹介します。
①TeraTermの起動
②接続先として、作成したインスタンス(サーバ)のグローバルIPアドレスに接続します。
③ユーザ名はec2-user (※デフォルトで作成されているユーザです)、パスワードを入れる必要はありません。RSA/DSA/ECDSA/ED25519鍵を使うのところで、先ほどの秘密鍵を入れて接続します。
aws11
★デフォルトのec2-userは変更すべきという考えもあるので、そこは必要に応じて変更する
④Linuxのコマンドプロンプトが表示されれば、接続成功です。

(6)AWS上での操作
基本的にCentOS7なので、CentOS7のコマンドが実行できます。
管理者権限になるには
sudo su - (sudo -iの方が簡単 )
※ec2-userはsudo権限が有効になっている。普通に su - でrootになろうとすると、rootのパスワードが求められる。

(7)使わないインスタンスは停止しておこう
インスタンスを選択し、「アクション」>「インスタンスの状態」>「停止」で停止します。無駄な料金が
発生しませんし、このサーバには誰もアクセスできません。

(8)作成したインスタンスの削除(サーバの削除)
インスタンスを選択し、「アクション」>「インスタンスの状態」>「終了」で削除します。すぐには消えないかも。
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/terminating-instances.html#termination-overview

(9)その他:トラブルシュートなど
・トラブル系
EC2のWebコンソールで、文字入力ができない場合、IMEが日本語「かな」になっていないか確認