皆さん、パブリッククラウド使ってますか?
現在主流となっているパブリッククラウドとしてはAWS、Azure、GCPの3つかと思います。
私はこれまでAWS、Azureについては業務で使用したことがあるものの、GCPについては全く触れる機会がありませんでした。
そのため今回はGCPでインスタンスを構築してSSHで接続する、というところまで実施してみたいと思います。
※今回はGCPのサインアップについては割愛します。

1.プロジェクトの作成

GCPでは最初にプロジェクトの作成を実施する必要があります。
GCPの各種リソースや使用するAPI等は全てプロジェクトと紐づけられます。
この点はAWS、Azureとの大きな違いかと思います。

① 画面上部の[プロジェクトの選択]から[新しいプロジェクト]を選択。
画像に alt 属性が指定されていません。ファイル名: 29d3bc99193cb0b837fb8cc53f050ae5-1024x567.png
② 任意のプロジェクト名を入力し、[作成]をクリック。
画像に alt 属性が指定されていません。ファイル名: cbf5b9f60da99bf791c0aa12a770f429-1024x619.png
③ 作成が完了するとプロジェクト画面へ自動的に遷移します。
画像に alt 属性が指定されていません。ファイル名: 5e4896966c9944fcf00890f4502605bf.png

これでプロジェクトの作成は完了です。
プロジェクトの作成自体はとても簡単にできてしまいますね。

2.VMインスタンスの作成

次にVMインスタンスを作成していきます。

① 画面左上のハンバーガーメニューから、[COMPUTE ENGINE]をクリック。
画像に alt 属性が指定されていません。ファイル名: 1efad1b5aa917a846fa5b3fc11367269-752x1024.png
② COMPUTE ENGINE APIを[有効にする]をクリック。
画像に alt 属性が指定されていません。ファイル名: 7d6fddc4d5f4457e598413974089fe73-1024x709.png
③ COMPUTE ENGINE APIを有効化後に [インスタンスを作成]をクリック
画像に alt 属性が指定されていません。ファイル名: 7adfed136bf50c6b1f5c23f5919c3a0a-1024x695.png
④ 構築するインスタンスの各種パラメータを設定し、[作成]をクリック。

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

画像に alt 属性が指定されていません。ファイル名: b12c8b7e401505670006e9aa6ee0e2d0.png
画像に alt 属性が指定されていません。ファイル名: 695e432aa0b80e914efae12cd0be2a70.png
⑤ インスタンスの作成が完了しました。
画像に alt 属性が指定されていません。ファイル名: 184e1fbbe38c6fb97ef918a7cd7090a8.png

3.作成したインスタンスへSSH接続

実際に作成したインスタンスへSSH接続してみます。

① 作成したインスタンスの接続から[SSH]をクリック。
画像に alt 属性が指定されていません。ファイル名: 6d58f877a83b152a3c3b13756107b189-1024x313.png
② WEBコンソールが起動し、インスタンスにSSHで接続されます。

※接続ユーザーはGCPに登録しているユーザーとなります。

画像に alt 属性が指定されていません。ファイル名: 150959d4ab52349cdf0bcb83e72c980e.png

次にTeraTermを用いてSSH接続ができるようにキーペアを作成していきます。

③ コンソール上で以下のコマンドを実行し、キーペアを作成。
④ コンソール上で以下のコマンドを実行し、作成された公開鍵をAUTHORIZED_KEYSに上書きし、パーミッションを変更。
⑤ コンソール上で以下のコマンドを実行し、秘密鍵の中身をコピーしてテキストエディタ等を使用してPEM形式で保存。
⑥ GCPコンソールにてインスタンスの外部IPをコピー。
画像に alt 属性が指定されていません。ファイル名: f470ecac932000fe5a8dfd123084d891-1024x319.png
⑦ TERATERMを起動し、[ホスト]に先ほどのIPアドレスをペーストし[OK]をクリック。
画像に alt 属性が指定されていません。ファイル名: cb79e4279c41f852ca70d64e3b88ed04-1024x750.png
⑧ ユーザー名を入力し、[RSA/DSA/ECDSA/ED25519鍵を使う]にチェックを入れ、秘密鍵に先ほど保存したPEMファイルを指定して[OK]をクリック。
画像に alt 属性が指定されていません。ファイル名: c1afbf4162ab12ae0b90d81b40760587.png
⑨ TERATERMからSSH接続ができました。
画像に alt 属性が指定されていません。ファイル名: 2d2a7c4e661bd24089796172dcaa48fd-1024x716.png

4.まとめ

今回はGCPにおけるプロジェクトの作成~インスタンスへの接続までを実施しました。

AWSやAzureでは最初にネットワーク等の設定が必要になりますが、GCPでは特にネットワーク等を意識していなくてもインスタンスの構築~接続ができ、まず試しに触れる環境を作るという面ではとっつきやすいように感じました。
またGCPはコンソール等がAWS、Azureに比べても簡潔で見やすく、初学者でも操作が容易であることは大きなメリットであると感じました。

GCPには機械学習やビッグデータ等の需要が高まってくるであろうサービスも充実しており、パブリッククラウドの中でシェアを伸ばしてくる可能性は大きいと思います。
皆さんも今後パブリッククラウドを使用する際の選択肢として、GCPを検討してみては如何でしょうか。