Skip to content

Instantly share code, notes, and snippets.

@mimikun
Last active July 2, 2019 15:39
Show Gist options
  • Save mimikun/cbb179b572f1fd6a32ce6f606913fb9d to your computer and use it in GitHub Desktop.
Save mimikun/cbb179b572f1fd6a32ce6f606913fb9d to your computer and use it in GitHub Desktop.
GCLB仮設定表

GCLB設定表

ロードバランサ作る前にインスタンスグループを作る

動かすソフトウェアはwritefreely, Go言語製, デフォルトではlocalhost:8080で起動する
nginxをインストールしているが、この投稿に基づき、もしかしたら不要なのではないか?という考えが発生。
従って、nginxを一旦停止して検証を行っている。

インスタンスグループ作成

負荷分散まだイマイチ理解していないのと、そんな大層なサービスではないので、VM1個だけの非マネージドで

  • 名前: wfrta2-instance-group
  • ロケーション: シングルゾーン
  • リージョンとゾーン: asia-northeast-1b
  • ポート名のマッピング:
    • http: 80
    • https: 443
    • writefreely: 8080
  • ネットワーク: default
  • サブネットワーク: default
  • VMインスタンス:
    • writefreely-test-1

ロードバランサ(負荷分散)作成

負荷分散 -> HTTP(S)負荷分散

  • 名前: wfrta2-gclb

バックエンド設定

バックエンドの設定 -> バックエンドサービスを作成

  • 名前: wfrta2-backend-service
  • プロトコル: http
  • 名前付きポート: writefreely(8080番ポート)
  • タイムアウト: 30
  • バックエンドタイプ: インスタンスグループ
  • 新しいバックエンド:
    • インスタンスグループ: wfrta2-instance-group
    • ポート番号: 8080
    • 分散モード: 使用率
    • 最大CPU使用率: 80
    • 最大RPS: 空欄
    • 容量: 100
  • ヘルスチェック: 新規作成
    • 名前: wfrta2-health-check
    • プロトコル: http
    • ポート番号: 8080
    • プロキシのプロトコル: なし
    • リクエストパス: /
    • ヘルス条件: デフォルト

ホストとパスのルール

無編集

フロントエンドの設定

  • 名前: wfrta2-frontend
  • プロトコル: https
  • ネットワークサービス階層: プレミアム
  • IPバージョン: IPv4
  • IPアドレス: 新規取得
  • ポート: 443
  • 証明書: 新規作成
    • 名前: wfrta2-certificate
    • 作成モード: Google管理の証明書を作成する
    • ドメイン: wfrta2.mimikun.dev
  • SSLポリシー: GCPのデフォルト
  • QUICネゴシエーション: 自動(デフォルト)

Cloud DNSの作成

TODO: 調査中。

DNSゾーン作成する

  • ゾーン名: wfrta2-zone
  • DNS名: wfrta2.mimikun.dev
  • DNSSEC: オフ

レコードセットはすでにいくつか設定されていた。

自分の場合は以下の2つだった。

  • ns-cloud-b1.googledomains.com.
  • ns-cloud-b2.googledomains.com.

これをGoogle Domains(僕のドメインレジストラ)で, -> DNS -> NameServer のところに貼り付け。
その上、Custom resource recordsのところで, 以下のようなレコードを作成。

Name Type TTL Data
wfrta2 NS 2m ns-cloud-b1.googledomains.com.

TTLはいくつにすればいいか知らなかったため、2分とした。

そうすると証明書がアクティブになった。

表示されるエラーメッセージは以下の通り。

Error: Server Error
The server encountered a temporary error and could not complete your request.
Please try again in 30 seconds.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment