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

クラウドサービスのGoogle Cloud Platformで提供されるIaaSの1つがGoogle Compute Engine(以下GCE)だ。

実際にGCEでの新規インスタンス作成とそれに付随するSSH認証鍵やroot権限を設定を行ってみたところ、公式ドキュメントどおりに進めていくと少しつまづく点があった。そこでGCEでの新規インスタンス作成の方法を改めて解説する。

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

まずはGCPにログインしてプロジェクトを新規作成する。作成したプロジェクトを選択し、Goocle Copmpute Engineに移動してインスタンスを新規作成する。

マシンタイプを選択

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

選択したスペックに対してどれぐらいの金額が月々発生するかをリアルタイムに横に表示してくれる。無料試用できる枠も条件付きで用意されているので、新規にGoogle Cloud Platformを使い始めたのであれば無料クレジット枠まではお金もかからない。(Always Free Usage Limits | Google Cloud Platform

ブートディスクの選択

インスタンスに必要なブートディスクを選択する。CentOS、Debian、Ubuntuなどを選択できる。永続ディスクのサイズはデフォルトの設定でよい。ここでは日本ではオーソドックスなOSであるCentOS7を選択した。

ファイアウォールの設定

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

SSH認証鍵の設定

SSH認証鍵を設定する。SSH認証鍵を設定すると自動的にユーザ名が割り当てられる。SSH認証鍵の作成方法はツールによって異なるので、公式のSSH 認証鍵の追加および削除を参照してほしい。

プロジェクト内の全インスタンスに共通のSSH認証鍵を設定することもできる。共通のSSH認証鍵はメタデータのSSH認証鍵の登録画面で設定する。この機能はインスタンスを頻繁に作成・削除する場合に面倒な設定が1つ省けるので便利だ。

その他

その他の設定はデフォルト設定でもよい。外部IPに特定のIPアドレスを設定する場合は新しい静的IPアドレスを設定する必要がある。(ただし、インスタンス停止時には静的IPアドレスには維持費用が発生するので注意しておきたい。参照:インスタンスのIPアドレスの設定

最後に「作成」をクリックすれば新しいインスタンスが作成される。

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上でのインスタンス作成から基本的な環境設定は完了となる。