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の設定)」になります