2022年12月22日
前回の記事でとにかく試しに触ってみたいと思って容量やスペックなどを最小のものにしてサーバーを立ててました。
何ヶ月かいじってたのですが請求も0円だったので適当にやった割にはちゃんと無料枠内でできていたようなのですが、ここらで一度整理して再度立ててみようと思います。Laravelのインストールもできてるんだかできてないんだかという感じでしたので。記事作成にあたりいろいろ調べていたら初期設定などやらなければいけないこともあるみたいなのでそちらもきっちりやっていこうと思います。
インスタンスってよく聞くけどよく意味がわからない。調べると実行とかそんな意味。
まずGoogle Cloudで新規プロジェクトを作成します。ここは前に作ってしまったので画像なし。どんな工程だったかも覚えてません。
次にメニューからCompute Engine→VMインスタンスを選択します。
次の画面のインスタンスを作成をクリックします。
名前はララベルのテストしたいのでLaravel-test-1とかにします。ミスってやり直すことを想定して1とかつけて保険をかけてます。
リージョンはus-なんたら1なら永続的に無料だとかなんとか。参考にしたところに合わせてオレゴンにします。ゾーンは初期のままで大丈夫っぽい。
次にマシン構成でシリーズはE2でマシンタイプはe2-microにします。一番低いスペックですかね。
ブートディスクのところでOSを選択します。これは仕事に合わせたOSにします。
ファイアウォールの部分でHTTPトラフィックとHTTPSトラフィックの両方を許可します。
間違ってここで作成押しちゃったから画像がないんですが、詳細オプションの管理の可用性ポリシーをスポットに変更して作成をクリックします。
これでとりあえずできましたね。必須でやれと言われていたことはやりました。それでも月間予測の費用が0になっていないのが不安。前回適当に作った時もこれで請求されていないのでたぶん大丈夫だとは思うですが…
初期設定だと外部IPアドレスはエフェメラルの状態になっているようです。これは外部IPがインスタンスが立ち上がるたびに違うものになる設定のようで、ドメインを割り当てる場合などに困るので固定に変更します。
ネットワークインターフェースの部分で外部IPv4アドレスに適当な名前を付けると固定IPアドレスが割り振られます。
こちらの記事にも書いたのですが、後日やたら課金されてると思ったらこの固定IPに課金されてました。
いろいろ調べてると稼働してるインスタンスだったら課金されないという記事もあったのですが、今は課金されるみたいです。固定するとしたらアプリケーションが完成してからのほうがいいみたいですね。
ssh接続をするためのポート番号を変更します。
デフォルトは22番になっているのですが、こちらはwell-knownポート(ウェルノウンポートとは、TCP/IPによる通信で利用されるTCPやUDPのポート番号のうち、著名なサービスやプロトコルが利用するために予約されている0番から1023番のこと)なのでポートスキャンを行われて課金対象になる可能性があるので違うポートにします。
まずはファイアウォールのルールを作成します。ここで許可したポート番号をsshで接続するポート番号にします。
VPCネットワークのファイアウォールを開きます。上部の「ファイアウォールルールの作成」をクリックして作成します。
名前はわかりやすい名前に、ターゲットは「指定されたターゲットタグ」を選択、このルールのタグをその下で設定してこのタグをインスタンスのほうに設定するみたいです。
送信元IPは0.0.0.0/0を入力し、プロトコルとポートのTCPの部分に任意の解放したいポート番号を入力します。
次にインスタンスの編集画面に戻り、ファイアウォールでhttpとhttpsをチェックしたところの下にネットワークタグの欄があるので、ここで先ほど付けたタグを追加します。
保存した後、sshに接続します。
/etc/ssh/sshd_configを修正するのですが、ルート権限がないと編集できないディレクトリになるので、コマンドを入力する際は最初にsudoをを入力しておけばルート権限でコマンドが使用できるみたいです。
sudo vi /etc/ssh/sshd_config
これでエディターが開くのでその中のポートの部分を
#Port 22
Port xxxx ←設定したポート番号
このように書き換えで保存します。
編集して保存するためにコマンドを入力する必要があって、こちらを参考にしながら編集しました。
保存してエディターを閉じたら、
sudo systemctl restart sshd
これで再起動?します。
次にインスタンスのSSHのメニューで、「ブラウザウィンドウでカスタムポートを開く」を選択して、解放したポートを入力して開いてSSHが開けばポートの追加が成功しています。
次に22番ポートを閉じます。ファイアウォールルールに22番ポートを許可しないルールを追加します。
解放のルールを追加したときと同様に適当な名前とタグ名をつけて、一致したときのアクションで「拒否」を選択します。
これで保存して、インスタンスにタグを追加します。
これで通常のSSHで接続しようとしてみてできなければ成功です。
前回適当にやったのに比べるとけっこうやること多かったですね。
ちゃんとやってよかった…
次回は改めてこちらのサーバーにLaravelをインストールしていきたいと思います。
お仕事のご依頼やご相談、弊社サービス内容に関してなど、お気軽にご相談ください。