Photo by David Watkis
Cloud
docker/Container VM on Google Compute EngineでPostgresqlのベンチマークを実施。
主にディスク容量と性能の傾向を確認したかったため …
Google Compute Engineのインスタンスには、gcloud compute sshコマンドが提供されています。
さらに、Developers Consoleに登録したSSH鍵の情報を用 …
Google Compute Engineのmicroインスタンス(f1-micro)上のサービスが安定せず、何度再起動しても数日でハングアップする、という挙動に遭遇しました。
dockerがコンテナ …
Webサービスの普及により、ユーザーが保有するアカウントの数は続々と増えています。
大規模なサービスでは自社サービスを横断利用できるような共通IDへの統合も進んでいますが、多くのWebサイトではなおそ …
クライアント証明書による認証は、追加の機器などを必要とせずに比較的確実にアクセスを制限できるため便利です。またサーバー証明書と異なり、自前発行の証明書でもブラウザーのエラーにならないため、セキュリティ …
Google Cloud Storage (GCS)には、サイト配信やスタティックファイル配信の機能があります。AWSのS3と似た機能です。
Google Cloud SDKをインストールすると …
メール配信サービスSendGridを利用する際、Whitelabel(ホワイトラベル)を事前設定しておくことで、迷惑メールフォルダに分類されるスパム判定の度合いや、Gmailなど受信アドレス欄の …
標準化されたWebサービス認証手段の1つに、プライベートCA(オレオレ認証局)からSSLクライアント証明書を発行する手があります。
パスワード認証などと併用することで、セキュリティ強化を図れます。
大 …
Dockerはイメージ取得レジストリのデフォルトに Docker Hub を利用しています。Docker Hubサービス上でビルドできる Automated Build 機能を利用すると …
Google Cloudにも Cloud DNS があり、DNSサーバーをホスト可能です。
Let’s Encryptのワイルドカード証明書取得のためのCertbotプラグインもCloud DNSをサ …
サービスアカウントは、Google CloudのAPI利用の際にアプリケーションを認証するアカウントです(詳細は 公式ドキュメント 参照)。
多くのケースでは、jsonファイルを取得してAPIクライア …
無料SSL証明書のLet’s EncryptがACMEv2プロトコルでワイルドカード証明書発行に対応しました。
ACMEv1でも、サブドメインを羅列することで1枚の証明書に複数ドメインの証明を混載でき …
Google Cloud Build は、CI/CD をホストするサービスです。
Artifact Registry と統合されており、GKE で動作させる docker イメージをビルドする用途に …
日本向けディストリビューション以外の環境では、おおくの場合タイムゾーンがUTC(グリニッジ標準時)に設定されており、JST(日本標準時)と9時間ずれていることがあります。
(現在の時間帯設定は、シェル …
Google Cloud Storage(GCS)はスタティックサイトのホスティングにも利用できます。
基礎的な設定 バケットはサイト専用に用意し、権限はallUsersに読み取り権限を追加します。 …
クラウド・プラットフォームは柔軟に増設可能であり、利用上限は青天井です。課金対象リソースを意識して制御する限り緻密にコストを制御できますが、誤操作・悪用・オートスケールなど、いくつか意図しない課金の余 …
envoyは高機能なネットワークプロキシで、サポートするプロトコルが豊富、動的に構成変更が可能といった特長があります。 高機能プロキシ共通の課題としてconfigが複雑であるため、構成を理解することが …
envoyのconfig は、設定ファイルにスタティックに定義する方法のほか、xDSプロトコルに沿って動的に設定する方法も利用できます。
xDSはgRPCサービスを構成する方法と、configファイ …
envoyは非常に高機能なプロキシですが、Basic認証のフィルタ機能はありません。 Set basic authentication to the endpoint で議論されているように、同等の機 …
JWTについては、発行やリフレッシュなどライフサイクル全体を設計する必要がありますが、envoyは主要な機能であるJWTの有効性検証を提供しています。
対応アルゴリズムなどの概要は、 JWT …
envoyは多様なプロトコルに対応しています。TCPプロキシとしても利用でき、HTTPプロキシ機能と混在も可能です。
TCPはHTTPと比べて取り扱う処理が少ないため、設定もシンプルです。以下はSSH …
原則として、kubernetesやdockerなどのコンテナは、単一プロセス構成で設計します。 「なるべくシンプルな方が良いから」という曖昧な理由ではなく、対障害の観点でベストプラクティスを検討すると …
kubectlなどkubernetesクラスタとの通信は、クラスタごとのルートCAで署名されており、GKEのルートCAは5年で期限が切れるため手動更新が必要です。
Google Kubernetes …
Google Kubernetes Engine(GKE)のサーバーはノードプール単位で管理します。
GKEノードのマシンタイプを変更したい場合には、新規ノードプールの作成のうえ、コンテナ移行が必要で …
Google Chat (旧Hangouts)はSlackなどと同様のビジネスチャットで、Google Workspaceに統合されています。
テーマ別のスペースやチャットボットなどの一般的な機能に …
Google Cloudはネットワーク製品のラインアップが充実していますが、製品ごとに機能と受け付けるオプションが異なるため製品理解が重要です。
まず、製品名が互いに似通っていて区別しづらいため、 …
envoyの HTTPアップグレード 機能は、WebSocketとHTTP CONNECTメソッドをサポートしています。
CONNECTを使うとTCP通信をトンネルできます。
また、SNIに対応したク …
プロキシを利用した場合、一般的にサービスが受け取る接続元IPはプロキシのIPになります。
じっさいの接続元IPはヘッダーなどから抽出する必要があります。
GCPのHTTPSロードバランサーの場合、 タ …
WindowsにもMicrosoftが配布しているOpenSSHのクライアントがあり、ターミナル上のPowerShellから利用できます。
たとえばAlacrittyなどUnix系OSと同じターミナル …
Google Kubernetes Engineは、Pod/ServiceのIPをVPCのサブネット範囲で動的に設定しています(古いクラスタでVPCネイティブでない場合をのぞく)。
Podと …
※ Terraformer は obsolete になりました。現在、同じ目的には OpenTofu の標準機能によるエクスポート が可能です。
Terraformer は、稼働中のクラウドから …
Windows10の1803バージョン以降では、オプション機能の追加によりWindows標準のOpenSSHサーバーを追加インストールできます。
設定にはWindows特有の仕様がありますが、動作じた …