GCE(Google Compute Engine)は、GCP(Google Cloud Computing)の IaaS(Infrastructure as a Service) な仮想PCで、AWS EC2と同じ位置付けです。
まずGCPを利用できるように、Googleアカウントでログインして、プロジェクトを作成しておいてください。
また、実際のインスタンス起動では料金が発生するため、クレジットカードの登録が必要です。
公式サイトからインストーラをダウンロードします。
https://cloud.google.com/sdk/docs/quickstart-macos?hl=ja
インストーラを解凍します。
$ tar -xvf google-cloud-sdk-280.0.0-darwin-x86_64.tar.gz
インストールは、シェルスクリプトで設問形式で行います。 デフォルトでは「.bash_profile」にパスが記述されます。
$ ./google-cloud-sdk/install.sh ... Do you want to help improve the Google Cloud SDK (y/N)? y
...
Do you want to continue (Y/n)?
...
[/Users/yoo/.bash_profile]:
インストール直後なので「.bash_profile」を再読み込みします。
$ source ~/.bash_profile
$ gcloud --version Google Cloud SDK 280.0.0 bq 2.0.53 core 2020.02.07 gsutil 4.47
Homebrew でもインストールできますが、インストール後は主導でパスを通してください。
$ brew search google-cloud-sdk
$ brew install google-cloud-sdk
$ mkdir gcp
$ cd gcp
$ gcloud init
Googleログイン画面が表示されます。 利用するGCPのアカウントでログインし、内容を確認し「許可」します。
...
Pick cloud project to use:
[1] api-project-554441359651
[2] voltaic-quest-272407
[3] yoo-app
[4] Create a new project
Please enter numeric choice or text value (must exactly match list
item): 3
...
* Run `gcloud --help` to see the Cloud Platform services you can interact with. And run `gcloud help COMMAND` to get help on any gcloud command.
* Run `gcloud topic --help` to learn about advanced features of the SDK like arg files and output formatting
$ gcloud components update
...
Do you want to continue (Y/n)?
...
Update done!
To revert your SDK to the previously installed version, you may run:
$ gcloud components update --version 280.0.0
$ gcloud projects list
PROJECT_ID NAME PROJECT_NUMBER
api-project-554441359651 Houngout Test xxxxxxxx
voltaic-quest-272407 Demo xxxxxxxx
yoo-app yoo-app xxxxxxxx
インスタンス「test-instance」を作成してみます。 インスタンス起動中はここから料金がかかるので、注意が必要です。
$ gcloud compute instances create test-instance
...
Would you like to enable and retry (this will take a few minutes)?
(y/N)? y
暫く待つとリージョンの設問があるので、利用したい番号を入力します。
※インスタンスを一度作成するとリージョンは変更できません
東京の場合は「asia-northeast1」ですが、」無料枠を利用したい場合、「us-**」を選びます。
※コンピュータタイプ「f1-micro」であること
...
choose a zone:
...
[7] asia-northeast1-a
[8] asia-northeast1-b
[9] asia-northeast1-c
...
Please enter your numeric choice: 7
テストインスタンスが作成と起動が完了しました。
Created [https://www.googleapis.com/compute/v1/projects/yoo-app/zones/asia-northeast1-a/instances/test-instance]. NAME ZONE MACHINE_TYPE PREEMPTIBLE INTERNAL_IP EXTERNAL_IP STATUS test-instance asia-northeast1-a n1-standard-1 xx.xx.xx.xx xx.xx.xx.xx RUNNING
デフォルトのインスタンスタイプは「n1-standard-1」になっています。
最小限に料金を抑えるためには、一度インスタンスを停止して、GCPで「f1-micro」に変更しましょう。
$ gcloud compute instances stop test-instance
ターミナルでインスタンスに sshログインします。
初回は認証鍵用のパスフレーズを入力します。
$ gcloud compute ssh test-instance
...
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
...
Enter passphrase for key '/Users/yoo/.ssh/google_compute_engine':
...
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Linuxのディストリビューションは「Debian」がインストールされているようです。
Webサーバ Apache2 をインストールします。インストール完了後、Apacheは自動起動します。
$ sudo apt-get update && sudo apt-get install apache2 -y
「http」「https」ポートが利用できないので、インスタンス詳細 > 編集 から設定を有効にて「保存」します。
$ gcloud compute instances start test-instance
...
Instance internal IP is xx.xx.xx.xx
Instance external IP is xx.xx.xx.xx
起動したら、外部IPアドレスでブラウザにアクセスします。 最後に利用しない場合は、インスタンスを停止するのを忘れないでください。