みなさんこんにちは。今日はいまさら聞けないAWS環境構築というテーマで、もっとも基本のコンピュートノードであるEC2の作り方、初期設定の方法をご紹介したいと思います。今でこそデファクトスタンダードとなったAWSですが、まだ触ったことがないという方の一助になれば幸いです。
まずはAWS用アカウントを作成する
amazon公式サイトにて丁寧に説明しているので、そちらを参考に作成してください。
通販サイトのamazon.comアカウントとは別に必要です!
- 認証で使う電話番号
- クレジットカード
が、必要になりますので準備しておいてください。
EC2インスタンス作成してみる
もっとも基本的な仮想サーバーを立てます。
※リージョンを東京にするのを忘れずに!
サービスのEC2をクリック
インスタンスの作成をクリック
OSを選択。ここではamazon linuxを選択。
インスタンスのタイプを選択し確認、作成。ここでは無料枠のt2.microを選択
確認画面で作成を押すとキーペアについて聞かれます。既に持っている場合は飛ばして構いません。持っていない場合はキーペアを作成しダウンロード。そしてインスタンス作成を押して下さい。するとインスタンスが立ち上がります。インスタンスの作成には数分かかります。
作ったEC2へSSH接続する
作成したキーペア(*.pem)のパーミッションを変更
$ chmod 400 *.pem
sshで接続
$ ssh -i *.pem ec2-user@ec2-xx-xx-xxx-xx.ap-northeast-1.compute.amazonaws.com (中略) __| __|_ ) _| ( / Amazon Linux AMI ___|\___|___| (中略) [ec2-user@ip-xxx-xx-xx-xxx ~]$
これでEC2への接続完了です。
EC2の最初にやるべき設定
1) インストールされているパッケージのバージョンアップ
$ sudo yum update -y
2) タイムゾーンを変更
初期状態ではUTCになっているのでJSTに変えましょう。これをやらないと、DB周りとかでハマります。
/etc/localtimeの設定変更をします。
$ sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
以下、設定の確認
$ date 2015年 9月 3日 木曜日 21:51:00 JST
JSTに変わってれば大丈夫です。しかし、このままだとyum updateするとタイムゾーン戻ってしまいます。
なので、、、/etc/sysconfig/clockの設定変更
$ sudo vi /etc/sysconfig/clock
viで編集
ZONE="Asia/Tokyo" UTC=false
3) EC2 サーバー再起動
$ sudo reboot
4) ec2-userを削除
セキュリティ的に ec2-userのままでいることは好ましくないので新しいユーザーを作成しec2-userは消します。
新規ユーザーの作成
$ sudo adduser newuser
newuserにsudoを使えるようにする。wheelグループに所属させるとsudo使えます。
$ sudo usermod -G wheel newuser
確認
$ grep wheel /etc/group wheel:x:10:ec2-user,newuser
/etc/sudoersの設定でもできます。
$ sudo visudo
newuser ALL=(ALL) NOPASSWD: ALLを追加しましょう。
5) 次にec2-userのauthorized_keys
をnewuserの.sshディレクトリにコピーしてからパーミッションの設定を行う。
$ sudo rsync -a ~/.ssh/authorized_keys ~newuser/.ssh/ $ sudo chown -R newuser:newuser ~newuser/.ssh $ sudo chmod -R go-rwx ~newuser/.ssh
確認
$ sudo ls -al ~newuser/.ssh 合計 12 drwx------ 2 newuser newuser 4096 9月 3 22:18 . drwx------ 3 newuser newuser 4096 9月 3 22:18 .. -rw------- 1 newuser newuser 390 9月 3 19:04 authorized_keys
newuserにsudo権限があるかを確認
$ sudo su - newuser
6) ec2-userの削除
$ sudo userdel ec2-user
ec2-userを残したいという場合は/etc/ssh/sshd_configの設定でec2-userのsshログインを禁止するなど でもいいと思います。
今日はAWSを初めて使う方向けに、最初の一歩を踏み出す手順をまとめてみました。みなさんのAWSライフの一助にしていただければ幸いです。