AWS Lightsail 入門1 インスタンス作成

## 本記事の内容
- Lightsailの概要と利用時の注意点を理解する。
- LightsailにLinux（CentOS）のインスタンスを作成し、ブラウザ上のターミナルで接続する。

## 前提条件
- AWSアカウントを作成済み。

## Amazon Lightsailの概要
Lightsail（ライトセイル）はAWSのVPS（Virtual Private Server: 仮想プライベートサーバー）サービス。
AWS上にLinuxやWindowsサーバーを簡単に構築し、シンプルかつ低価格なコストで運用できる。

### Lightsailのメリット
- 簡単  
インスタンス（サーバー）の作成や削除が簡単に行える。
- シンプルかつ低価格  
月額の定額制のため、コストが分かりやすい。  
プランにより異なるが、最安で3.5ドル（約364円・2021/01/11時点）。

### Lightsailのデメリット
- 利用時間に関わらず固定料金。  
インスタンスを停止していても月額料金がかかる。  
利用時間が限られている用途では、EC2（AWSの仮想サーバーを構築できるサービス）の方が安くなる場合もある。
- 設定が簡単な反面、自由度は低い。

### Lightsailの注意点
Lightsailは基本的に定額制だが、別途課金が発生するケースもある。
利用時に注意が必要なケースを紹介する。

#### 未使用の静的IP
LightsailインスタンスのパブリックIP（グローバルIP）は通常、インスタンス停止時に開放され、次回起動時にはアドレスが変わる。
静的IP（アカウントに5つ提供）を使用することでパブリックIPを固定できるが、インスタンスに1時間以上アタッチされていない未使用の静的IPは、0.005ドル/時間課金される。
インスタンス削除時は静的IPが未使用状態で残るため、課金を防ぐためには静的IPも削除する必要がある。

#### スナップショットの保存
ある時点でのインスタンスやディスクをバックアップする機能。
保存容量に応じて月額0.05ドル/GBの課金が発生する。

#### データ転送の無料枠を超えた場合の、外部への送信
Lightsailには無料のデータ転送枠（最安のプランで1TB/月）が含まれている。
無料枠を超えた場合でも受信は無料で、Lightsailインスタンスから外部（インターネットや別のAWSリージョンなど）に対して、パブリックIPを使用して送信した場合に課金対象となる。
価格はリージョンによって異なり、例えば東京は0.14ドル/GBで、バージニア北部の0.09ドル/GBよりも高めに設定されている。

詳細は下記を参照。
[「Amazon Lightsail に関するよくある質問」 > 請求とアカウント管理](https://aws.amazon.com/jp/lightsail/faq/#Billing_and_account_management)

## Lightsailインスタンスの作成手順
### 1. Lightsail管理画面の表示
AWS マネジメントコンソールにサインインし、[サービス] > [コンピューティング]内の[Lightsail]を選択。
<img width="50%" alt="aws-lightsail-01-001.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1010477/89cc3329-14a9-f038-f389-21b7a8fd2fe8.png">

### 2. インスタンスの作成
[インスタンスの作成] を選択。
<img width="80%" alt="aws-lightsail-01-002.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1010477/e4121abb-8235-a23b-bebb-886964c17f33.png">

#### インスタンスロケーションの選択
今回は「東京、ゾーン A (ap-northeast-1a)」に作成する。
地理的に近いリージョンを選択することで、通信の遅延を最小限にする。
変更する場合は[AWS リージョンとアベイラビリティーゾーンの変更]より選択。
<img width="50%" alt="aws-lightsail-01-003.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1010477/1449b6dc-6ece-77e4-4250-af1fbc666366.png">

Lightsailの基本料金はどのリージョンを選択しても変わらないが、データ転送の無料枠を超過した場合の料金は異なることに留意する。

#### インスタンスイメージの選択
OSを選択する。アプリケーションがインストール済みのイメージも選択できるが、OSはLinuxの場合Ubuntu Serverとなる。
今回は[Linux/Unix] > [OS のみ] > [CentOS]を選択する。
<img width="80%" alt="aws-lightsail-01-004.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1010477/27c398b9-38e7-a234-010b-d129bb5a9b83.png">

#### インスタンスプランの選択
サーバーのスペックを選択する。高性能なほど価格も高くなる。
今回は最初の1か月無料の[\$3.5]を選択。
※[\$3.5]はメモリが512MBと少ない。[\$5]はCPU以外の性能が倍になる（メモリ1GB）ので、コストパフォーマンスが高い。
<img width="80%" alt="aws-lightsail-01-005.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1010477/be7ca8b2-6493-0aa7-9ebb-c96679631acd.png">

#### インスタンスを確認
Lightsail リソース名として、今回は「Test-CentOS-1」を入力し、[インスタンスの作成]を選択。
作成後の変更はできないので、用途が決まっている場合は分かりやすい名前を付ける。

※確認画面は表示されずにインスタンスが作成されるので、事前に入力内容を確認しておく。
<img width="50%" alt="aws-lightsail-01-006.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1010477/6034816e-07a5-347e-7437-b41d3cd93da4.png">

インスタンスが作成され、少し待つと「実行中」の状態になる。
<img width="80%" alt="aws-lightsail-01-007.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1010477/e6aaca12-c15b-dd16-3557-ced19e3a51a0.png">

### 3. インスタンスへの接続
インスタンス名の右側にあるターミナルのアイコンを選択。
<img width="50%" alt="aws-lightsail-01-008.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1010477/d94766e4-1597-3441-4290-d964e4e1244c.png">

ブラウザ上でターミナルが起動し、サーバーに接続される。
PCにSSHクライアントを用意しなくても操作が行える。
<img width="80%" alt="aws-lightsail-01-009.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1010477/986539a8-efa0-2da5-17d0-6fabff50f36c.png">

## リソースの確認
インスタンス作成直後の何もインストールしていない状態で、リソースの使用状況を確認した。
※3.5ドルのプランはメモリが512MBと少なく、気になっていたので。

### メモリ使用状況
```bash
$ free -h
              total        used        free      shared  buff/cache   available
Mem:           485M         63M        301M        8.5M        120M        377M
Swap:            0B          0B          0B
```

### ディスク使用状況
```bash
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       20G  886M   20G   5% /
devtmpfs        221M     0  221M   0% /dev
tmpfs           243M     0  243M   0% /dev/shm
tmpfs           243M  8.6M  235M   4% /run
tmpfs           243M     0  243M   0% /sys/fs/cgroup
tmpfs            49M     0   49M   0% /run/user/1000
```

## まとめ
Lightsailのインスタンスは、少ない手順で簡単に作成できる。
しかし、リージョンやOSの選択など、AWSやLinuxの知識も必要になる。
また、基本料金以外の課金が発生するケースもあるため、注意しつつLightsailを活用していきたい。