メインコンテンツに移動

1年ほど前に、GCPにVMインスタンス(仮想マシン)を作成する過程を記事にしました。
https://minokamo.tokyo/2020/08/27/2723/
あれからGCPのデザインやプラン、やり方に変更があったので、新規にインスタンスを作成してみます。
それではやっていきましょう。

ナビゲーションメニューからCompute Engineをクリックします。
現れたページの上にある「インスタンスを作成」をクリックしてウィザードにそって作成していきます。名前を任意で決め、リージョンを決めます。マシンの構成ですが、ここではずっと無料のプランを選択します。シリーズにE2を、マシンタイプではe2-microを選択します。この前まではf1-microが無料でしたが前者に変更になりました。CPUやメモリがパワーアップしました。ありがたいことです。


次に、ブートディスクの項目で変更をクリックします。
OSをRed Hat Enterpriseにして、バージョンはRed Hat Enterprise Linux8にしました。ブートディスクの種類もバランス永続ディスクから標準永続ディスクにしました。30GBまでが無料のサイズみたいです。

ファイアーウォールではhttpとhttpsが共に「トラフィックを許可する」にチェックをいれ、Webサーバーを公開できるようにします。これは今やらなくても、後からでも変更できます。
ネットワーキングにおいてIP転送を有効にしておきます。VPNサーバーなどを設置したい場合、必要になります。他にもネットワーキングやディスクの項目を必要に応じて確認します。特に変更箇所はなかったので最後に作成ボタンを押します。
少し待てば、仮想マシンが完成します。
インスタンスの画面でも確認できますが、ナビゲーションメニューにあるVPCネットワークで外部IPアドレスをクリックすると、グローバルIPアドレスが割り当てられています。
今は外部IPがエフェメラルになっており、インスタンスを停止するごとに、この外部IPが変更になります。以前は静的にして固定していましたが、このまま動的にしておきます。
静的だとインスタンスを削除しても外部IPはそのまま残り、これを削除し忘れると料金が発生します。
一方、動的だとインスタンスを停止した時でも自動で外部IPはなくなります。起動している時に外部IPが割り振られるわけです。
Linux OS自体に自動的にドメインとIPアドレスの関連付けをするツールをインストールする予定なので動的にすることにしました。

今度は作成したインスタンスに接続をします。もっとも簡単な方法はGCPの画面においてSSHをクリックしてブラウザで接続する方法です。特に設定する項目はないと思います。
ここではTera Termを使用して接続をする方法を紹介いたします。
それをするためにCompute Engineの項目にあるメタデータをクリックします。SSH認証鍵のタブでここに認証情報を貼り付けるわけですが、Tera Termでそれを作成することができます。
ブラウザでSSH接続ができたので、その認証情報が自動で作成されていると思いますが新規で作成します。また、ファイアーウォールでポート番号22を開放しておきます。


それでは接続に必要な認証鍵を作成しましょう。Tera Termで設定にあるSSH認証鍵をクリックします。生成ボタンをクリックします。

「鍵を生成しました」とでたら、コメント欄に接続したいユーザー名を入力します。パスフレーズは無くてもOKです。この状態で公開鍵と秘密鍵を保存します。

ブラウザのGCPの画面に戻り、メタデータにあるSSH認証鍵のタブで編集をクリックします。「項目を追加」をクリックすると何かしら入力できるので、公開鍵の内容をコピペして保存します。拡張子が.pubとなっており、メモ帳などで開けます。

再びTera Termで新規接続をします。ホストに外部IPを入力しOKボタンをクリックします。セキュリティ警告がでますがそのまま続行し、ユーザー名に、先ほどコメント欄に入力したユーザーを入力します。認証方式で秘密鍵を選択できるので、作成した秘密鍵を読み込んできます。これで接続できるはずです。

せっかくなのでrootのパスワードを設定します。

sudo passwd root