AmazonLinux2のOSの設定についてまとめてみた

記事タイトルとURLをコピーする

こんにちは!技術2課、濱岡です!

暑くなってきましたね!エアコンをつけるか悩むところです、、、

はじめに

この記事はすべてのOSの設定について網羅されている訳ではございません。

私がたまたまお客様の環境でOSの設定をする機会があり、それをまとめたものになります。

OSの設定を業務としてやったのは初めてなのですが、かなり調べるのに時間がかかりました。

こちらにまとめているものはOSの設定で比較的やる頻度の高い設定ではあるかなとは思いますので、 この設定ってこんな感じでやってたなという足がかりになれば幸いです。

ホスト名を変更したい

<HOSTNAME>は設定したいホスト名を記載してください。

# hostnamectl set-hostname <HOSTNAME>

hostnameコマンドでもホスト名の変更は可能ですが再起動すると元に戻ってしまうので注意してください。

言語設定とキーマップの設定を変更したい

日本語を想定して変更します。 以下で変更できます。

言語設定の変更

# localectl set-locale LANG=ja_JP.utf8

キーマップの設定変更

# set-keymap jp106

設定は以下で確認できます。

# localectl
System Locale: LANG=ja_JP.utf8
VC Keymap: jp106
X11 Layout: jp
X11 Model: jp106
X11 Options: terminate:ctrl_alt_bksp

タイムゾーンをAsia/Tokyoに変更したい

以下のコマンドで変更します。

# timedatectl set-timezone Asia/Tokyo

以下のコマンドでJSTになっているかどうか確認してみてください。

# date

IPv6を無効にしたい

/etc/sysctl.confに追記をします。

# vim /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1 
net.ipv6.conf.default.disable_ipv6 = 1

保存したら再起動してください。

# reboot

DNSサーバーとNTPサーバーの参照先を変更したい

これはOSに入って設定でもいいのですが、AWSにはDHCPオプションセットというものがあります。

DHCPオプションセットはVPCに対して設定でき、設定したVPCにEC2を立てるときにDHCPオプションセットに設定したものが適用されます。

DHCPオプションセットに参照先のDNSサーバーとNTPサーバーを設定しておけば自動的に適用されるという訳です。

DHCPオプションセットについては以下参照してください。

docs.aws.amazon.com

ログローテートの設定を変更したい

/etc/logrotate.confを変更します。 まずデフォルトは以下になってます。

# see "man logrotate" for details
# rotate log files weekly
weekly


# keep 4 weeks worth of backlogs
rotate 4


# create new (empty) log files after rotating old ones
create


# use date as a suffix of the rotated file
dateext


# uncomment this if you want your log files compressed
#compress


# RPM packages drop log rotation information into this directory
include /etc/logrotate.d


# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
        minsize 1M
    rotate 1
}


/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
}

今回は週次になっているログローテートを日次で行うようにしてなおかつ世代保管数を14に変更します。 設定変更部分だけ抜粋します。

# see "man logrotate" for details
# rotate log files weekly
daily


# keep 4 weeks worth of backlogs
rotate 14

・・・

(おまけ)ログローテートを特定の時間に実行したい

現状の設定だとログローテートの時間は決まってはいません。 もし、この時間に設定したいとなるとcronの設定が必要となります。

今回ログローテートは、日次で0時に行いたいとして設定をします。 まず、通常の日次のログローテートの設定の実行権限をなくします。

# chmod -x /etc/cron.daily/logrotate

そして新たにcronを設定します。 /etc/crontabに以下を追記します。

0 0 * * * root /usr/sbin/logrotate -s /var/lib/logrotate/logrotate.status /etc/logrotate.conf

これで設定は完了です。

まとめ

OSの設定についてまとめてみました。 みなさまの参考になれば幸いです。

はまおか(執筆記事の一覧)

アプリケーションサービス部

プログラムを書くことが好きです