EC2の立ち上げからログインまで
個人的な環境の立ち上げ方法の覚書
前提として、AWSのコンソールにログインできる(AWSのアカウントがあることが前提です)
インスタンス起動
AWSコンソール画面から「EC2」を選択。
「EC2」の画面中部にある「インスタンスの作成」を選択
- OSの選択:Amazon Linux 2
特にこだわりがなければこちらに(モジュールのインストールの仕方がちょっと特殊ですが・・・)。2017年12月にリリースされ、LTS(長ーくサポートしていきます)となっているので。
- インスタンスタイプ:t2.micro
こちらも特にこだわりなければ。
ここまでで「作成」ボタンを押すと、確認画面が出てきます。細かく設定していきたければ、「インスタンス詳細の設定」で。
- セキュリティグループ:以下参照
確認画面で「セキュリティグループの編集」と押してもらうか、詳細設定中の画面で設定できます
最低限、sshで繋ぐ用とhttpでwebページを確認できる用があればいいかなと。
ソースを「カスタム」→「マイIP」にすると、自動で今使っているPCのIPを設定してくれます。
普段使いのPCで一旦ここからしかアクセスしないのであればこれでもいいと思います(*固定IPじゃないと思うのでいろいろ設定完了したら変更してください)。
- キーペアの生成
「作成」を押すと、最後にキーペアの作成画面が出てきます。
・ 新しいキーペアの作成
・ 自分の好きな名前にして「キーペアのダウンロード」
例)aws_me → aws_me.pem というファイル名でダウンロードできます
ログイン時に必要なので、わかるところに保存しておいてください。
* 保存キーファイルのパーミッション変更(しておかないとログインで怒られる)
$ chmod 400 [DLしたキーファイル(.pem)]
インスタンスにログイン
コンソール画面「EC2」の左にある「インスタンス」を選択すると、先ほど作成したインスタンスがあります。
パブリックDNS(もしくはパブリックIP)をコピーして以下のコマンドでログイン
$ ssh ec2-user@[パブリックDNS] -i [DLしたキーファイル(.pem)]
* デフォルトユーザ:ec2-user
ユーザの作成
「ec2-user」(デフォルトユーザ)のままというのも嫌なので自分のユーザを作ります
例)ユーザ名:hoge(適宜自分の好きな名前で)
$ sudo adduser hoge
$ sudo passwd hoge
$ grep wheel /etc/group
wheel:x:10:ec2-user #現在のメンバー確認
$ sudo usermod -G wheel hoge
$ grep wheel /etc/group
wheel:x:10:ec2-user,hoge #加わったことを確認
$ cd /home/hoge
$ sudo rsync ../ec2-user/.ssh/authorized_keys .ssh/
$ sudo chown -R hoge:hoge .ssh
$ sudo chmod -R go-rwx .ssh #グループ(g)、その他(o)から全権限(rwx)を引く(無くす)
$ sudo visudo
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
+ hoge ALL=(ALL) NOPASSWD: ALL
- ログインしなおし
$ ssh hoge@[パブリックDNS] -i [DLしたキーファイル(.pem)]
ちゃんと作ったユーザでログインできてから「ec2-user」は削除してください
sudo userdel ec2-user
とりあえずここまで。