GCEで永久無料サーバー構築の備忘録

はじめに

個人的にポートフォリオや勉強で作成したサイトなど公開できるサーバーが欲しかった。お金をできる限りかけたくなかったのでGCEの無料枠で済む範囲の設定でサーバーを立ち上げて見ました。

環境

GCE
CentOS7
apacheかnginx(悩み中)

参考サイト

手順

GCEでインスタンス立ち上げ
【注意点】
・リージョンをus-*1から選択する
・1つのf1-micro VM インスタンス
・30GB以内 の永続ストレージ

スクリーンショット 2020-02-20 21.30.44

・80,443ポートを解放する
HTTPトラフィックとHTTPSトラフィックを許可するにチェックをつける。

スクリーンショット 2020-02-20 21.30.57

この設定で一旦作成する。

IPアドレスを固定する

ナビゲーションメニュー>VPCネットワーク>外部IPアドレス から
タイプ>静的を選択。名前を適当につけてOK。
設定もしていない状態だと外部IPアドレスはエフェメラルの状態。
この状態だとインスタンスが立ち上がるたびに違うIPアドレスに変わる。
インスタンスが動いていれば、固定のIPアドレスにしても無料で使える。

スクリーンショット 2020-02-20 21.32.16

SSHの設定

1、ポートの変更、追加を行う
ナビゲーションメニュー>VPCネットワーク>ファイアウォールルールから
追加するポートの設定を行う(下記では2022を)

スクリーンショット 2020-02-20 21.34.42


2、サーバーにタグつけ

ナビゲーションメニュー>Compute Engine>VM インスタンスから
先ほど作成したインスタンスを選択、編集
下記の様に作成したファイアウォールルールを追加する
保存したら設定したルールが適用されることになる

スクリーンショット 2020-02-20 21.36.10


3、sshd_config のポート番号の設定を変更

画像 SSH▼ の部分をクリック
すると黒い画面(ターミナル)が出てきます

スクリーンショット 2020-02-20 22.16.44


ここで下記のコマンドを打ちます

sudo vi /etc/ssh/sshd_config

すると英語の長文が出てくるので
i を打つ(インサートモードになり、編集可能になる)
下記の様に変更

#Port 22

#2022の部分は個人で決めたポート番号にする
Port 2022

変更したら escでインサートモード終了、:w で保存、 :p で終了

再起動のコマンドを打ちます。

sudo systemctl restart sshd 


再起動時に下記の様なエラーが出た場合

Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service"
and "journalctl -xe" for details.

対処法

yumでpolicycoreutils-pythonをインストールする

sudo yum install policycoreutils-python

導入出来たら、以下のコマンドで2022ポートを許可する。

sudo semanage port -a -t ssh_port_t -p tcp 2022

これで再起動のコマンドが打てる様になる。
再起動したら新しく設定したポート番号で待機するようになる。
sshd_config の編集をしたターミナルは閉じずにそのままで、新しく設定したポートでログインできるかを、新規に繋いで確認する。確認できたら閉じてOK

3、22番ポートを閉じる

先ほど同様にファイアウォールルールを追加する
【注意点】
一致したときのアクション:拒否 を選択する

スクリーンショット 2020-02-20 21.42.42


4、サーバーにタグつけ

スクリーンショット 2020-02-20 21.43.35


これで一通りの設定は完了です。


おまけ

SSHで鍵認証を行いたいとき
公開鍵の登録方法・場所
ナビゲーションメニュー>Compute Engine>メタデータ>SSH 認証鍵
ここに登録する

アセット 2


この記事が気に入ったらサポートをしてみませんか?