前回は、AWSマネジメントコンソールからEC2インスタンスを作り、作業端末からSSHでログインするところまで実施した。
今回は、EC2インスタンス上で動作しているAmazon Linuxの初期設定を行う。
前提条件
・OSバージョンはAmazon Linux 4.1.10-17.31.amzn1.x86_64
・以後の作業はEC2インスタンスにSSHログインした状態から始める
・プロンプトが「$」から始まっているものは一般ユーザ(ec2-user)で実行を意味する
パッケージのアップデート
EC2インスタンスにログインしたら、いの一番に実施する。
Amazon Linuxにインストールされているパッケージのアップデートを確認し、更新があれば適応する。
$ sudo yum -y update
ユーザアカウント設定
Amazon Linuxの初期ユーザとしてec2-userが設定されている。
初期状態ではこのユーザに対するパスワードが設定されていないので、新規に設定する。
$ sudo passwd ec2-user ユーザー ec2-user のパスワードを変更。 新しいパスワード: xxxx ←パスワードを入力 新しいパスワードを再入力してください: xxxx ←同じものを再度入力 passwd: すべての認証トークンが正しく更新できました。
初期状態ではec-2-userがsudoする際パスワードを求められないので、求められるように変更。
sudoersで読み込むファイルをいじるので、誤記に気づけるようvisudoで編集する。
$ sudo visudo -f /etc/sudoers.d/cloud-init ec2-user ALL = NOPASSWD: ALL #変更前 ec2-user ALL = (ALL) ALL #変更後
sudoするときec2-userのコマンドパスが変わるのを防ぐため、sudoersにPATHの設定を加える。
$ sudo visudo #Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin #コメントアウト Defaults env_keep += "PATH" #追記
最後に、rootユーザのパスワードを設定する。
$ sudo passwd root ユーザー root のパスワードを変更。 新しいパスワード: xxxx ←パスワードを入力 新しいパスワードを再入力してください: xxxx ←同じものを再度入力 passwd: すべての認証トークンが正しく更新できました。
日本語表示とタイムゾーンの設定
初期状態では文字コードが英語のため、日本語に設定する。特別な事情がなければUTF-8を指定する。
sudo vim /etc/sysconfig/i18n #LANG="en_US.UTF-8" #コメントアウト LANG="ja_JP.UTF-8" #追記
システム時刻のタイムゾーンをJST(日本時間)に変更する。初期状態ではUTC(世界標準時)になっている。
$ date 2015年 11月 25日 水曜日 15:54:56 UTC $ sudo cp /usr/share/zoneinfo/Japan /etc/localtime $ date 2015年 11月 26日 木曜日 00:55:10 JST
上記設定で日本時間への設定変更は完了だが、glibcパッケージをアップデートするたびにlocaltimeファイルが上書きされてしまうので、もう一箇所設定ファイルへ記述を行う。
$ sudo vim /etc/sysconfig/clock #ZONE="UTC" #コメントアウト ZONE="Asia/Tokyo" #追記
スワップ領域の設定
設定しなくても問題無いといえば問題無いが、メモリ消費の激しいソフトを動かす場合に備えてスワップ領域を作成する。
スワップ領域のサイズは実メモリの2倍くらいを目安にする。
$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 $ sudo mkswap -L "/swapfile" /swapfile $ sudo chmod 600 /swapfile $ sudo swapon /swapfile $ free total used free shared buffers cached Mem: 1019452 1008028 11424 60 19420 903416 -/+ buffers/cache: 85192 934260 Swap: 1048572 0 1048572
スワップ領域が作成されたことを確認したら、次回のOS起動時から自動的にマウントされるようfstabに設定を追記する。
$ sudo sh -c "echo 'LABEL=/swapfile swap swap defaults 0 0' >> /etc/fstab"
以上で基本的なAmazon Linuxの環境構築は完了。お疲れさまでした。
参考1: EC2インスタンス(Amazon Linux)の初期設定
参考2: AmazonLinuxでのタイムゾーン設定