Linux
Amazon
EC2
AmazonLinux
TECOTECDay 18

AmazonLinuxの初期設定:インスタンス立ち上げたらまずやること

EC2でAmazonLinux立ち上げたら最低限これだけはしておいたほうがいいよってものを纏めてみます。
主に自分用で使いますが誰かの参考になれば幸いです。
CloudFormationでも同じことできるようになんないとなー

Advent Calendar忘れてて一日遅れすみません。。

  • 2017.12.19 create

パッケージ更新

まずパッケージ更新。基本ですね忘れずにやりましょう!

パッケージ更新
# yum update

iptablesストップ

FWはAWSのセキュリティグループに任せるのが楽なのでこっちは停止しておきます。
使っちゃいけないということではありません!

iptablesストップ
# chkconfig ip6tables off
# chkconfig iptables off
# service iptables stop
# service ip6tables stop

タイムゾーン変更

amazonlinuxは初期設定がUTCなので日本時間にセットします。

タイムゾーン変更
# vi /etc/sysconfig/clock
   ZONE="Japan"に変更
ln -sf /usr/share/zoneinfo/Japan /etc/localtime

システムパラメータ変更

今回はtcp関連中心に設定しておきます。

システムパラメータ変更
# vi /etc/sysctl.conf
以下を追加
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_max_syn_backlog = 20480
net.ipv4.tcp_rmem = 4096 873800 1747600
net.ipv4.tcp_wmem = 4096 873800 1747600
net.ipv4.tcp_mem = 2048000 2048000 2048000
net.ipv4.ip_local_port_range = 11000 65500
net.ipv4.tcp_keepalive_time = 10
net.ipv4.tcp_keepalive_probes = 4
net.ipv4.tcp_keepalive_intvl = 5
net.ipv4.tcp_rfc1337 = 1
fs.file-max = 100000
net.core.somaxconn = 65535

設定反映
# sysctl -p

Limit系の変更

ファイルオープンエラー対策ですね。上限を広げておきます。

Limit系の変更
# vi /etc/security/limits.d/90-nproc.conf
以下を記述して保存。
*          soft    nproc     65535
root       soft    nproc     unlimited

# vi /etc/security/limits.conf
デフォルト4096の所を65535に変更しておきます。
root soft nofile 65535
root hard nofile 65535
* soft nofile 65535
* hard nofile 65535

Historyコマンド設定

デフォルト999件までしか追えないのでhistoryサイズ大きくしておくと何かと便利です。

Historyコマンド設定
ユーザのHOMEDIR/.bashrcへ以下を追加
HISTSIZE=99999
HISTTIMEFORMAT='%Y/%m/%d %H:%M:%S '

ユーザ単位ではなく/etc/bashrcで設定してもいいかも

プロンプト変更

amazonlinuxはホスト名がローカルIPなので分かりづらい。
でもそういう仕様なのでわざわざホスト名変更したくない。
というときに分かりやすくプロンプトでホスト情報表示させるようにしておきます。

プロンプト変更
# vi /etc/bashrc
36行目をわかりやすく変更
  [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h(ここの部分に分かりやすい名前書くと見やすい) \W]\\$ "

 

あとは便利なコマンドとかインストールしておけばいいと思います。
dstatとかはシステムリソース情報が分かりやすく取れるのでおすすめです!