GCPで無料でサーバーをつくろう回
GCPを契約してサーバーをつくる
GCPを契約する
https://cloud.google.com/
GCPで最初のプロジェクトをつくる
https://console.cloud.google.com/projectcreate
適当な名前をつける
あとから変更できないので要注意
プロジェクト名は何回も入力するので、長すぎる名前にしてしまうとだるい
yuiseki.iconはyuiseki-developmentって名前にしたんだけど長い
yuiseki-devとかで良かった
あとから変更できない
短くてかつわかりやすい名前にしましょう
組織なしでOK
GCPのGCEでVMを立ち上げる
https://console.cloud.google.com/compute/instances
以下のように設定する
赤枠の部分の設定がすべて必須
https://gyazo.com/9a241664c52b376ad3a660f874056410
名前
適当な名前をつける
VM名は何回も入力するので、長すぎる名前にしてしまうとだるい
とりあえずドメイン名のドットをハイフンにするのがオススメ
yuiseki.net のサーバーなら yuiseki-net
リージョン
us-west1
us-*以外のリージョンを選ぶと無料枠の対象にならないので注意!
ゾーン
us-west1-a
シリーズ
N1
マシンタイプ
f1-micro
f1-micro以外のマシンタイプを選ぶと無料枠の対象にならないので注意!
ブートディスク
オペレーティングシステム
Ubuntu
バージョン
Ubuntu 20.04 LTS
サイズ
30GB
30GBを超える容量を指定すると無料枠の対象にならないので注意!
HTTPトラフィックを許可する
HTTPSトラフィックを許可する
「管理、セキュリティ、ディスク、ネットワーキング、単一テナンシー」をクリックして展開する
管理
削除からの保護の有効化
ネットワーキング
ネットワーク タグ
「allow-iap-up」と「allow-iap-down」 を追加
これをやらないと一切操作できないVMが立ち上がってしまうので注意!
外部IP
IPアドレスを作成
任意の名前をつける
プレミアムにする
端末 | ターミナル | Terminalを開く
gcloudコマンドをインストール&セットアップする
Windowsの場合
https://cloud.google.com/sdk/docs/quickstart-windows?hl=ja
Google Cloud SDK のインストーラをダウンロードしてインストールする
macOS/Linuxの場合
https://cloud.google.com/sdk/docs/quickstart-macos?hl=ja
google-cloud-sdkを解凍して中にある./install.shを実行する
いろいろ質問されて聞かれる
大文字のほうがデフォルト値なのでなるべくそちらを選んだほうが良い
macOSでわからない点
SDKの初期化の作業で、gcloud initと入力しても -bash: gcloud: command not found とでる
原因:環境変数 $PATH に gcloud コマンドのインストール先を追加するか?という質問でnを選んでしまっていた
解決法:./install.sh をやり直す
解説:$PATH
環境変数 $PATH に gcloud コマンドのインストール先を追加するか?という質問までに戻りたい
原因:シェルスクリプト | shell scriptの実行方法がわかっていなかった
解決法:./が必要だった
解説:シェルスクリプトの実行時の./はなぜ必要なのか
最後まで問題なくインストールが完了したが、まだgcloud initが見つからない
原因:./install.shが、.bash_profileを書き換えていた。新しいシェルを起動するまで反映されない
解決法:端末 | ターミナル | Terminalで新しいタブを開き、gcloud initを実行する
解説:.bash_profile
Compute Engine のゾーンを選択しろと指示があるが、vm設定のときと同じ「us-west1-a」を選んだほうがいいのか
Yes
gcloud initでいろいろなデフォルト値を選択しろと言われるが、デフォルト値は後からでも変えられるので
gcloudを以前使用したことがある場合はgcloud initしなおす必要がある
VMにSSHで接続できることを確認する
my-projectというプロジェクトで
vm-nameというVMインスタンスに
your-nameというユーザーでログインする場合
gcloud compute ssh --tunnel-through-iap --project "my-project" --zone "us-west1-a" "your-name@vm-name"
このコマンドを打った時点でyour-nameというユーザーが存在しない場合、勝手に作られる