Amazon Linux 2 の設定をする

はじめに

こんにちは、missi です。「AWS 環境に WordPress をなるべくお金をかけずに構築していく」のシリーズとして記事を書いています。このシリーズでは、「AWS 上に WordPress を構築するために必要なリソースを最小限に抑え、コストを抑える方法について」お届けしています。前回は「Amazon EC2 で Amazon Linux 2 を起動する」をテーマにお伝えしましたが、今回は「Amazon Linux 2 の設定をする」をテーマにご紹介したいと思います。

Amazon Linux2 の状態確認と初期設定

Amazon Linux 2 起動後には、初期設定を行うことが重要です。以下は、Amazon Linux 2 起動後の初期設定の一般的な例です。

システムをアップデートする

このコマンドは、システムのすべてのパッケージを最新の状態に更新します。

sudo yum update -y

ホスト名の確認と設定

Amazon Linux 2 で現在のホスト名を確認するには、以下のコマンドを使用します。

hostnamectl

上記のコマンドを実行すると、以下のような結果が表示されます。

Static hostname: ip-10-0-0-10.ec2.internal
         Icon name: computer-vm
           Chassis: vm
        Machine ID: cefed23b27d5429ea8d1d205b174ef11
           Boot ID: e8ad4b17c10f4a7a9e9c8e39cb0f7036
    Virtualization: xen
  Operating System: Amazon Linux 2
       CPE OS Name: cpe:/o:amazon:linux:2
            Kernel: Linux 4.14.243-185.433.amzn2.x86_64
      Architecture: x86-64

上記の例では、静的ホスト名が ip-10-0-0-10.ec2.internal であることがわかります。

ホスト名を変更する場合は、hostnamectl コマンドを使用して、新しいホスト名を適用します。

sudo hostnamectl set-hostname new-hostname

上記の例では、新しいホスト名が new-hostname に設定されます。

システムを再起動するか、systemctl restart systemd-hostnamed コマンドを実行して、ホスト名を更新します。

sudo systemctl restart systemd-hostnamed

上記の手順で、Amazon Linux 2のホスト名を確認し、変更することができます。

ネームサーバーの確認

Amazon Linux 2 でネームサーバーを確認するには、以下のコマンドを使用します。

cat /etc/resolv.conf

上記のコマンドを実行すると、以下のような結果が表示されます。

# Generated by NetworkManager
nameserver 10.0.0.2

上記の例では、ネームサーバーが 10.0.0.2 であることがわかります。なお、このファイルは、Amazon Linux 2において、ネットワーク設定がNetworkManagerによって管理されている場合に使用されます。他の環境では、別のファイルが使用される場合があります。

タイムゾーンの確認と変更

Amazon Linux 2 で現在のタイムゾーンを確認するには、以下のコマンドを使用します。

timedatectl

上記のコマンドを実行すると、以下のような結果が表示されます。

      Local time: Mon 2023-04-04 07:30:00 UTC
  Universal time: Mon 2023-04-04 07:30:00 UTC
        RTC time: Mon 2023-04-04 07:30:00
       Time zone: UTC (UTC, +0000)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

上記の例では、現在のタイムゾーンが UTC であることがわかります。なお、Amazon Linux 2では、timedatectl コマンドを使用して、タイムゾーンの変更やNTPの設定なども行うことができます。

Amazon Linux 2でタイムゾーンをJSTに変更するには、timedatectlコマンドを使用して/etc/localtimeへのシンボリックリンクを変更します。

例えば、以下のコマンドでJSTに変更します。

sudo timedatectl set-timezone Asia/Tokyo

再度、timedatectlコマンドを使用して、タイムゾーンが正しく変更されたことを確認します。

timedatectl

上記の手順で、Amazon Linux 2のタイムゾーンをJSTに変更することができます。なお、タイムゾーンを変更することで、システムのクロックが変更されるため、注意して実行してください。

ロケールの確認と変更

Amazon Linux 2 でロケールを確認するには、以下のコマンドを使用します。

localectl

上記のコマンドを実行すると、以下のような結果が表示されます。

   System Locale: LANG=en_US.UTF-8
       VC Keymap: n/a
      X11 Layout: n/a

上記の例では、ロケールが en_US であることがわかります。

日本語を使用する場合は、以下のコマンドを実行します。

sudo localectl set-locale LANG=ja_JP.UTF-8

再び、localectl コマンドで確認してみると、ロケールが ja_JP.UTF-8 に変更されていることがわかります。

   System Locale: LANG=ja_JP.UTF-8
       VC Keymap: n/a
      X11 Layout: n/a

不要なパッケージの削除

Amazon Linux 2 で不要なパッケージを削除するには、以下のコマンドを使用します。

sudo yum autoremove -y

上記のコマンドを実行すると、不要なパッケージが削除されます。

不要なサービスの停止

Amazon Linux 2では、不要なサービスを停止して、システムのパフォーマンスを最適化することができます。以下の手順に従って、不要なサービスを停止することができます。

  1. 現在のサービスの状態を確認する
    まず、以下のコマンドを使用して、現在実行されているサービスの状態を確認します。
sudo systemctl list-units --type=service --state=running

これにより、以下のように実行中のサービスのリストが表示されます。

UNIT                       LOAD   ACTIVE SUB     DESCRIPTION
acpid.service              loaded active running ACPI Event Daemon
amazon-ssm-agent.service   loaded active running amazon-ssm-agent
atd.service                loaded active running Job spooling tools
auditd.service             loaded active running Security Auditing Service
chronyd.service            loaded active running NTP client/server
crond.service              loaded active running Command Scheduler
dbus.service               loaded active running D-Bus System Message Bus
getty@tty1.service         loaded active running Getty on tty1
gssproxy.service           loaded active running GSSAPI Proxy Daemon
httpd.service              loaded active running The Apache HTTP Server
libstoragemgmt.service     loaded active running libstoragemgmt plug-in server daemon
lvm2-lvmetad.service       loaded active running LVM2 metadata daemon
network.service            loaded active running LSB: Bring up/down networking
php-fpm.service            loaded active running The PHP FastCGI Process Manager
postfix.service            loaded active running Postfix Mail Transport Agent
rngd.service               loaded active running Hardware RNG Entropy Gatherer Daemon
rpcbind.service            loaded active running RPC bind service
rsyslog.service            loaded active running System Logging Service
serial-getty@ttyS0.service loaded active running Serial Getty on ttyS0
sshd.service               loaded active running OpenSSH server daemon
systemd-journald.service   loaded active running Journal Service
systemd-logind.service     loaded active running Login Service
systemd-udevd.service      loaded active running udev Kernel Device Manager

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

23 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.
  1. 不要なサービスを特定する
    次に、現在実行されているサービスから、不要なものを特定します。不要なサービスを特定するには、その機能に関する理解が必要になる場合があります。

    不要なサービスを特定したら、以下のコマンドを使用して停止します。例えば、postfix サービスを停止する場合は、以下のように入力します。
sudo systemctl stop postfix

サービスを停止すると、システムのパフォーマンスが向上することがあります。ただし、サービスを停止する前に、そのサービスがシステムの正常な動作に必要でないことを確認してください。

  1. サービスの自動起動を無効にする
    不要なサービスを停止した後、サービスが自動的に起動されないように、以下のコマンドを使用して、サービスの自動起動を無効にします。例えば、httpdサービスの自動起動を無効にする場合は、以下のように入力します。
sudo systemctl disable postfix

これにより、postfix サービスが自動起動されなくなります。必要に応じて、再度有効にすることができます。

以上の手順に従って、Amazon Linux 2 で不要なサービスを停止することができます。ただし、システムの正常な動作に必要なサービスを停止しないように注意してください。

今回の記事は以上となります。このシリーズでは、「AWS 環境に WordPress をなるべくお金をかけずに構築していく」をお届けしていますので、ぜひ過去の記事もご覧ください。


投稿日

カテゴリー:

,

投稿者: