Service Meshの概要
Oracle Cloud Infrastructure Service Meshでは、クラウド・ネイティブ・アプリケーション内のマイクロサービスが集中管理され安全な方法で相互に通信できるようにする一連の機能を追加できます。サービス・メッシュの追加は、管理対象コントロール・プレーンから構成情報を受信する各マイクロサービスとともにプロキシをデプロイすることによって行われます。Service Meshには、マイクロサービス間の通信のための可観測性、セキュリティ、およびトラフィック管理に関する標準化されたパターンが含まれています。
企業は、クラウド・ネイティブ・アーキテクチャでまったく新しいアプリケーションを構築し続けるか、マイクロサービスベースの手法を使用してコンテナ化技術を使用してアプリケーションを最新化しています。サービス・メッシュを使用すると、クラウド・ネイティブ・アプリケーションの開発と操作が容易になります。
Service Meshを選ぶ理由
サービス・メッシュを使用すると、クラウド・ネイティブのマイクロサービス・アプリケーションに機能を自動的に追加できます。アプリケーションのソース・コードを変更せずに、セキュリティを管理し、トラフィックを制御し、可観測性機能を追加します。
サービス・メッシュを使用すると、次のことができます。
- セキュア:アクセス・ポリシーは、基礎となるプログラミング・ロジックに影響を与えずに、セキュリティ・コンポーネントをアプリケーションに注入するための主要なツールです。アクセス・ポリシーを使用すると、サービス・メッシュによって、トランスポート・レイヤーの境界でのネットワーク・パーティション化を排除できます。アイデンティティおよび暗号化は、サービス・メッシュによって相互に認証されたサービス間のすべての通信に使用できます。設定したポリシーによって課される権限チェックを追加すると、ゼロトラスト・セキュリティ・アーキテクチャが自動的に宣言的に採用されます。
- 接続: Traffic Management機能を使用すると、カナリア・デプロイメントを実行できます。新しいバージョンのコードを本番環境に公開する場合、トラフィックの一部のみがそのコードに到達できます。この機能を使用すると、より迅速にデプロイでき、アプリケーションの障害が最小限に抑えられます。メッシュ内のすべてのサービス間通信を制御するルーティング・ルールを定義します。トラフィックの一部を特定のバージョンのサービスにルーティングできます。
- 監視:サービス・メッシュのデフォルトの可観測性機能は、サービス・メッシュ全体でテレメトリ・データを収集します。PrometheusとGrafanaのインストールは、待機時間、障害、リクエストなどの重要なメトリックを開始するために必要なすべてです。また、アプリケーションがメッシュを有効にした後にOCIロギングをアクティブ化することもできます。サービス・メッシュ・プロキシには、エラー・ログとトラフィック・ログの2つのタイプのログがあります。これらのログは、ログベースの統計を生成したり、404および503の問題をデバッグするために使用できます。
サービス・メッシュへのアクセス方法
サービス・メッシュにアクセスするには、コンソール(ブラウザベースのインタフェース)、OCI CLIまたはREST API、Kubernetes CLIツールkubectl
およびHelmを使用します。
このガイドでは、これらの方法の使用方法について説明します。
- OCIコンソールは、使いやすいブラウザベースのインタフェースです。コンソールにアクセスするには、サポートされているブラウザを使用する必要があります。
- REST APIでは、ほとんどの機能が提供されます。ただしプログラミングの専門知識が必要です。エンドポイントの詳細と、サービス・メッシュAPIを含む使用可能なAPIリファレンス・ドキュメントへのリンクは、APIリファレンスとエンドポイントを参照してください。
- OCIでは、サービス・メッシュと対話するSDKを提供しています。
- CLIでは、クイック・アクセスとフル機能の両方が提供されます。プログラミングは必要ありません。
- OCI CLIまたはREST APIを使用するには、環境を設定するか、Oracle Cloud Infrastructureクラウド・シェルを使用できます。
- クラウド・シェルでCLIまたはREST APIを使用するには、コンソールにサインインします。クラウド・シェルの使用およびCLIコマンド・リファレンスを参照してください。
- 環境にOCI CLIをインストールするには、CLIのインストール・クイックスタートのステップに従います。
- REST APIを使用する場合は、REST APIドキュメントおよびAPIリファレンスとエンドポイントを参照してください。
kubectl
をサービス・メッシュとともに使用するには、kubectlを使用したサービス・メッシュ・リソースの管理を参照してください。重要
サービス・メッシュでkubectl
を使用する場合は、「OCI APIを使用したサービス・メッシュの管理」とkubectlの比較を参照して、kubectl
がOCI CLIおよびOCIコンソールとどのように相互作用するかを理解してください。- サービス・メッシュでHelmを使用するには、Helmを使用したサービス・メッシュの管理を参照してください。
リソース識別子
サービス・メッシュ・リソースには、Oracle Cloud Infrastructureのほとんどのリソース・タイプと同様に、Oracle Cloud ID (OCID)と呼ばれるOracleによって割り当てられる一意の識別子があります。
OCIDsを使用したサービス・メッシュ・コンポーネントは次のとおりです。
- サービス・メッシュ
- 仮想サービス
- 仮想サービスのルート表
- 仮想デプロイメント
- イングレス・ゲートウェイ
- イングレス・ゲートウェイのルート表
- アクセス・ポリシー
- 作業リクエスト
OCIDのフォーマットおよびその他のリソース識別方法の詳細は、リソース識別子を参照してください。
リージョンおよび可用性ドメイン
すべてのOracle Cloud Infrastructureサービスは、リージョンおよび可用性ドメインでホストされます。リージョンとは限定された地理的領域で、可用性ドメインとはそのリージョン内の1つ以上のデータ・センターです。
一般的な可用性の後、ここでサービス・メッシュのあるリージョンがリストおよび更新されます:
インフラストラクチャ・サービスおよびプラットフォーム・サービスのクラウド・リージョン
リージョン名とその識別子については、リージョンおよび可用性ドメインのページの表を参照してください。
認証と認可
Oracle Cloud Infrastructureの各サービスは、すべてのインタフェース(コンソール、SDKまたはCLI、およびREST API)で、認証および認可のためにIAMと統合されます。
組織の管理者は、グループ、コンパートメントおよびポリシーを設定して、どのユーザーがどのサービスおよびリソースにアクセスできるかと、そのアクセス権のタイプを制御する必要があります。たとえば、ポリシーは、誰がユーザー、グループおよびコンパートメントを作成できるか、誰が仮想デプロイメントを作成および管理できるかを制御します。
- 新しい管理者は、ポリシーの開始を参照してください。
- このサービスのポリシー記述の詳細は、サービス・メッシュIAMポリシーを参照してください。
- 他のサービスのリソースのポリシー記述の詳細は、ポリシー・リファレンスを参照してください。
サービス制限
適用可能な制限の一覧および制限の引上げをリクエストする方法については、サービス制限を参照してください。リソースまたはリソース・ファミリにコンパートメント固有の制限を設定するために、管理者は、コンパートメント割当て制限を使用できます。
価格設定
OCIサービス・メッシュの使用料金はありません。お客様は、アプリケーションとともに実行されるプロキシ・コンポーネントの実行に必要なインフラストラクチャに対してのみ支払います。
Oracle Cloud Infrastructureの価格の詳細は、クラウド価格表を参照してください。
Terraformサポート
サービス・メッシュは、インフラストラクチャを管理するためのTerraformをサポートしています。Service MeshでのTerraformの使用の詳細は、次を参照してください。