【告知】値の参照時の仕様変更のお知らせ
このたび2024年11月11日に値の参照に関する仕様変更を予定しておりますので詳細について報告いたします。
more
2023.08.22に公開 | 2023.08.23に更新
Querier運営
「Querier(クエリア)」は社内向け管理画面を圧倒的な速さで、かつビジネスのスケールに合わせて柔軟に構築することができるローコードツールです。
管理画面の構築もWeb上で完結
エンジニアのためのローコードツール
今回は、Google Cloud Platform内のサービスである、Cloud Load BalancingとCloud Runを使って、セキュアかつ手軽にサーバーを構築する方法を解説していきます。
特にスタートアップで最低限のセキュリティと可用性は保ちたいが、リソースはないような組織にはぴったりな構成だと思いますので、ぜひ最後まで読んでみてください。
今回は、Cloud Runのサービスは構築済みの前提で話を進めていきます。Cloud Runに関する詳しい解説はこちらの記事をご参照ください。
今までCloud Runの前段に特にロードバランサなどを配置していなく、セキュリティや可用性、複数サービスへのトラフィック転送の観点から、ロードバランサを配置したいと考えている方を対象に解説していきます。
GCPのロードバランサとして活躍するCloud Load Balancingは、サーバーやインスタンスへの入力トラフィックを均等に分散させる役割を果たします。
これにより、サイトの可用性が向上したり、パスごとにサービスをルーティングすることができます。
1. グローバルとリージョナルのロードバランシング
GCPのロードバランサは、グローバルなトラフィックとリージョナルなトラフィックの両方に対応しています。
これにより、ユーザーに近いデータセンターにリクエストをルーティングし、応答時間を短縮できます。
2. プロトコルの多様性
HTTP/HTTPS、TCP/UDPといった一般的な通信プロトコルに対応しており、さまざまなアプリケーションの要件を満たすことができます。
3. スケーラビリティ
GCPの強力なインフラストラクチャを利用し、大量のトラフィックも問題なくハンドリングします。
まずはCloud Load Balancingを作成します。
次に、フロントエンドの設定をしていきます。今回は以下の構成で設定してみようと思います。
それでは、設定する手順を解説します。
次に、バックエンドの設定をしていきます。
※複数のサービスを利用する場合は、上記の手順を繰り返します
最後にルーティングルールを設定していきます。
今回は、 /serviceB
というパスへのリクエストをCloud Runの serviceB
というサービスにトラフィックを分割し、それ以外のリクエストは serviceA
にルーティングする設定をしてみます。
/serviceB
と入力するこれでロードバランサの設定は完了です。証明書のプロビジョニングに少し時間がかかる場合がありますが、少し待つと反映されています。
Cloud Load Balancingでは、YAMLを利用してより複雑なルールを設定することができます。
今回は2つの例を挙げて解説していきます。より詳しい設定方法はこちらの公式ドキュメントをご参照ください。
まずは、該当のロードバランサの編集画面の [ルーティングルール] まで行きます。
[詳細なホストとパスのルール] を選択し、[ホストとパスのルールを追加] をクリックすることで、YAMLを記述することができます。
defaultService: projects/<project-id>/global/backendServices/serviceA
name: matcher1
routeRules:
- description: service-b
matchRules:
- pathTemplateMatch: /version/*/serviceB
priority: 1
service: projects/<project-id>/global/backendServices/serviceB
defaultService: projects/<project-id>/global/backendServices/serviceA
name: matcher1
routeRules:
- description: service-b
matchRules:
- headerMatchs:
- headerName: X-Service-Name
prefixMatch: serviceB
priority: 1
service: projects/<project-id>/global/backendServices/serviceB
Cloud ArmorはGoogle Cloud Platform (GCP)のウェブアプリケーションファイアウォールサービスです。
セキュリティポリシーを定義し、不正なトラフィックやDDoS攻撃からアプリケーションを保護することができます。
Cloud RunとCloud Load Balancingを使用する場合、Cloud Armorを組み合わせることで、より高度なセキュリティを確保することができます。
Cloud Armorの主な機能の一つはDDoS攻撃の防止です。大量の不正なトラフィックがCloud Runのインスタンスに直接到達する前に、Cloud Armorがそれを検知しフィルタリングします。これにより、リソースの浪費やサービスダウンのリスクを大幅に削減できます。
特定のIPアドレスやIP範囲からのアクセスを許可または拒否するポリシーを設定できます。これにより、信頼されたネットワークからのアクセスのみを許可する、あるいは不正なネットワークからのアクセスを拒否することができます。
特定のHTTPリクエストパターンを検出し、それに基づいてトラフィックを許可または拒否するカスタムルールを作成することができます。これにより、特定の攻撃ベクトルや不正なリクエストパターンに対して独自の保護策を施すことができます。
以上で特定のIPアドレスを拒否する設定は完了です。
Querier運営
「Querier(クエリア)」は社内向け管理画面を圧倒的な速さで、かつビジネスのスケールに合わせて柔軟に構築することができるローコードツールです。
このたび2024年11月11日に値の参照に関する仕様変更を予定しておりますので詳細について報告いたします。
more
データフローの通知設定機能・監査ログへのパラメータが追加されましたのでご紹介します。
more
データフローのアクションに永続化などに利用できるローカルストレージ機能を追加しました。
more
日本を健康に。多彩なフィットネスブランドを展開中。スタジオ付きの「JOYFIT」、24時間型の「JOYFIT24」、ヨガスタジオ「JOYFIT YOGA」、パーソナルジム「JOYFIT+」、家族向けの「FIT365」など、多彩なブランド展開で全国を席巻しているスポーツ事業。
more
管理画面の構築もWeb上で完結
エンジニアのためのローコードツール