ChormebookでAWS EC2に接続（Linux利用）

# 背景

今まではWin/MacでAWS EC2に接続するパターンを試していましたが、
手元にChromebookがあり、Linuxが起動出来るなら接続できるでしょ、と
考えれば普通に出来ることをやってみました。

忘れたときの自分の参照用が主です。

#[Chromebook](https://www.google.co.jp/intl/ja_jp/chromebook/)

Googleが開発しているノートPC/タブレット用のOSです。
最近、TV-CMが活発です。
元々は、リモートワークを見越して[Amazon Workspaces](https://aws.amazon.com/jp/workspaces/)のクライアントアプリに、
ChromeOSが含まれているので検証をしようと思って購入しました。
[Workspaces Client](https://clients.amazonworkspaces.com/)はこちらから。

## [ASUS C204MA](https://www.asus.com/jp/Laptops/ASUS-Chromebook-C204MA/)のスペック

・11.6インチ タッチパネル
・Celeron メモリ 4GB
・ストレージ eMMC 32GB
・バージョン: 80.0.3987.102（Official Build） （64 ビット）

中古品だったので、36,800円でした。
新品参考価格はAmazonで[42,600円](https://www.amazon.co.jp/dp/B07X9JZ8WJ)です。

# [AWS](https://aws.amazon.com/jp/)

## [Amazon EC2](https://aws.amazon.com/jp/ec2/)

とりあえず検証用に起動しました。
セキュリティグループもSSHで特定のグローバルからアクセスできるように設定済みです。

・[Amazon Linux2](https://aws.amazon.com/jp/amazon-linux-2/)
・t2.micro

![Screenshot 2020-03-02 at 00.45.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/5420d270-b0c8-bba0-fb60-d79ae1c56985.png)

----

# [ChromebookでLinux（β版）](https://support.google.com/chromebook/answer/9145439?hl=ja)

## Linuxの起動

設定 > Linux（ベータ版） で有効化します。

![Screenshot 2020-03-02 at 00.51.20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/75149889-4829-cd1a-140d-5d6f064935b8.png)

`terminal` で起動します。

![Screenshot 2020-03-02 at 00.50.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/7e35b723-0697-1054-7519-57c2ba852233.png)

起動すると、DebianのLinuxが起動します。
[Azure Cloud Shell](https://docs.microsoft.com/ja-jp/azure/cloud-shell/overview)やら、[Google Cloud Shell](https://cloud.google.com/shell/docs?hl=ja)といった、
パブリッククラウドサービスで利用できるブラウザターミナルもDebianですよね。
Linuxの柱ということで、登場頻度が高い。

```
midnight480@penguin:~$ cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 9 (stretch)"
NAME="Debian GNU/Linux"
VERSION_ID="9"
VERSION="9 (stretch)"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
midnight480@penguin:~$ 
midnight480@penguin:~$ uname -a
Linux penguin 4.19.87-07826-g55ab70aff690 #1 SMP PREEMPT Tue Feb 4 17:29:42 PST 2020 x86_64 GNU/Linux
midnight480@penguin:~$ 
```

## LinuxからChromeOSのディレクトリを共有

LinuxからChromeOSはデフォルトは参照できません。
`Linuxと共有` する必要があります。

```
midnight480@penguin:~$ cd /mnt/chromeos/
midnight480@penguin:/mnt/chromeos$ 
midnight480@penguin:/mnt/chromeos$ pwd
/mnt/chromeos
midnight480@penguin:/mnt/chromeos$ 
midnight480@penguin:/mnt/chromeos$ ls -l
total 0
midnight480@penguin:/mnt/chromeos$ 
```

Linuxと共有したいディレクトリで、 `Linuxと共有` を選択します。

![Screenshot 2020-03-02 at 00.57.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/04209f16-b78e-54c8-b595-e1bd2ebc16ed.png)

今回、EC2の接続に必要な鍵ファイルをダウンロードフォルダにダウンロードしているので、
そちらのディレクトリを共有しました。
`MyFiles`というディレクトリがマウントされ、指定したディレクトリにアクセス可能となります。

```
midnight480@penguin:/mnt/chromeos$ ls -l
total 0
drwxr-xr-x 3 nobody nogroup 60 Mar  2 00:59 MyFiles
midnight480@penguin:/mnt/chromeos$ cd MyFiles/Downloads/
midnight480@penguin:/mnt/chromeos/MyFiles/Downloads$ 
midnight480@penguin:/mnt/chromeos/MyFiles/Downloads$ ls -l
total 8
-rw-r--r-- 1 midnight480 midnight480 1696 Mar  1 23:37 20200301sample.pem
midnight480@penguin:/mnt/chromeos/MyFiles/Downloads$ 
```

鍵ファイルのアクセス権限を直接編集すると、
ChromeOS上で見えなくなるのか実験は別日でやるとして、
安全に自分のホームフォルダにコピーします。

```
midnight480@penguin:/mnt/chromeos/MyFiles/Downloads$ cp 20200301sample.pem ~/
midnight480@penguin:/mnt/chromeos/MyFiles/Downloads$ 
midnight480@penguin:/mnt/chromeos/MyFiles/Downloads$ cd ~
midnight480@penguin:~$ 
midnight480@penguin:~$ ls -l
total 4
-rw-r--r-- 1 midnight480 midnight480 1696 Mar  2 01:05 20200301sample.pem
midnight480@penguin:~$ 
midnight480@penguin:~$ sudo chmod 0400 20200301sample.pem 
midnight480@penguin:~$ 
midnight480@penguin:~$ ls -l
total 4
-r-------- 1 midnight480 midnight480 1696 Mar  2 01:05 20200301sample.pem
midnight480@penguin:~$ 
midnight480@penguin:~$ 
```

権限周りを変更したので、EC2に接続します。
EC2の `接続` 画面でもコマンドを確認可能です。

![Screenshot 2020-03-02 at 01.08.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/182636/0085750f-7a65-ffd3-5f22-819ae6b5cd36.png)

```
midnight480@penguin:~$ ssh -i "20200301sample.pem" ec2-user@ec2-3-112-40-217.ap-northeast-1.compute.amazonaws.com
The authenticity of host 'ec2-3-112-40-217.ap-northeast-1.compute.amazonaws.com (3.112.40.217)' can't be established.
ECDSA key fingerprint is SHA256:C8lUOMNfvapxPE0SXFVQCCqwa9MvX/aqDdf59FC4+3c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ec2-3-112-40-217.ap-northeast-1.compute.amazonaws.com,3.112.40.217' (ECDSA) to the list of known hosts.

       __|  __|_  )
       _|  (     /   Amazon Linux 2 AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-2/
No packages needed for security; 24 packages available
Run "sudo yum update" to apply all updates.
[ec2-user@ip-10-14-97-203 ~]$ 
[ec2-user@ip-10-14-97-203 ~]$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=43 time=7.36 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=43 time=7.40 ms
^C
--- 8.8.8.8 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 7.365/7.382/7.400/0.087 ms
[ec2-user@ip-10-14-97-203 ~]$ 
[ec2-user@ip-10-14-97-203 ~]$ 
```

問題なくEC2に接続できました。
ChromeOSがAndoroidスマートフォン（Google Play Storeアプリを動かす）の延長だけではなく、
Linuxとしても利用可能なので、使い方の幅が広がるかなと思います。