AWS
EC2

AWS EC2 インスタンス立ち上げ

EC2の立ち上げからログインまで

個人的な環境の立ち上げ方法の覚書
前提として、AWSのコンソールにログインできる(AWSのアカウントがあることが前提です)

インスタンス起動

AWSコンソール画面から「EC2」を選択。
「EC2」の画面中部にある「インスタンスの作成」を選択

  • OSの選択:Amazon Linux 2

特にこだわりがなければこちらに(モジュールのインストールの仕方がちょっと特殊ですが・・・)。2017年12月にリリースされ、LTS(長ーくサポートしていきます)となっているので。

  • インスタンスタイプ:t2.micro

こちらも特にこだわりなければ。

ここまでで「作成」ボタンを押すと、確認画面が出てきます。細かく設定していきたければ、「インスタンス詳細の設定」で。

  • セキュリティグループ:以下参照

確認画面で「セキュリティグループの編集」と押してもらうか、詳細設定中の画面で設定できます

最低限、sshで繋ぐ用とhttpでwebページを確認できる用があればいいかなと。
セキュリティグループ.png
ソースを「カスタム」→「マイ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
wheelグループ(ec2と同じグループ)に作ったユーザを追加.
$ grep wheel /etc/group 
wheel:x:10:ec2-user              #現在のメンバー確認

$ sudo usermod -G wheel hoge

$ grep wheel /etc/group
wheel:x:10:ec2-user,hoge    #加わったことを確認
ec2-userのssh情報一式をコピー.
$ 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)を引く(無くす)
新ユーザでrootになれるようにしておく.
$ 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」は削除してください

ec2-user削除.
sudo userdel ec2-user

とりあえずここまで。