Chromebookでプログラミングがしたいんだ(AWS Educate)

Chromebookの安価さに惹かれて購入した大学生がCloud9を試してみたら、思ったより快適に使えたという内容です。AWS Educateを活用しています。
#利用するサービス

- AWS
    - Cloud9
    - (IAM)
    - (EC2)
- Github

Githubは学生だと無料でプライベートリポジトリを作成できたので、git操作になれるために活用していきます。必須ではないです。
##0.Githubアカウントの取得
絶対に必要な物ではありませんが、もし貴方が学生ならば先にGithubアカウントを取得するのが良いでしょう。ASW Educationは加盟している大学と非加盟大学で貰えるクレジットの金額が違います。加盟大学だと100＄非加盟大学では75＄です。
ですが、Githubには[Student Developer Pack](https://education.github.com/pack)サービスの一つにAWS Educateで貰えるクレジットを底上げしてくれるものが存在します。
Githubへの登録方法は[GitHub Educationに登録](https://qiita.com/agua-viva/items/1052a21a28cef82bd54e)等を参考するとスムーズに行えると思います。そこまで難解というわけでもないですが。

申請が許可されるまで少し時間がかかるので、一旦休憩。

数分から数時間後「Powerup get! Welcome to the Student Developer Pack.」というメールが来れば成功。
[Student Developer Pack](https://education.github.com/pack/offers)に招待リンクが作成されるので、学生はそれを用いて次のステップへ進みましょう。
<img width="1055" alt="68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f3238323539382f34323861646138332d323133622d363831652d633735632d3766393663366135306363352e706e67.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/282598/4dacd438-59fe-69e4-4c5a-52a3aaf15fda.jpeg">
##1.AWSアカウントの取得
まずこれがないと始まらない。
AWSアカウントを作成します。学生だとGithubからもらったURLから、それ以外の方は[こちらから](https://aws.amazon.com/jp/)登録をしましょう。もうアカウントがあるという方は次のステップへ。
登録方法は公式でサポートしている様です。
[AWS アカウント作成の流れ](https://aws.amazon.com/jp/register-flow/)

学生であれば、登録に成功するとメールでクレジットコードを渡されるのでhttps://console.aws.amazon.com/billing/home#/credits にしっかり入力しましょう。ちなみに私はgithubの底上げもあって＄150もらえました。
##2.Cloud9を使ってみる
今回プログラミングを行う土台となるサービスです。もともとは独立したサービスだったのですが、買収されAWSのサービスになりました。
EC2サーバー上で動かす事ができ、完全にブラウザ上でソースコードの作成、実行、プレビューを行えます。
IAMユーザー（限られた権限を持つユーザー）によるアクセスを推奨されていたりするのですが、そこらへんの説明は先駆者様の読みやすい記事があるので丸投げします。
参考先:[初めてのAWS Cloud9導入](https://qiita.com/tu-kun/items/d7b4f1fa19cc93bc5b75)
以後はこの記事の設定を一通り行ったものとします。
（私はIAMユーザーに付与したポリシーはAWSCloud9Administratorの一つだけなのですが。その場合、rootユーザーが前もってCloud9 IDEのホーム画面>share からrw権限でIAMユーザーを招待する事でIAMユーザーがのIDEにアクセスできる様になります)
##3.GithubとCloud9をssh接続で連携させる。
Githubの登録をしているならばgitの操作をなれるためにも連携できる様にしたい。
残念な事に今のCloud9とGithubをssh接続するする方法の記事が見当たらなかったため、[AWS Cloud9 から CodeCommit を使うための設定](https://qiita.com/acecrc/items/8e17b08c4fb0b4d9c9f9)を参考にしました。
まず最初にCloud9での操作です。IDEのコマンドラインを表示させます。New Terminalをクリックする事で出てきます。
<img width="400" alt="スクリーンショット 2018-11-21 21.34.59.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/282598/35c7e9d7-4896-27a8-c406-3e43e3efa290.jpeg">
そこに
` cd ~/.ssh`
`ssh-keygen`※何も入力しない(catまでEnterのみ)
`more id_rsa.pub`
そうすると`ssh-rsa ********`が表示されます。これが鍵です。
これはGithubに教えるので何処かに記録しておいてください。
以上の操作が終わったならば
`cd`や新しくコマンドラインを開いてホームに戻りましょう。
次はGithubの操作です。
<img width="1012" alt="スクリーンショット 2018-11-21 21.43.57.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/282598/ba593592-80aa-f50b-9392-cf5cecd64363.jpeg">
(リポジトリが無いならば)リポジトリを作成します。Repository nameに適当な名前を入れて、Publicかprivateを選ぶだけで作成されます。Initialize this repository with a READMEはチェックを入れなくていいと思います。
そうしたら先程記録したSSHをGithubに登録します。操作は簡単で、右上のアイコン>Settings>SSH and GPG Keys(Personal settings)>new SSH key
<img width="1012" alt="スクリーンショット 2018-11-21 21.53.53.jpg" src="https://qiita-image-store.s3.amazonaws.com/0/282598/f05aa05d-ac57-3b4b-2b9c-1d9299da6cf4.jpeg">
この画面になるので、Titleに適当な名前をつけてkeyに先程記録した`ssh-rsa ********`をペタッと貼り付けまてaddボタンを押せばOKです。
そうしたら、先程作成したリポジトリを開きましょう。
https://github.com/ のRepositoriesなどから開くこともできます。
そうするとGithubが丁寧に説明してくれている
`git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:username/Title.git`
`git push -u origin master`
をコマンドラインに打ち込んで完了です。適当なファイルをaddしましょう。
その後の操作は[Cloud9で作成したソースコードをGitHubに保存する手順](https://qiita.com/NaokiIshimura/items/b318ebc2daa4ec07a31e)がとても参考になります。
#〆
Chromebookの起動の速さと携帯性の良さと、Cloud9のブラウザがあればプログラミングできるという手頃さはかなり親和性が高いです。本当にちょっと時間が空いたらコードを書けるというのは初心者にとって続けやすい環境ですし、開発環境を１から作らなくて良いのはありがたいです。
書いてすぐ試せるとモチベが下がりづらいですしね。

ちなみにCloud9はEC2で動かす場合Educateアカウントでなくとも、AWSアカウントを作って１年間は一定時間無料枠で使用する事が可能です。

こういった長文を書くのなれていないため、どこかに不備が存在すると思います。
アドバイス等あればぜひコメント等にてお願いします。