Google Compute Engine(GCE)上で新規インスタンスを作成する方法

STUDY プログラミング

Google Cloud Platformで提供されているGoogle Compute Engine(以下GCE)では、Googleが運用するサーバ上で動く仮想マシンを作ることができます。

GCEは高速・安定・コストパフォーマンスの良さがそろっているサービスであり、クラウドサーバの選択肢として非常に魅力的です。

本記事では、これからGCEの利用を考えている方々向けに、GCE上で新しくインスタンスを作成する方法をSSH認証鍵の設定方法とroot権限の設定方法も含めて解説します。

インスタンスとは

プログラミング用語として使われる場合のインスタンス(instance)は、クラスが生成した実体のことを指します。クラスが抽象的な概念とすれば、インスタンスはその具体的な概念と言えます。形や重さなどの特徴が書かれている設計書をクラス、設計書に基づいて作られた製品をインスタンスと考えればイメージしやすいと思います。

GCEでの新規インスタンス作成方法

はじめに、GCPにログインしてプロジェクトを新規作成を行います。分かりやすい名前を付け、そのプロジェクトを選択した状態で「Google Compute Engine」に移動してVMインスタンスを新規作成します。(画面デザインは頻繁に変わるので自分で相当するものを見つけてください)

マシンタイプを選択

マシンタイプは、インスタンスのCPUやメモリのスペックで分類されたプランから好きな構成を1つ選びます。自分好みにカスタマイズすることもできます。もちろんマシンタイプはいつでも変更可能です。最初はデフォルトで提供されているプランから選んで問題ありません。

選択したスペックに対して月々発生する金額が自動的に横に表示されます。無料試用できる枠も条件付きで用意されているため、新規にGoogle Cloud Platformを使い始めるのであれば、無料クレジット枠をぜひ使ってみてください。(GCP 無料の長期トライアル | Google Cloud Platform

ブートディスクの選択

インスタンスに必要なブートディスクを選択すします。CentOS、Debian、Ubuntuなどを選択できます。永続ディスクのサイズはデフォルトの設定でひとまず大丈夫です。追加ディスクの設定はいつでも可能です。(今回は、日本国内でオーソドックスなOSであるCentOS7を選択しました。)

ファイアウォールの設定

GCEのインスタンス作成では、ファイアウォール設定をインスタンス作成前のタイミングで行うことができます。Webサービスを公開する場合は「HTTPトラフィックを許可する」と「HTTPSトラフィックを許可する」にチェックを入れておきます。

SSH認証鍵の設定

SSH認証鍵を設定します。SSH認証鍵を設定すると自動的にユーザ名が割り当てられます。

SSH認証鍵の作成方法はツールによって異なるので、公式のSSH認証鍵ペアによるインスタンスアクセスの管理 | Google Cloud Platformを参照してください。

プロジェクト内の全インスタンスに共通のSSH認証鍵を設定することもできます。共通のSSH認証鍵はメタデータのSSH認証鍵の登録画面で設定可能です。テスト環境をGCEで構築する場合、メタデータへのSSH認証鍵の登録は1つ工程を省けるので大変便利な機能です。

その他

その他の設定はデフォルト設定でもかまいません。外部IPに特定のIPアドレスを設定する場合は、新しい静的IPアドレスを設定する必要があります。ただ、インスタンス停止時には静的IPアドレスには維持費用が発生するので注意してください。

インスタンスのIPアドレスの設定

最後に「作成」をクリックして、新しいインスタンスを作成します。慣れてくれば、ここまでの工程を3分程度で完了できるようになります。

rootログイン設定

rootログインは、新規インスタンスを作成したばかりの状態ではできないように設定されています。rootログインできるようにするために、新規作成したインスタンスの接続でSSHをクリックして、

# sudo su

でrootにユーザを切り替えます。

rootにパスワードが設定されていないので、次のコマンドからパスワードを設定します。

# passwd

パスワードを入力するとパスワードの再入力を求められるので、同じパスワードを入力してEnterを押し、rootパスワード設定を完了させます。

rootログインを許可するには、rootユーザの状態で

# vi /etc/ssh/sshd_config

によってSSH設定ファイルに入り、

PermitrRootLogin no

となっている部分を

PermitrRootLogin yes

に変更します。

設定を反映させるためにsshdを再起動します。CentOS7では

# systemctl restart sshd.service

でsshdを再起動できます。

また、インスタンスの再起動時にsshdが自動起動するように設定しておきます。

# systemctl enable sshd.service

これでGCEでの新規インスタンス作成は完了です。