<前回の話題>
・web アプリとか作るの簡単そうじゃない?
・EC2, Flask, React.js を理解すれば web アプリになりそう
とっても雑な話だ.
さて,実際に手をつけて行こう.
まずは EC2.
EC2 とは AWS というクラウドサービス会社が提供する計算用サーバサービス.
簡単に言えば自分で管理しなくていいサーバをレンタルできるものだ.
性能によっていろんな種類のサーバ(インスタンス)があるが,
とっても性能の低い t2.micro というインスタンスは 1年間無料で使えるらしい.
1年後は社会人だ.お金の心配はしなくてもいいだろう.
ということでまずは AWS に新規登録しよう.
ルートアカウント盗まれるとやべぇらしくて,MFA デバイスとかいうのを登録した.
→iphone の 倉庫→Google Authenticator とかいうの使った
↓
これ以降ルートアカウントでログインするためには iphone が必要になるらしい
・なるほど,ルートアカウントやら IAM ユーザ やらを簡単にまとめると
・ルートアカウントは神
・IAM ユーザ は IAM グループ に所属する
・IAM グループはポリシー(所属する IAM ユーザ ができること)が定義されている
・基本的には 管理者権限を与えられている IAM ユーザ で作業する
・もしこの管理者権限を持つ IAM ユーザが乗っ取られたときは,ルートアカウントでログインしてその IAM ユーザを削除する
↓
EC2 インスタンスの生成ができた.さっそくつないでみよう.
↓
...と思ったけど,どうやってつなげばいいんだ?
↓
サーバに接続するには ssh コマンドを使ってこうすればいいんだよな
$ ssh {ログインするユーザ名}@{ログインするサーバのアドレス}
でも,ユーザはまだ作ってないし作成したインスタンスのアドレスも分からん.
↓
どっかに載ってないかなーとマネジメントコントロールを探すと,EC2 のページに載ってた
ec2-000-000-000-000.ap-northeast-1.compute.amazonaws.com ← こんな感じのやつ
そのあとで知ったが,
・000-000-... の部分は,まんま IP アドレス 000.000. ... を表してる
・ap.northeast-1 は「アジアパシフィック(東京)」というリージョンを表している
↓
ユーザは誰を指定するんだ? admin でいいのか?
↓
・マネジメントコントロールのEC2 インスタンスのページの「接続」ってとこ押したら
接続方法のヒントみたいなのが出てきた.
・秘密鍵に対して chmod ってコマンドが必要だった
・ubuntu というユーザがデフォルトで登録されているみたい
↓
chmod はファイルへの権限を設定するコマンドで, 400 っていうのは「読み込み専用」ということ.
秘密鍵は読み込み専用にしないといけないらしいね
↓
・よし,じゃあ次は ubuntu 上にユーザを登録してみよう.秘密鍵でのアクセスはめんどいからね
↓
・うーん,ここの通りやってみたけどうまくいかん...
http://qiita.com/muttan/items/78bb2946ab44affcff61
↓
・なにやら ユーザは登録できたみたいなんだけど,そのユーザでログインできない.
ubuntu でログインしてユーザ切り替えならできてる
↓
・ssh のログインってユーザごとに 暗号鍵が設定されてるってことなのだろうね
↓
・秘密鍵じゃなくてパスワード認証でログインできるようにしたい
http://jshimazu.hatenablog.com/entry/2014/02/05/165058
/etc/ssh/sshd_config の PasswordAuthorization を yes にしろ
って言われたからしたのに,秘密鍵なしではログインできなかった
↓
・ここ見たらできた
https://ex1.m-yabe.com/archives/1712
https://orebibou.com/2014/10/ssh%E3%82%B5%E3%83%BC%E3%83%90sshd%E5%86%8D%E8%B5%B7%E5%8B%95%E3%81%AE%E6%96%B9%E6%B3%95%EF%BC%88os%E5%88%A5%EF%BC%89/
sshサーバの再起動という処理が必要だったのか
・参考サイトだと root のログインを禁止にしてるけど,それはまぁそのままでもいいかな
・よし,じゃあ次は web サーバーの立ち上げをしよう
<まとめ>
・AWS の EC2 を使えばすぐにサーバが用意できる
・設定方法はマネジメントコントロールに意外と載ってる
