AWS Lightsailを使ってみる

以下の記事の転載です。

　　AWS Lightsailを使ってみる｜kinneko｜pixivFANBOX
　　https://kinneko.fanbox.cc/posts/2888730
　　(支援者向け専用記事になっているので、支援者以外は読めません。)

---
　VPSライクなサービスとしてメニューにあるのは知ってたけど、使ったことないねぇ。EC2よりお得だって？ スケールできないんだろ？ とか思っていたら、いつのまにかEC2にアップグレードできるオプションも増えていた。なるほどね。エントリ用にはよさそう。

　ちょっと使ってみるか。管理コンソールからLightsailを選ぶ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/2b0382d1-df1a-1906-65eb-eb51d49d0c47.png)
　初回は、変なロボットのアニメーションがお出迎えしてくれる。しばらく動きを見てしまう。このロボには、2度と会えないのが悲しい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/0fd5fbef-10c2-e89c-46af-3404a100101c.png)
　いきなり構築に行くのもなんなので、ロボットのオススメする"Let's get started"はパスして、「I'll create something later」のリンクを選ぶ。

　Lightsailのトップ画面はこんな感じ。日本語化されていないのかな？
　QuickSightと同じ独自管理画面で、AWSの本筋とは直接リンクしないサービスプロジェクトだというのがわかる。
　なにより、AWSでログイン中のアカウントを表示したりする部分がないので、スクリーンショットを追加工しなくていいのがありがたい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/a966e342-f584-3d6e-c28b-9c60cc674d55.png)
　タブが並んでいて、コンテナ、データベース、ネットワーク、ストレージ、スナップショットがここから管理できるようだ。EC2よりだいぶシンプルでいいね。

　オレンジの「Create instance.」ボタンを押すとインスタンス作成画面に移動する。インスタンス作成のメニューは、ウイザード式ではなく、１つの画面で下に下にとズルズル続いている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/ea16290c-9dd6-6ae8-9f42-6c1dd413a2b3.png)
　Lightsailを起動するリージョンを選ぶ。AZは自動割り振りなのかな？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/91d5901d-cab2-5557-0ccc-de47393a08dd.png)
　インスタンスイメージを選ぶ。まずは、LinuxかWindowsを選ぶ。今回はLinuxで。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/1ac2eb69-90c5-f3b3-e0d0-255a9d263dbe.png)
　面白いのは、ブループリントと名付けられたOS起動環境には、WordpressやNode.jsなどよく使われそうな環境がプリセットされたイメージが提供されているところ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/5915ada4-b08c-e038-46fd-17593813a4cc.png)
　環境は自分で作りたいので「OS Only」のボタンを押す。代表的なディストリビューション環境はだいたいある感じ。いまだにCentOSとかあるのはどうかと思うけど、ニーズはあるんだろう。今回はUbuntu 20.04LTSを選ぶ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/bc13c99f-e4ba-9fb6-fa0d-29f7e46fc35b.png)
　オプションで、起動時に実行するシェルスクリプトを指定できる。また、sshのキーペアを作成できる。自動的にスナップショットバックアップを作成するのを指定することもできる。
　sshアクセスはしないので、キーは作らない。操作は管理コンソールからSSM経由で行いたい。そういうことはできるのかな？そのまま進む。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/bc727e66-9af8-48da-4786-d03af4b46058.png)
　インスタンスのサービスプランを選ぶ。３ヶ月無料の青いバッジが出ているので、ついつい$10のプランを選びそうになるけれど、今回は最小コストでいいので$3.5/月を選ぶ。貧乏性なのでな。
　ちょっとストレージが不足とか、CPUパワーが不足といかいう時には、わずかなコストアップで少しよいプランが選べるのがいい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/0bebfdc7-f9b4-4663-4571-7f0adaa1bc3a.png)
　Lightsailで必要なサイズなのかはわからないけど、最大で$160/月のプランまであるようだ。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/d32775f5-8020-64d4-e0ee-424b850edc3f.png)
　価格表はEC2の1年無料枠のある"t2.micro"や"t4g.micro"などと比べて、コストメリットはそんなになさそう。CPUクレジットが足りないわ！ということにはならなさそうなのはいい。反面、Lightsailは、インスタンスを停止していてもコストは変わらないという止める意味のない価格設定になっている。
　Lightsailの無料枠は、July 8, 2021以降に新規作成されたインスタンスで、750時間/月が３ヶ月無料になるそうだ。Unixインスタンスだけでなく、Windowsインスタンスも無料になるというのは太っ腹だ。

　ここには特に書かれていないのだけど、1TB/月を超えた場合のインバウンドトラフィックには課金されることになっている。トラフィックの発生する中継サーバーなどにはあんまり向かないかもしれない。

　Lightsailインスタンスに名前をつける。名前はアカウント内で一意であればよさそうだ。使える文字数は2-255文字で、アルファベットか数字で始まって終わる必要がある。記号は、ピリオド、ダッシュ、アンダースコアが使える。
　たくさんのインスタンスを管理するために、タグをつけることができる。シンプルなタグを、キーバリュー形式のタグの２種類をつけられる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/74f04981-32a1-8eb3-57ea-5f83b6f00265.png)
　「Create instance」ボタンを押せばインスタンスが作成される。HOMEに画面が戻って、作成したインスタンスが表示されている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/5bdd9d49-e5d7-b195-353d-b9d571063888.png)
　インスタンスを選ぶと、右上にアイコンが２つある。左側は仮想ターミナルを起動するもので、右側はインスタンスの操作メニューになっている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/bf12d883-9521-b1cf-95da-df8aaa949f0d.png)
　操作メニューからは、接続、管理、停止、再起動、削除が選べる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/4093b1d8-9ec9-6740-dd25-8fddbe5a607e.png)
　最初のConnectは、仮想ターミナルアイコンを押すのと同じ。別のウインドウが開いて、仮想ターミナルでシェルが起動する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/a8d2cdfd-5cc7-5673-09cc-022fc38166b4.png)
　管理メニューでは、インスタンスの詳細設定画面に移動する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/2301e7e4-e8d5-d225-b7cb-a6d601ea9a26.png)
　管理メニューはシンプルにまとめられていてわかりやすいが、細かい設定はできないようだ。

　監視系も弱く、CPUの負荷とバースト、ネットワークのインアウト、いくつかのステイタスしか見ることができない。アラートは、閾値を設定してメールやSMSで出せるだけのようだ。メモリ監視などはできないのがつらい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/4c127a49-3932-012a-8531-065718e663f4.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/fc33c55e-58a8-4e62-1dfd-12c9cc77fc25.png)
　今さらだが、画面の右下に言語切り替えの設定を見つけた。老眼にはつらい場所だわ。日本語表示はレイアウトがダサいのでこのまま英語で進める。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1513/37f0bf62-b076-976e-c309-68e60a533f86.png)
　パッケージは、結構いろいろプリインされている。560パッケージは、EC2のインスタンスイメージと同じくらいか。
```
ubuntu@ip-172-26-13-81:~$ dpkg -l | wc
    565    5693   71540
```
　パッケージは、ap-northeast-1.ec2.archive.ubuntu.comから持ってきているので、EC2と同じだ。パッケージは古い状態なので、アップデートするとごっそり入れ替わった。
　アップデート時の画面の動きは、なんだか遅い。sshで使ったほうがいいかもしれない。

　この状態だと起動するたびに割り当てられるIPアドレスが変わってしまう。固定アドレスが必要な場合は、ElasticIPとは違うものだが、固定IPも条件付き無料で割り当てることができる。インスタンスが止まっていたり、インスタンスと紐付けられていない場合は課金される。

　ブラウザで起動する仮想端末からは、コピペが不便で困る。
```
ubuntu@ip-172-26-13-81:~$ cat /proc/cpuinfo processor: 0vendor_id: GenuineIntelcpu family: 6model: 63model name: Intel(R) Xeon(R) CPU E5-2676 v3 @ 2.40GHzstepping: 2microcode: 0x46cpu MHz: 2400.100cache size: 30720 KBphysical id: 0siblings: 1core id: 0cpu cores: 1apicid: 0initial apicid: 0fpu: yesfpu_exception: yescpuid level: 13wp: yesflags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault invpcid_single pti fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveoptbugs: cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs itlb_multihitbogomips: 4800.03clflush size: 64cache_alignment: 64address sizes: 46 bits physical, 48 bits virtualpower management:
```
```
ubuntu@ip-172-26-13-81:~$ free -h              total        used        free      shared  buff/cache   available
Mem:          475Mi       162Mi        47Mi       0.0Ki       264Mi       293Mi
Swap:            0B          0B          0B
```
```
ubuntu@ip-172-26-13-81:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root        20G  1.9G   18G  10% 
/devtmpfs        234M     0  234M   0% 
/devtmpfs           238M     0  238M   0% 
/dev/shmtmpfs            48M  804K   47M   2% 
/runtmpfs           5.0M     0  5.0M   0% 
/run/locktmpfs           238M     0  238M   0% 
/sys/fs/cgroup/dev/loop0       97M   97M     0 100% 
/snap/core/9665/dev/loop1       55M   55M     0 100% 
/snap/core18/1880/dev/loop2       72M   72M     0 100% 
/snap/lxd/16100/dev/loop3       29M   29M     0 100% 
/snap/amazon-ssm-agent/2012tmpfs            48M     0   48M   0% 
/run/user/1000
```
　ufwはインストールされているが、無効になっていた。
```
ubuntu@ip-172-26-13-81:~$ ufw --version
ufw 0.36
Copyright 2008-2015 Canonical Ltd.
ubuntu@ip-172-26-13-81:~$ sudo ufw status
Status: inactive
```
　普通にちょっと不便だけどVPSとしては普通という感じかな。