1. Managed Cloudの設定

公共サービスの追加

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Sitecoreには4つのパブリックサービスがあります

Management、Continuous Delivery、Identity、Grafanaです。追加サービスも可能です。

公共サービスを加えると:

  1. DNSゾーンでFrontdoor Azure指す新しいサービス名を作成します。あるいは、managedcloud.sitecore.comを使う場合はサービスリクエストを作成することもできます。

  2. 新しいホスト名をAzure Key Vaultにシークレットとして追加します。シークレット名は以下のパターンでなければなりません:

    sitecore-{your service name}-host-name.

  3. インフラストラクチャリポジトリで、以下の変更を加えたプルリクエストを作成します:

    • frontdoor/backend-config.jsonファイルを新しいサービスで拡張してください。

    • ステップ2で作成した新しいホスト名でAzure Keyvaultの秘密を取得します。

    • frontdoor/main.tfにAzureフロントドアルーティングルールを追加し、新しいサービスバックエンドプールrouting_ruleを指し示します。例としてHTTPS-cdをご覧ください。

    • Azureフロントドアのフロントエンドエンドポイントを追加して、Azureフロントドア側のホスト名を登録しますfrontdoor/main.tf。

      cm-frontend-endpoint例としてご覧ください。WAFでサービスを保護したいなら、cd-frontend-endpointを例としてご覧ください。

  4. 変更を適用するには、プルリクエストを完了し、Frontdoorパイプラインを実行してください。

  5. インフラストラクチャリポジトリで、以下の変更を加えた2つ目のプルリクエストを作成します。

    • frontdoor/main.tfにAzure FrontdoorのカスタムHTTPS設定を追加してください。cm_https_configuration例として表示し(frontend_endpointsを正しいサービスエンドポイントに置き換えます)。

      !注以前トリガーされたパイプラインが完了するまで待ちましょう。

  6. アプリケーションリポジトリでプルリクエストを作成し、以下の項目を含めてください。

    • 特定のアプリケーションと2つのサービスに対してデプロイメントを宣言します。デプロイメントと最初のサービスをSitecore名前空間に追加します。例として /platform-artifacts/cm.yamlのCM宣言を参照してください。

    • Nginxの名前空間に2つ目のサービスを追加し、NginxからSitecoreロールへのトラフィックをルーティングし、サービスexternal-services-example.yamlのKubernetes展開を準備します:


      kind: Service apiVersion: v1 metadata: name: service-name-external spec: type: ExternalName externalName: service-name-example.{{ solution_id }}.svc.cluster.local ports:

      • port: 80
    • サービスのIngressを宣言し、Ingress構成のためのKubernetes展開を準備しますingress-config-example.yaml:


      apiVersion: extensions/v1beta1 kind: Ingress metadata: name: service-name-example-ingress annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/force-ssl-redirect: "false" nginx.ingress.kubernetes.io/rewrite-target: / spec: rules:

      • host: "example.sitecore" http: paths:
      • path: / backend: serviceName: service-name-example servicePort: 80
    • これらのデプロイを実行するためのAnsibleロールを追加してください。デプロイを実行するタスクは少なくとも2つ含めていなければなりません(デプロイファイルはロール内のtemplatesフォルダの下にある必要があります):


      • name: Install external services k8s: apply: true namespace: "nginx" state: present definition: "{{ lookup('template', 'external-services-example.yaml') }}" validate: fail_on_error: yes

      • name: Install ingress k8s: apply: true namespace: "nginx" state: present definition: "{{ lookup('template', 'ingress-config-example.yaml') }}" validate: fail_on_error: yes

      ホストフィールドの値は、インフラストラクチャリポジトリ内の/frontdoor/backend-config.jsonファイルのhost_headerプロパティと同じでなければなりません。serviceNameプロパティの値は、Nginx名前空間で宣言されたサービス名と同じでなければなりません。

  7. プルリクエストを完成させてください。

この記事を改善するための提案がある場合は、 お知らせください!