公共サービスの追加
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecoreには4つのパブリックサービスがあります
Management、Continuous Delivery、Identity、Grafanaです。追加サービスも可能です。公共サービスを加えると:
-
DNSゾーンでFrontdoor Azure指す新しいサービス名を作成します。あるいは、managedcloud.sitecore.comを使う場合はサービスリクエストを作成することもできます。
-
新しいホスト名をAzure Key Vaultにシークレットとして追加します。シークレット名は以下のパターンでなければなりません:
sitecore-{your service name}-host-name.
-
インフラストラクチャリポジトリで、以下の変更を加えたプルリクエストを作成します:
-
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を例としてご覧ください。
-
-
変更を適用するには、プルリクエストを完了し、Frontdoorパイプラインを実行してください。
-
インフラストラクチャリポジトリで、以下の変更を加えた2つ目のプルリクエストを作成します。
-
frontdoor/main.tfにAzure FrontdoorのカスタムHTTPS設定を追加してください。cm_https_configuration例として表示し(frontend_endpointsを正しいサービスエンドポイントに置き換えます)。
!注以前トリガーされたパイプラインが完了するまで待ちましょう。
-
-
アプリケーションリポジトリでプルリクエストを作成し、以下の項目を含めてください。
-
特定のアプリケーションと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名前空間で宣言されたサービス名と同じでなければなりません。
-
-
-
プルリクエストを完成させてください。