Oracle Cloud Infrastructure APIゲートウェイのディザスタ・リカバリ・ソリューションのデプロイ
Oracle Cloud Infrastructure API Gatewayは、サービス・レベル・アグリーメント(SLA)によって管理されるOCIリージョンで使用できます。このリファレンス・アーキテクチャでは、OCI API Gatewayのクロスリージョンの顧客管理ディザスタ・リカバリ・ソリューションの実装の基礎となるアーキテクチャについて説明します。
- 「アクティブ- パッシブ」トポロジ。両方のゲートウェイが稼働中であると想定されていても、1つのゲートウェイだけが負荷全体を処理します。アクティブゲートウェイは、その状態(アクティブ/削除済み/更新中)ではなく、トラフィックが転送され、すべての機能を実行できるようになっているゲートウェイによって決定されます。
- OCI API Gatewayカテゴリの顧客管理レプリケーション(APIデプロイメント、使用プラン、APIサブスクライバなど)。
開始する前に
- 別のOCIリージョンに2番目のOCI API Gatewayをプロビジョニングします。
- カスタムDNS/ホスト名(選択したドメイン内)および関連付けられたSSL証明書を取得します。
アーキテクチャ
OCI API Gatewayのリファレンス・アーキテクチャは、2つの異なるクラウド・リージョンにある2つのOCI API Gatewayで構成され、単一のカスタム・エンドポイント(URL)を使用してアクセスされます。単一のカスタム・エンドポイントを実装するには、OCIドメイン・ネーム・システム(DNS)ゾーンを使用してカスタム・エンドポイント名を解決します。
これらのカスタムURLをOCI APIゲートウェイのエントリ・ポイントとして使用できます(たとえば、api.mycompany.com
)。カスタム・エンドポイントの構成の詳細は、後述の「詳細」からアクセスできる「DNSサービス・ゾーンの管理」を参照してください。
アーキテクチャの2つのOCI API Gatewayはプライマリおよびセカンダリとして指定され、両方のゲートウェイが同時に実行されますが、トラフィックを受信するゲートウェイは1つのみです。最初は、プライマリ・ゲートウェイがトラフィック・フローを受信します。プライマリ・リージョンが使用できなくなった場合、DNSレコードを更新して、トラフィックをセカンダリ・リージョンにルーティングできます。
次の図は、パブリック・ゲートウェイ(OCI API Gatewayのランディング・ゾーン・パターン)に対するこのリファレンス・アーキテクチャを示しています:
図apigw-oci-customer-managed-dr-topology.pngの説明
apigw-oci-customer-managed-dr-topology-oracle.zip
- Tenancy
テナンシは、Oracle Cloud InfrastructureにサインアップしたときにOracle Cloud内でOracleが設定するセキュアで分離されたパーティションです。テナンシ内のOracle Cloudでリソースを作成、編成および管理できます。テナンシは、会社または組織と同義です。通常、会社は1つのテナンシを持ち、そのテナンシ内に組織構造を反映させます。通常、単一のテナンシは単一のサブスクリプションに関連付けられ、単一のサブスクリプションには1つのテナンシのみが含まれます。
- リージョン
Oracle Cloud Infrastructureリージョンとは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、長距離の場合は(国または大陸にまたがって)分離できます。
- コンパートメント
コンパートメントは、Oracle Cloud Infrastructureテナンシ内のリージョン間論理パーティションです。コンパートメントを使用して、Oracle Cloudリソースの編成、アクセス制御および使用割当てを設定します。特定のコンパートメントでは、アクセスを制御し、リソースの権限を設定するポリシーを定義します。
- 可用性ドメイン
可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されているため、フォルト・トレランスが提供されます。可用性ドメインどうしは、電力や冷却、内部可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、ある可用性ドメインでの障害は、リージョン内の他の可用性ドメインに影響を与えないでください。
- 仮想クラウド・ネットワーク(VCN)およびサブネット
VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義ネットワークです。従来のデータ・センター・ネットワークと同様に、VCNsではネットワーク環境を制御できます。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。
- ルート表
仮想ルート表には、通常ゲートウェイを介して、サブネットからVCN外部の宛先にトラフィックをルーティングするルールが含まれます。
- セキュリティ・リスト
サブネットごとに、サブネット内外で許可する必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。
- Oracle Cloud Infrastructure DNSサービス
パブリックDNSゾーンには、OCIのネーム・サーバーに存在する認可DNSレコードが保持されます。インターネット上でアクセス可能なパブリックに使用可能なドメイン名を持つパブリック・ゾーンを作成できます。詳細は、後述の「詳細を見る」からアクセスできる「DNSの概要」を参照してください。
- インターネット・ゲートウェイ
インターネット・ゲートウェイは、VCN内のパブリック・サブネットとパブリック・インターネット間のトラフィックを許可します。
- Oracle Cloud Infrastructure Web Application Firewall (WAF)
WAFは、クラウドベースのPCI準拠のグローバルWebアプリケーション・ファイアウォール・サービスを使用して、悪意のある不要なインターネット・トラフィックからアプリケーションを保護します。OCI Flexible Network Load Balancerで脅威インテリジェンスと一貫したルール適用を組み合せることで、Oracle Cloud Infrastructure Web Application Firewallは防御を強化し、インターネットに直接接続されているアプリケーション・サーバーと内部アプリケーションを保護します。(このコンポーネントはオプションです)
- フレキシブル・ロード・バランサ
ロード・バランサは、パラレルに動作するアプリケーション・サービス間でリクエストを指示することで、リソース使用率を向上させます。需要が増加すると、アプリケーション・サービスの数を増やすことができ、ロード・バランサはそれらを使用してリクエストの処理のバランスをとります。(このコンポーネントはオプションです)
- 要塞サービス
Oracle Cloud Infrastructure Bastionは、パブリック・エンドポイントがなく、ベア・メタルや仮想マシン、Oracle MySQL Database Service、Autonomous Transaction Processing (ATP)、Oracle Cloud Infrastructure Kubernetes Engine (OKE)、およびSecure Shell Protocol (SSH)アクセスを許可するその他のリソースなど、厳密なリソース・アクセス制御を必要とするリソースへの制限付きで時間制限付きのセキュアなアクセスを提供します。OCI Bastionサービスを使用すると、ジャンプ・ホストをデプロイおよびメンテナンスせずにプライベート・ホストへのアクセスを有効にできます。さらに、アイデンティティベースの権限と一元化された監査済みの期限付きSSHセッションにより、セキュリティ・ポスチャが向上します。OCI Bastionは、要塞アクセスのパブリックIPの必要性をなくし、リモート・アクセスを提供する際の手間と潜在的な攻撃対象領域を排除します。
- APIゲートウェイ
Oracle Cloud Infrastructure API Gatewayでは、ネットワーク内からアクセスでき、必要に応じてパブリック・インターネットに公開できるプライベート・エンドポイントを含むAPIを公開できます。エンドポイントは、API検証、リクエストとレスポンスの変換、CORS、認証と認可およびリクエスト制限をサポートします。
- 「アナリティクス」
Oracle Analytics Cloudは、スケーラブルでセキュアなパブリック・クラウド・サービスであり、データ準備、ビジュアライゼーション、エンタープライズ・レポート、拡張分析、自然言語処理および生成のための最新のAI駆動のセルフサービス分析機能をビジネス・アナリストに提供します。Oracle Analytics Cloudには、迅速なセットアップ、簡単なスケーリングとパッチ適用、自動ライフサイクル管理など、柔軟なサービス管理機能も用意されています。
- アイデンティティおよびアクセス管理(IAM)
Oracle Cloud Infrastructure Identity and Access Management (IAM)は、Oracle Cloud Infrastructure (OCI)およびOracle Cloud Applicationsのアクセス制御プレーンです。IAM APIおよびユーザー・インタフェースを使用すると、アイデンティティ・ドメインおよびアイデンティティ・ドメイン内のリソースを管理できます。各OCI IAMアイデンティティ・ドメインは、スタンドアロンのアイデンティティおよびアクセス管理ソリューション、または異なるユーザー集団を表します。
- アイデンティティ・ドメイン(IDom)
IAM uses Identity Domains (IDom) to provide identity and access management features such as authentication, single sign-on (SSO), and identity lifecycle management for Oracle Cloud as well as for Oracle and non-Oracle applications, whether SaaS, cloud hosted, or on premises.
- ポリシー
Oracle Cloud Infrastructure Identity and Access Managementポリシーは、誰がどのリソースにアクセスできるか、およびどのようにアクセスできるかを指定します。アクセス権はグループ・レベルおよびコンパートメント・レベルで付与されます。つまり、特定のコンパートメント内またはテナンシ内の特定のタイプのアクセス権をグループに付与するポリシーを作成できます。
- 監査
Oracle Cloud Infrastructure Auditサービスでは、ログ・イベントとして、Oracle Cloud Infrastructureのサポートされるすべてのパブリック・アプリケーション・プログラミング・インタフェース(API)エンドポイントへのコールが自動的に記録されます。すべてのOCIサービスは、Oracle Cloud Infrastructure Auditによるロギングをサポートしています。
- ロギングLoggingは、クラウド内のリソースから次のタイプのログへのアクセスを提供する、高度にスケーラブルな完全管理型のサービスです:
- 監査ログ: 監査サービスによって発行されたイベントに関連するログ。
- サービス・ログ: APIゲートウェイ、イベント、ファンクション、ロード・バランシング、オブジェクト・ストレージ、VCNフロー・ログなどの個々のサービスによって発行されるログ。
- カスタム・ログ: カスタム・アプリケーション、他のクラウド・プロバイダまたはオンプレミス環境からの診断情報を含むログ。
- ログ分析
Logging Analyticsは、オンプレミス環境およびマルチクラウド環境からのすべてのログ・データをモニター、集計、索引付けおよび分析する機械学習ベースのクラウド・サービスです。ユーザーは、このデータを検索、調査および関連付けて、問題のトラブルシューティングと解決を迅速に行い、インサイトを導き出して、より適切な運用上の意思決定を行うことができます。
レコメンデーション
- VCN
VCNを作成するときには、必要なCIDRブロックの数を決定し、VCN内のサブネットにアタッチする予定のリソースの数に基づいて各ブロックのサイズを決定します。標準のプライベートIPアドレス領域内にあるCIDRブロックを使用します。
プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。
VCNを作成した後、そのCIDRブロックを変更、追加および削除できます。
サブネットを設計するときには、トラフィック・フローおよびセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを、セキュリティ境界として機能できる同じサブネットにアタッチします。
リージョナル・サブネットを使用します。
- 接続(プライベートAPIゲートウェイ)
リソースをOCIにデプロイする場合、オンプレミス・ネットワークへの単一の接続で小規模から開始できます。この単一の接続は、OCI FastConnectまたはIPSec VPNを介して行うことができます。冗長性を計画するには、オンプレミス・ネットワークとOCIの間のすべてのコンポーネント(ハードウェア・デバイス、設備、回路および電源)を考慮します。また、施設がパス間で共有されないように、多様性を考慮してください。
考慮事項
OCI API Gatewayのディザスタ・リカバリ・ソリューションをデプロイする場合は、次の要因を考慮してください。
- OCI DNS管理ゾーンの使用
OCI API GatewayのDNSレコードを構成します。OCI DNSゾーンを使用して、DNSレコードを管理し、OCI API Gatewayのホスト名解決を提供できます。
APIゲートウェイのドメイン(またはサブドメイン)を取得したら、OCIコンソールまたはAPIを介してOCI DNSゾーンを追加します。OCI DNSゾーンの作成とそのゾーンへのレコードの追加の詳細は、後述の「詳細」からアクセスできるDNSサービス・ゾーンの管理に関する項を参照してください。- ゾーンで、OCI API Gatewayのカスタム・ホスト名をCNAMEレコードとして追加します。
- ゾーンの変更を正常に公開したら、OCI DNSネーム・サーバーを使用するようにドメインを更新します。
- セキュリティ
OCI Identity and Access Management (IAM)ポリシーを使用して、クラウド・リソースにアクセスできるユーザー、および実行できる操作を制御します。OCIクラウド・サービスは、OCI API Gatewayによる関数の呼出しを許可するなどのIAMポリシーを使用します。OCI APIゲートウェイは、OAuth認証および認可を使用してアクセスを制御することもできます。IAMでは、IAMを介してフェデレートできる認証および認可が可能です。その結果、OCI API Gatewayには、様々なサービスおよび認証設定に対して認証する機能があります。
- パフォーマンスとコスト
OCI API Gatewayは、バックエンド・サービスの不要な負荷を回避するのに役立つ外部キャッシュ・サーバー(RedisやKeyDBサーバーなど)と統合することで、レスポンス・キャッシュをサポートします。同様のリクエストが受信された場合、レスポンスがキャッシュされると、バックエンド・サービスにリクエストを送信するのではなく、レスポンス・キャッシュからデータを取得することでレスポンスを完了できます。これにより、バックエンド・サービスの負荷が軽減され、パフォーマンスが向上し、コストが削減されます。OCI API Gatewayでは、(TTLを離れる時間に基づいて)認可トークンもキャッシュされるため、アイデンティティ・プロバイダへの負荷が軽減され、パフォーマンスが向上します。
- 可用性
デプロイメント要件およびリージョンに基づいて、高可用性オプションの使用を検討してください。オプションには、リージョン内の複数の可用性ドメインにリソースを分散したり、可用性ドメイン内のフォルト・ドメインにリソースを分散したりすることが含まれます。
- モニタリングとアラート
APIゲートウェイのメトリックにモニタリングとアラートを設定します。
デプロイ
このリファレンス・アーキテクチャは、次のステップを実行してOracle Cloud Infrastructureにデプロイできます。
Terraformコードoci_apigateway_api
は、GitHubにあります。リンクについては、下の「詳細」を参照してください。