Gcp | iii threetreeslight

May 13, 2018

support https access to blog with loadbalancer

GCPを触れば触るほどmodule化されているんだなぁと関心。 GCS単体ではhttpsアクセス出来ないので、前段にloadbalancerを噛ませてhttpsアクセスできるようにしてみる。 構成 GCPのloadbalancerはawsとだいぶ違う。 そのため、全体像を事前に理解しておくために コンテンツ ベースの負荷分散の作成 をやっておくと良い。 出典: コンテンツ ベースの負荷分散の作成 今回はGCSへ転送するので、backend-serviceではなくbackend bucketを利用します。 IP <-> forwarding rule <-> target proxy <-> url-map <-> backend-buckets <-> gcs AWSとだいぶ異なるため、それぞれの構成要素がawsでいうと何に当たるのかをマッピングして説明します。 IP entrypointとなるIP address. gcpから払い出しておく必要がある AWSのように作成されたloadbalancerに勝手にentrypointが出来るものではなく、IPを払い出し明示的に割り当てる必要がある forwarding rule 指定されたip, portへのrequestを何処に転送 (target proxy) するか決まったルール 特定のloadbalancerに必ず紐づくものではない。 AWSでいうとalbのlistenerあたりが近い。また、security groupが無いということ。 target proxy URL マップにリクエストの経路を指定するターゲット HTTP プロキシ。そのため、https access時の認証を行うssl証明書はtarget proxyが保持する AWSでいうlistenerが近い。 url-map リクエストの URL を解析し、リクエスト URL のホストとパスに基づいて、特定のバックエンド サービスに特定のリクエストを転送。 AWSでいうとtaget groupが近い backend-bucket url-mapをもとに決定された転送先。 backend-serviceを利用するとインスタンスのhealthcheckまでを責務を持つものに成る。 url-mapとbackend-bucketをあわせることで、awsでいうtarget groupになる。 Creating Content-Based Load Balancing gcs bucketにアクセスをつなぐbackend bucketを作成します。 事前に blog. ... Read more

May 7, 2018

Publish blog on GCS

とりあえずある程度形ができたので、publishしていきたいと思う。 hosting static website on gcs とりあえずgcsでstatic site hosting出来るだろうと思ったら、あった。 https://cloud.google.com/storage/docs/hosting-static-website まずはdomainの所有権をgoogle search consoleから取得しなければいけないというところにgoogleっぽさを感じた。 AWS S3ではbucket作ってcnameで飛ばせば良いだけなのに対し、GCP上では結構違う domain nameを含むバケットの場合は、ドメインの所有権認証をする https://cloud.google.com/storage/docs/domain-name-verification#verification googleっぽい valueに c.storage.googleapis.com. を指定したCNAME DNS recordを作成する GCSはGCP内からのアクセスを前提としたストレージであり、public endpointが最初から提供されていないということかな? 公開endpointは c.storage.googleapis.com にアクセスするとproxyされるという妙 あとはgcs bucketを作って、コンテンツをuploadし、各ファイルにread権限を付与 静的サイトのエンドポイントにアクセスしたときに表示するページやエラーページを指定 一旦公開できた。