CNE: AWS Ready - LiferayドメインとTLSの設定
デフォルトでは、Cloud Native Experience (CNE) 環境は、AWS ロードバランサーのホスト名を使用してサービスを公開します。 本番環境で使用可能なエンドポイントを提供するには、Liferay 用にカスタムドメインと TLS 証明書を設定します。
CNEは、各自の資格証明書を持参する(BYOC)方式を採用しています。 ドメインを設定する前に、有効なTLS証明書を用意し、それを外部シークレット保管庫に保存する必要があります。
前提条件
ドメインを設定する前に、以下のものを用意してください。
- デプロイされたCNE環境
- 登録済みドメイン
- ドメインの有効なTLS証明書
- 外部シークレット保管庫に保存されている証明書
Liferayネットワークの公開を有効にする
Liferay Helmチャートは、クラスタゲートウェイを介してサービスを公開する必要があります。 ご使用の環境に合わせて liferay.yaml ファイルを更新してください。 例:
liferay/projects/default/environments/<environment>/liferay.yaml
以下の設定を追加または更新します。
network:
enabled: true
変更をコミットしてプッシュすると、GitOpsデプロイメントがトリガーされます。
ロードバランサーのアドレスを特定します
デプロイが完了すると、AWS は Liferay ゲートウェイ用のロードバランサーを作成します。
ロードバランサーの DNS 名を確認するには、AWS コンソールを開き、 EC2 → ロードバランサーに移動します。次に、詳細パネルでロードバランサーの DNS 値を探します。
または、 kubectl を使用してアドレスを取得します。
kubectl get gateway \
--namespace liferay-[projectId]-[environmentId] \
--no-headers | awk '{print $3}'
このコマンドはロードバランサーのDNS名を返します。
DNSを設定する
DNSプロバイダーで、あなたのドメインをロードバランサーのホスト名に指すCNAMEレコードを作成する。
例:
mydomain.com → k8s-liferay-abc123.us-west-2.elb.amazonaws.com
記録を確認する:
dig mydomain.com CNAME
エンドポイントとTLS証明書を設定する
infrastructure.yaml でドメインエンドポイントを定義します。
例:
endpoints:
mydomain:
hostname: "mydomain.com"
port: 443
protocol: HTTPS
tls:
externalSecretNames:
- "liferay/certificates/mydomaintls"
キー(mydomain)は、Liferayルーティングを設定する際に使用されるエンドポイント参照です。
Liferayルーティングの設定
liferay.yaml を更新して、設定済みのエンドポイント経由でトラフィックをルーティングします。
network:
enabled: true
endpointRef: mydomain
forceHttpsRedirect: true
hostnames:
- "mydomain.com"
endpointRef の値は、infrastructure.yaml の有効なendpointsオブジェクトキーと一致しなければなりません。
変更内容をGitOpsリポジトリにコミットしてください。
構成を確認する
デプロイが完了したら、ブラウザでドメインを開いてください。
https://mydomain.com
設定が正しければ、Liferayサイトは設定されたTLS証明書を使用して読み込まれます。