AWS Lightsail 入門4 基本設定(CentOS 7)


本記事の内容

  • Lightsailインスタンス(CentOS 7)に対して、OSの基本設定を行う。

前提条件

  • Lightsailインスタンス(CentOS 7)を作成済み。

※他のOS・バージョンでは、コマンドが異なる場合があります。

AWS Lightsail 入門1 インスタンス作成

作業の進め方

ブラウザ版ターミナルか、SSHクライアントでコマンドを入力していく。

次の例では、コマンドcat /etc/redhat-releaseを入力し、OSのバージョンを確認している。

$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

※入力するコマンドには、プロンプト$を含めない。

管理者(root)への切替

本記事で入力するコマンドは、管理者権限が必要なものが多い。
最初にrootに切り替えておく。(末尾のハイフンを忘れずに)

$ sudo su -

管理者権限が必要なコマンドは、プロンプトを#で表記する。

スワップ領域の追加

Lightsailの最安プラン(3.5ドル)はメモリが512MBと少ない。
メモリが不足してもプログラムを実行できるよう、スワップ領域を追加する。

※SSDをメモリの代わりに使うので、速度的には遅くなる。
本設定はメモリが一時的に不足したときのためのエラー防止策で、日常的に不足するならメモリ量が十分な上位プランを選択した方が良い。

スワップ領域の確認(追加前)

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           485M         98M        260M        8.4M        126M        365M
Swap:            0B          0B          0B

Swapの[total]が0Bとなっており、スワップ領域が割り当てられていない。

スワップファイルの作成・有効化

ディスク上に1GBのスワップファイルを作成し、有効化する。
※複数のコマンドを1行にまとめているので、コピー漏れに注意。

# dd if=/dev/zero of=/swapfile bs=1M count=1024 && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile

1GB以外で作成する場合はcount=nを変更する。例えばcount=2048では、2GBになる。

※スワップのサイズを増やせばメモリ不足のリスクは減るが、ファイル保存先として使えるディスク容量は少なくなる。
Lightsail最安プランのディスクは20GBなので、バランスを考えて設定する。

スワップ領域の確認(追加後)

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           485M         96M        6.0M        8.4M        382M        367M
Swap:          1.0G          0B        1.0G

OS起動時の自動マウント設定

OS起動時、自動的にスワップ領域が有効化されるようにする。

# echo "/swapfile swap swap defaults 0 0" >> /etc/fstab

パッケージの更新

導入済みのパッケージを更新する。
内容を確認しながら進める場合は、オプション-yを外す。

# yum -y update

最後に「Complete!」と出力されれば更新完了。
念のため、更新可能なパッケージが残っていないか確認する。

$ yum check-update
Loaded plugins: fastestmirror
Determining fastest mirrors
 * base: d36uatko69830t.cloudfront.net
 * extras: d36uatko69830t.cloudfront.net
 * updates: d36uatko69830t.cloudfront.net

OSの再起動

パッケージの更新を確実に反映するため、Lightsail管理画面よりインスタンスを再起動する。

コマンドsudo rebootで再起動しても問題なかったが、EC2ではOSコマンド以外の方法が推奨されている。

インスタンスからオペレーティングシステムの再起動コマンドを実行する代わりに、Amazon EC2 コンソール、コマンドラインツール、または Amazon EC2 API を使用してインスタンスを再起動することをお勧めします。Amazon EC2 コンソール、コマンドラインツール、または Amazon EC2 API を使用してインスタンスを再起動する場合、インスタンスが数分以内に完全にシャットダウンしないと、ハードリブートが実行されます。

インスタンスの再起動 - Amazon Elastic Compute Cloud

Lightsailは管理画面での手順のみで、コマンドによる再起動については言及されていなかった。
Amazon Lightsail インスタンスの開始、停止、または再起動 | Lightsail ドキュメント

タイムゾーンの変更

デフォルトは時刻がUTCで表示されるため、日本時間に変更する。

時刻の確認(変更前)

$ date
Sun Jan 17 10:42:45 UTC 2021

日本時間に変更

# timedatectl set-timezone Asia/Tokyo

時刻の確認(変更後)

$ date
Sun Jan 17 19:42:52 JST 2021

まとめ

Lightsailの最安プランで、CentOSを使用する場合の基本設定を紹介した。
特に、メモリは512MBと少ないので、スワップ領域の追加は忘れずに行っておきたい。