GCEでインスタンスを作るときにやることリスト

今更ながらGoogle Compute Engine(GCE)を使ってみたいなと思い、
インスタンス作るときにやった手順をまとめてみた。

ほぼ、以下の2つの記事を見てやった手順をまとめただけの備忘録。
GCE の無料枠のサーバを立るときに、初見でハマりそうなところ - Qiita
GCPで永久無料枠を利用してサービスを立ち上げたときにしたことの備忘録 - Qiita

1. インスタンス作成

imageはUbuntu 18.04(Minimal)を選択

  • f1-microにする
  • 80, 433ポートを開放する
    • 「HTTPトラフィックを許可する」にチェック
    • 「HTTPSトラフィックを許可する」にチェック
  • IPを固定にする
    • 「ネットワーキング」>「ネットワークインターフェース」>「外部IP」
    • 「プライマリ内部IP」とは違うので注意

2. SSHの設定

2-1. ポート変更

  • メニューの「VPCネットワーク」>「ファイアウォールルール」から
  • 「ファイアウォール ルールの作成」を押して作成
    • ターゲットタグ: original-allow-ssh
    • ソースIPの範囲: 0.0.0.0/0
    • プロトコルとポート: tcp 40022
  • VMの「ネットワークタグ」に「ターゲットタグ」をつける
  • 「VMインスタンス」にある該当のVMの「接続」>「SSH」を押してブラウザでログイン
# apt updateしないとvimをインストールできない
$ sudo apt update
$ sudo apt install -y vim

$ sudo vim /etc/ssh/sshd_config
$ sudo systemctl restart sshd
  #Port 22
+ Port XXXX (XXXX は さっき開けたポート番号)
  #AddressFamily any
  #ListenAddress 0.0.0.0
  #ListenAddress ::

sshdを再起動したら、編集したブラウザは閉じずに
「接続」>「ブラウザからカスタムポートで SSH を開く」から
変更したポートで接続してみて、つながるかどうかを確認

うまくできたらポートを閉じる

  • 「ファイアウォールルール」に移動
  • 「ファイアウォール ルールの作成」を押して作成
    • ターゲットタグ: disallow-ssh22
    • 一致したときのアクション: 拒否
    • ソースIPの範囲: 0.0.0.0/0
    • プロトコルとポート: tcp 22
  • VMの「ネットワークタグ」に「ターゲットタグ」をつける

2-2. 公開鍵の認証

# 鍵を生成。アカウント名はmemorylovers
$ ssh-keygen -t rsa -f ~/.ssh/gcp_key -C memorylovers

$ chmod 400 ~/.ssh/gcp_key 

# 公開鍵をコピー
$ cat ~/.ssh/gcp_key.pub | pbcopy
  • メニューの「VMインスタンス」から該当のVMを選択し、編集画面へ
  • SSHキーに貼り付けて、保存

接続確認をしてみる

$ ssh [email protected]<IPアドレス> -p <指定したポート> -i ~/.ssh/gcp_key

2-3. SSHの設定を変更

ポート番号以外について、確認・設定していく

  # プロトコルを2にする
+ Protocol 2

  # rootログインを無効にする
  #PermitRootLogin prohibit-password
+ PermitRootLogin no

  # パスワード認証を無効にする
  PasswordAuthentication no
  ChallengeResponseAuthentication no

  # 認証の試行回数を制限する
  #MaxAuthTries 6
+ MaxAuthTries 5

設定が終わったらsshdを再起動して設定を反映

$ sudo systemctl restart sshd

以上!! これでインスタンスが作成できた!

こんなのつくってます!!

積読用の読書管理アプリ 『積読ハウマッチ』をリリースしました!
積読ハウマッチは、Nuxt.js+Firebaseで開発してます!

もしよかったら、遊んでみてくださいヽ(=´▽`=)ノ

要望・感想・アドバイスなどあれば、
公式アカウント(@MemoryLoverz)や開発者(@kira_puka)まで♪

参考にしたサイト

Originally published at qiita.com

きらぷか@i18n補助ツール『トランスノート』開発者

フリーエンジニア/今はNuxt.js/いつかFlutter 受託&アプリ/Webサービス/ゲームを #個人開発 CS修士→SIer/R&D→フリー #paiza はAランクで満足/AtCoderしたい 仕事依頼やご相談はDMまで Kotlin/Python/Swift/Unity/Java/Haskell/DDD

Crieitは個人で開発中です。 興味がある方は是非記事の投稿をお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください!

ボードとは?

関連記事

コメント