GoogleのパブリッククラウドGCP(Google Cloud Platform)の
Always Freeの無料枠で サーバ作成環境GCE(Google Compute Engine)の
VMインスタンスに Linuxサーバを作ります。
目次
やること
以下は その3 までで完了しています。
①Googleアカウントを作製
②GoogleのパブリッククラウドGCP(Google Cloud Platform)に申し込み
③サーバ作成環境GCE(Google Compute Engine)に無料枠でLinuxサーバを構築
④作成した仮想マシンの設定
今回の実施内容は、以下になります。
⑤LinuxOSの設定
LinuxOSへのログオン
OSへのログオンは以下の方法があります。
・GCPのコンソールの「SSH」から
・TeraTermなどから
まずはGCPのコンソールがらログオンします。
ポート番号を変更していない場合(ポート22)は「SSH」をクリックするとターミナルウインドウが開き、ログオンできます(GCPでは、ブラウザウインドウと言います)。
もし、ポート番号を変更した場合は、「SSH」- 「ブラウザウインドウでカスタムポートを開く」からポート番号を入力します。
スワップ領域(swapファイル)の設定
作成したf1-microインスタンスはメモリが0.6GBとなります。これではメモリ不足でシステムが停止する可能性があります。
例えば、スワップ領域(swapファイル)がないと、zabbixに必要なMySQL 8.0 はインストールはできますがサービスが起動しません。
そのため、一時的にメモリ使用率が高騰しても耐えられるようswap領域を設定(swapファイルの作成)します。
なお、今回は1GBで作成していますが必要に応じて変更ください。
スワップ領域(swapファイル)の確認
下記のコマンドで、Swap:行の値が0であることを確認します。
--- Debian系、CentOS系 で共通 --- # free -m total used free shared buff/cache available Mem: 587 171 264 4 150 301 Swap: 0 0 0
スワップ領域(swapファイル)を確保
下記のコマンドで、Swapファイルを作成します(1GBを確保(ブロックサイズ1MBで1024個))。
--- Debian系、CentOS系 で共通 --- # sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 26.3683 s, 40.7MB/s
下記のコマンドで、アクセス権を変更します。
--- Debian系、CentOS系 で共通 --- # sudo chmod 600 /swapfile
スワップ領域(swapファイル)の有効化
下記のコマンドで、作成したファイルをswap形式に変換し、swapを有効化します。
--- Debian系、CentOS系 で共通 --- # sudo mkswap /swapfile # sudo swapon /swapfile
スワップ領域(swapファイル)の確認
下記のコマンドで、Swap:行の値が0でなくなっていることを確認します。
--- Debian系、CentOS系 で共通 --- # free -m total used free shared buff/cache available Mem: 587 171 264 4 150 301 Swap: 1023 0 1023
スワップ領域(swapファイル)の永続化
OS起動時に自動的にswapが有効化されるようにします。
エディタで /etc/fstab を開き、下記の1行を追記でも構いませんし、
--- Debian系、CentOS系 で共通 --- /swapfile swap swap defaults 0 0
以下のコマンドでも構いません。
--- Debian系、CentOS系 で共通 --- # cat << '__EOF__' >> /etc/fstab /swapfile swap swap default 0 0 __EOF__
fail2banのインストール
セキュリティ対策として、何度もSSHでログインを試みるIPアドレスを遮断してくれる機能を持つfail2banをインストールします。
リポジトリの追加
「epel」リポジトリが必要ですので、リポジトリがインストールされていない方は「epel-release」をインストールします。
下記のコマンドでリポジトリを追加します。
--- CentOS系 --- # sudo yum install epel-release --- Debian系 --- # sudo apt-get install epel-release
fail2banのインストール
下記のコマンドでfail2banをインストールします。
--- CentOS系 --- # sudo yum install fail2ban --- Debian系 --- # sudo apt-get install fail2ban
設定ファイル
fail2banはメールサーバーやWEBサーバー、SSHやFTPなど各サービスごとにルールを設定して細かく指定することができますが、まずはリモートログオン関連だけを設定します。
エディタで /etc/fail2ban/jail.local を開き、下記を追記します。
--- Debian系、CentOS系 で共通 --- [DEFAULT] bantime = 86400 findtime = 300 maxretry = 5 [sshd] enabled = true [sshd-ddos] enabled = true
[DEFAULT]の設定の意味は以下になります。
5分間(findtime=300)で、5回アクセス失敗(maxretry=5)したIPアドレスは1日間(findtime=86400)アクセスが禁止される。
サービスの起動
下記のコマンドでサービスの起動を行います。
--- Debian系、CentOS系 で共通 --- # sudo systemctl start fail2ban
下記のコマンドでサービスの起動を確認します。
--- Debian系、CentOS系 で共通 --- # systemctl status fail2ban
下記のコマンドでサービスを自動の起動させます。
--- Debian系、CentOS系 で共通 --- # sudo systemctl enable fail2ban
日本語化
フォントのインストール
日本語フォントをインストールします。
sudo yum install ibus-kkc sudo yum install vlgothic-*
locale(ロケール)の変更
ロケールは言語設定の環境です。ロケールを変更しなければ、日本語フォントをインストールしても日本語表示にはなりません。
sudo localectl set-locale LANG=ja_JP.UTF-8 source /etc/locale.conf
Timezoneの変更
日本の時間軸に合わせます。
sudo timedatectl set-timezone Asia/Tokyo