こんにちは、TKです。
今回はAWSでCentOS6を使用する場合、初期設定で一通り必要なものをまとめました。
AWSの標準OSのAmazon Linuxではコンソール上でできたことが反映されなかったりするので色々設定する必要があります。
今回のレシピは自分自身がCentOS6を触るにあたって必要だったことをまとめています。
今回使用しているAMIはCentOS6 with Update HVM 64bitになります。
容量の反映と一般ユーザの追加
作成したCentOS6のインスタンスにログインしてみます。
Amazon Linuxと異なり、デフォルトのユーザはrootしか存在しません。
ログインはrootユーザでログインを行います。
ログイン後ボリュームのサイズを確認します。
1df -h
そこで、容量の反映を行う必要があります。
最初に行う理由は途中再起動を行う際に、インスタンスが起動せずエラーになって入れなくなってしまうことがあるからです。
設定した内容を無駄にしないためにも、最初に設定を行っておきます。
容量の変更は こちら を参考にさせていただきました。
まず、epelリポジトリをインストールします。
1rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpmgrowrootをインストールします。
1yum -y install dracut-modules-growrootリサイズのための準備をします。
1dracut --force --add growroot /boot/initramfs-$(uname -r).imgリサイズするために一度再起動が必要になります。
再起動時に自動でリサイズを行うためにcloud-initをインストールします。
Cloud-initを入れることで、次回ボリュームサイズを変更した際に自動的に容量が反映されるようにします。
Cloud-initを入れることで再起動後、自動的にcentosユーザが作成されます。
直接rootログインすることも不可になります。
1yum install –y cloud-initインストール完了後、再起動を行います。
再起動完了後rootユーザでログインしようとすると拒否され、centosユーザでのログインを求められます。
改めてcentosユーザでログインします。
ログイン後、ボリューム容量を確認すると反映されていることを確認できます。
パスワード設定
容量の反映が終わったら基本設定を行います。
Centosユーザは作成されましたがパスワードはまだ設定されていません。
まずはパスワードの設定を行います。
1sudo passwd centos 2sudo passwd rootパスワードを設定したらログアウト後、再度ログインして次のコマンドでパスワードを確認します。
1su - 2sudo su
sudo使用時もパスワードを要求されるようにします。
1sudo visudo -f /etc/sudoers.d/cloud-init内容は以下になります。
1#centos ALL = NOPASSWD: ALL2centos ALL = (ALL) ALL設定後再度ログインするとsudo時もパスワードを要求されるようになります。
時刻、言語設定
現在の時刻設定を確認します。
1dateUTCになっているので日本時間JSTに変更します。
1sudo cp /usr/share/zoneinfo/Japan /etc/localtimeこれだけでは再起動時に設定が変わってしまうのでシステムに変更を記述します。
1sudo vi /etc/sysconfig/clock以下の内容で記述します。
1ZONE="Asia/Tokyo"2UTC=falseこれで時刻設定は完了です。
デフォルトの文字コード設定も変更しておきます。
1sudo vi /etc/sysconfig/i18n 2内容は以下になります。3#LANG=en_US.UTF-84LANG="ja_JP.UTF-8"5SYSFONT=latarcyrheb-sun16文字コード設定を日本語に設定しました。
いかがでしたでしょうか。
今回はCentOS6のAMIを使用した際に必要な初期設定をまとめてみました。
この設定を行っておけばAMI化して初期設定を毎回する必要が省けます。
紹介しているのは本当に基本的な部分ですが最初にしておくことで、後で問題が起こるのを防ぐことができます。
次回をお楽しみに!