GCP は無料で使えるインスタンスがあるみたいなので、使ってみる。
無料で使用できる条件
以下の条件で、WEB コンソールから、VM インスタンスを作成 する。OS はどれを選んでも問題ないが、ubuntu にする。
- US リージョンであること
- f1-micro インスタンスであること
- HDD 30GB までであること
SSH 接続
鍵作成
インスタンスの作成から、SSH まで gcloud で できるみたいだが、 とりあえずふつうに鍵を作成し、ログインする。
作成した鍵をメタデータ > SSH 認証鍵 に追加
鍵作成時、ユーザー名をつけると、GCE でもユーザーを追加してくれている。 追加されたユーザーは管理者権限を持っているので注意が必要。
# ローカルで鍵作成
ssh-keygen -t rsa -f ~/.ssh/gce-auth-key -C ユーザー名
# 権限設定
chmod 400 ~/.ssh/gce-auth-key
# 鍵コピー
cat ~/.ssh/gce-auth-key.pub
# 接続
ssh ユーザー名@外部IPアドレス -i ~/.ssh/gce-auth-key
ポート変更
sshのポートを変更する
# 設定ファイル編集
sudo vi /etc/ssh/sshd_config
PORT 22を任意のポートに変更
# 設定再読み込み
systemctl restart sshd
設定を再読み込みし、変更後のポートで接続確認をするまで、作業しているコンソールは閉じないほうがよい。
初期設定
タイムゾーン、言語設定等
必要そうなものを入れる
git インストール
sudo apt-get update
# git インストール
sudo apt-get install git
# docker ce インストール
# 公式で用意されている手順に従って、インストール
Docker インストール
# 事前インストールしておくべきものを入れておく
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo apt-get install docker-ce
# dockerは管理者権限が必要。dockerグループにユーザを追加してやることで、sudoを回避できる。
# dockerグループは、dockerインストール時に追加されている。
sudo adduser ユーザー名 docker
# 設定を反映させるために、再ログインする。
#docker composeインストール
sudo curl -L "https://github.com/docker/compose/releases/download/1.23.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 実行権限を与える
sudo chmod +x /usr/local/bin/docker-compose
ubuntu 18.04 からは、snap から Docker をインストールできるみたい。
docker-compose も一緒にインストールされるので、こちらの方が楽。
ただし、snap では、docker グループが作成されないので、snap インストールする前に、docker グループを作成してやる必要がある。
sudo addgroup --system docker
sudo adduser $USER
newgrp docker
sudo snap install docker
しかし、セキュリティの観点から、docker グループにユーザを追加して、実行するのは良くない みたい。