皆さん、パブリッククラウド使ってますか?
現在主流となっているパブリッククラウドとしてはAWS、Azure、GCPの3つかと思います。
私はこれまでAWS、Azureについては業務で使用したことがあるものの、GCPについては全く触れる機会がありませんでした。
そのため今回はGCPでインスタンスを構築してSSHで接続する、というところまで実施してみたいと思います。
※今回はGCPのサインアップについては割愛します。
1.プロジェクトの作成
GCPでは最初にプロジェクトの作成を実施する必要があります。
GCPの各種リソースや使用するAPI等は全てプロジェクトと紐づけられます。
この点はAWS、Azureとの大きな違いかと思います。
① 画面上部の[プロジェクトの選択]から[新しいプロジェクト]を選択。

② 任意のプロジェクト名を入力し、[作成]をクリック。

③ 作成が完了するとプロジェクト画面へ自動的に遷移します。

これでプロジェクトの作成は完了です。
プロジェクトの作成自体はとても簡単にできてしまいますね。
2.VMインスタンスの作成
次にVMインスタンスを作成していきます。
① 画面左上のハンバーガーメニューから、[COMPUTE ENGINE]をクリック。

② COMPUTE ENGINE APIを[有効にする]をクリック。

③ COMPUTE ENGINE APIを有効化後に [インスタンスを作成]をクリック

④ 構築するインスタンスの各種パラメータを設定し、[作成]をクリック。
今回は以下の通り設定しました。
[名前]:test-instance
[リージョン]:asia-northeast1(東京)
[ゾーン]:asia-northeast1-b
[マシンファミリー]:汎用
[シリーズ]:E2
[マシンタイプ]:e2-small
[ブートディスク]:Red Hat Enterprise Linux 7
[ブートディスクの種類]:標準の永続ディスク 20GB
※その他の項目はデフォルト値


⑤ インスタンスの作成が完了しました。

3.作成したインスタンスへSSH接続
実際に作成したインスタンスへSSH接続してみます。
① 作成したインスタンスの接続から[SSH]をクリック。

② WEBコンソールが起動し、インスタンスにSSHで接続されます。
※接続ユーザーはGCPに登録しているユーザーとなります。

次にTeraTermを用いてSSH接続ができるようにキーペアを作成していきます。
③ コンソール上で以下のコマンドを実行し、キーペアを作成。
④ コンソール上で以下のコマンドを実行し、作成された公開鍵をAUTHORIZED_KEYSに上書きし、パーミッションを変更。
⑤ コンソール上で以下のコマンドを実行し、秘密鍵の中身をコピーしてテキストエディタ等を使用してPEM形式で保存。
⑥ GCPコンソールにてインスタンスの外部IPをコピー。

⑦ TERATERMを起動し、[ホスト]に先ほどのIPアドレスをペーストし[OK]をクリック。

⑧ ユーザー名を入力し、[RSA/DSA/ECDSA/ED25519鍵を使う]にチェックを入れ、秘密鍵に先ほど保存したPEMファイルを指定して[OK]をクリック。

⑨ TERATERMからSSH接続ができました。

4.まとめ
今回はGCPにおけるプロジェクトの作成~インスタンスへの接続までを実施しました。
AWSやAzureでは最初にネットワーク等の設定が必要になりますが、GCPでは特にネットワーク等を意識していなくてもインスタンスの構築~接続ができ、まず試しに触れる環境を作るという面ではとっつきやすいように感じました。
またGCPはコンソール等がAWS、Azureに比べても簡潔で見やすく、初学者でも操作が容易であることは大きなメリットであると感じました。
GCPには機械学習やビッグデータ等の需要が高まってくるであろうサービスも充実しており、パブリッククラウドの中でシェアを伸ばしてくる可能性は大きいと思います。
皆さんも今後パブリッククラウドを使用する際の選択肢として、GCPを検討してみては如何でしょうか。