GCP(Google Cloud Platform)のGCE(Google Compute Engine)でLinuxサーバを無料でたてよう(その3:仮想マシンの設定)

投稿者: | 2019年12月19日

GoogleのパブリッククラウドGCP(Google Cloud Platform)の
Always Freeの無料枠で サーバ作成環境GCE(Google Compute Engine)の
VMインスタンスに Linuxサーバを作ります。

目次

やること

以下は その2 までで完了しています。
①Googleアカウントを作製
②GoogleのパブリッククラウドGCP(Google Cloud Platform)に申し込み
③サーバ作成環境GCE(Google Compute Engine)に無料枠でLinuxサーバを構築

今回の実施内容は、以下になります。
④作成した仮想マシンの設定

以下は “その4” 以降で行います。
⑤LinuxOSの設定

外部向けipアドレス(GIP)の固定

外部向けのipアドレスを固定します。Google用語では「静的外部IPアドレスの予約」となります。
初期設定では固定のアドレスが割り振られないため、再起動すると毎回新しい外部向けipアドレスとなります。GCPのコンソールをみると、ipアドレスの欄には「エフェメラル」と書いてあります。
これを、再起動しても変わらない固定ipアドレス(静的外部IPアドレス)に変更します。

静的外部IPアドレスの予約

GCPのコンソールでの設定箇所は一つですが、たどり着くまでの経路はいくつかあります。
間違わない方法を以下に紹介します。

①GCPのコンソールでインスタンスの詳細画面で「編集」をクリックします。

②編集画面でネットワークインターフェースの鉛筆マークを押します。


③「外部IP」が「エフェメラル」となっているプルダウンリストをクリックし、「IPアドレスを作成」に変更します。

④「IPアドレスを作成」 で、適当な名前を付けます。


⑤「外部IP」が作成したものであることを確認します。違っていたら「外部IP」のプルダウンで変更します。
問題なければ「完了」をクリックしネットワーク設定を終了します。


⑥固定ipアドレスに代わったことを確認し、画面を下までスクロールし「保存」をクリックします。

⑦固定ipアドレスにかわりました。

なお、、固定のIPアドレス(静的外部IPアドレス)は、
・サーバインスタンスが動いていれば無料
・サーバインスタンスが動いていない、もしくはipアドレスの予約のみは課金
となるので、不要になったら削除を忘れないようにします。

SSHポート番号変更

標準のSSHポートは22番となっています。
セキュリティの観点からSSHポート番号を変えることをお勧めします。
なお、まずはGCPのコンソールからのアクセス用に変更を行います。

ファイアウォールルール作成(ポート開放)

ポート開放用のファイアウォールルールを新規に作成します。
①GCPコンソールのナビゲーションメニューをクリックし、[VPCネットワーク]-[ファイヤーウォールルール]を選択します。

②ファイアウォールルールの作成を選択します。

③ルールの設定を入力します。
入力項目は以下になります。

・名前
ルールに付与する名前を入力します。
なんでも構いませんが、作成後の変更はできません。

・優先度
ルールの優先度を入力します。
いくつでも構いませんが、既存の default-allow-ssh と同じにしておきます。

・送信/受信
上り にします。

・一致したときのアクション
許可 にします。

・ターゲット
ルールのタグを入力します。
何でも構いませんが、ルール名と同じにしておきます。

・ソースIP
ルールの対象のIPアドレス範囲を入力します。
既存の default-allow-ssh と同じにしておきます。

・プロトコルとポート
ルールの対象のポート番号を入力します。
いくつでも構いませんが、既存の 22番 に置き換わる番号を指定します。

以下は設定の例です。

名前 allow-ssh-1022
優先度 65534
送信 / 受信 上り
一致したときのアクション 許可
ターゲット 指定されたターゲットタグ
allow-ssh-1022
ソースIPの範囲 0.0.0.0/0
プロトコルとポート tcp:1022

④ルールの設定の入力が終わったら「作成」をクリックします。

仮想サーバにファイヤーウォールルールを付ける

仮想サーバに「ファイヤーウォールルール」で指定した “ターゲットタグ” を追加します。

①GCPのコンソールでインスタンスの詳細画面で「編集」をクリックします。

②「ネットワークタグ」の枠をクリックして、作成した「ファイヤーウォールルール」のタグを入力します。

③タグが付いたことを確認し、画面を下までスクロールし「保存」をクリックします。

④Linuxサーバの設定をします。
エディタで  /etc/ssh/sshd_config を開き、ポート番号の設定をかえます。
まずはGCPのコンソールがらログオンします。

「SSH」をクリックするとターミナルウインドウが開き、ログオンできます(GCPでは、ブラウザウインドウと言います)。
エディタで /etc/fstab を開き、「Port 22」を設定したポート番号に書き換えます

--- Debian系、CentOS系 で共通 ---

# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#
#Port 22
Port 1022
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

SSHのデーモン(サービス)を再起動します。

--- Debian系、CentOS系 で共通 ---

# sudo systemctl restart sshd 

④新しくターミナルウインドウを指定したポート番号で開きます。
この時、何かあったときのためにポート22で開いたターミナルウインドウは閉じずにおきます。
「SSH」をクリックし、「ブラウザウインドウでカスタムポートを開く」をするとポート番号入力の画面が出ますので、指定したポート番号を入力します。

ファイアウォールルール作成(22番ポート停止)

①22番ポート停止用のファイアウォールルールを新規に作成します。
以下は設定の例です。

名前 dis-allow-ssh-22
優先度 1000
送信 / 受信 上り
一致したときのアクション 拒否
ターゲット 指定されたターゲットタグ
dis-allow-ssh-22
ソースIPの範囲 0.0.0.0/0
プロトコルとポート tcp:22

②ルールの設定の入力が終わったら「作成」をクリックします。
③仮想サーバに「ファイヤーウォールルール」で指定した “ターゲットタグ” を追加します。

次の設定

次回は、「GCP(Google Cloud Platform)のGCE(Google Compute Engine)でLinuxサーバを無料でたてよう(その4:LinuxOSの設定)」になります

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です