Amazon Web ServicesでLiferay DXPを実行する
AWSでLiferay DXPをホストする方法は3つあります。
-
「プレーン」なHelmチャートを使用してLiferay DXPをインストールします。
-
AWS Marketplace から Liferay DXP をインストールします。
-
GovCloudからLiferay DXPをインストールしています。
Liferayをインストールしたら、ポータルプロパティ、環境変数などを設定できます。 詳細については、 AWS での Liferay の設定 を参照してください。
前提条件
いずれのインストール方法においても、以下のユーティリティをインストールする必要があります。
-
Helm CLI をインストールします。 (バージョン >=
3.18.6) -
kubectl CLI をインストールします。 (バージョン >=
1.25.2)
GovCloudユーザーはこれらのインストールをスキップできますが、他のインストール方法ではインストールが必要です。
-
Git CLI をインストールします。 (バージョン >=
2.40.1) -
AWS CLIをインストールします。 (バージョン >=
2.27.25) -
AWS CLI を設定して、 で IAM 認証情報 を使用するようにします。
-
Terraform CLI をインストールします。 (バージョン >=
1.7.5)
AWSにログイン
まず、CLIを使用してAWSにログインします。
-
AWS SDKとそのツールで使用するために、プロファイルをエクスポートしてください。
export AWS_PROFILE=[profile name] -
AWSにログインしてください。
aws sso login
Terraformファイルをクローンする
次に、リポジトリからTerraformファイルをクローンします。
git clone -n --depth=1 --filter=tree:0 https://github.com/liferay/liferay-portal.git liferay-aws-terraform
cd liferay-aws-terraform
git sparse-checkout set --no-cone /cloud/terraform/aws
git checkout
cd cloud/terraform/aws
これで、EKSクラスターと連携するために必要なファイルがすべて揃いました。 次に、
新しい EKS クラスターを作成する
Terraform CLIを使用して、適切なデフォルト設定で新しいEKSクラスターを作成します。
-
前の手順後のターミナルの作業ディレクトリ (
liferay-aws-terraform/cloud/terraform/aws/) から、eks/ディレクトリに移動します。 -
以下のTerraformコマンドを実行してください。
terraform initterraform apply -
terraform outputコマンドの結果を、dependencies/ディレクトリ (liferay-aws-terraform/cloud/terraform/aws/内) にあるterraform.tfvarsファイルに書き込みます。terraform output > ../dependencies/terraform.tfvars
Liferayを実行するための新しいEKSクラスターを作成しました。
既存の EKS クラスターを使用する
EKSクラスターで使用する依存サービスを作成します。
-
eksディレクトリに移動します。 -
EKSクラスターをローカルのkubeconfigに追加します。
aws eks update-kubeconfig \ --name $(terraform output -raw cluster_name) \ --region $(terraform output -raw region) -
正しい EKS クラスターが構成されていることを確認するには、
kubectl cluster-infoを実行してください。 -
KUBE_CONFIG_PATH環境変数を設定してエクスポートします。export KUBE_CONFIG_PATH="${HOME}/.kube/config"
EKSクラスターをLiferayを実行するように設定しました。
AWSマネージドサービス上にLiferayの依存関係をプロビジョニングする
それでは、Liferayが動作するために必要な環境を整えましょう。 設定どおり、 dependencies Terraform モジュールは、RDS PostgreSQL データベース、S3 オブジェクト ストレージ バケット、OpenSearch ドメインをプロビジョニングし、さらに、Liferay Helm チャートに必要な 環境変数 を提供する managed-service-details Kubernetes Secret もプロビジョニングします。
-
dependencies/ディレクトリ (liferay-aws-terraform/cloud/terraform/aws/内) に移動します。 -
新しい EKS クラスターを構成した場合は、環境変数
KUBE_CONFIG_PATHがローカルのkubeconfigパスに設定されていることを確認してください (既存のクラスターを構成した場合は、上記でこの設定を行っています)。export KUBE_CONFIG_PATH="${HOME}/.kube/config" -
以下のTerraformコマンドを実行してください。
terraform initterraform apply -
Terraformによって生成されたAWSサービスアカウントロールの ARNを設定してエクスポートします。
export AWS_SA_ROLE_ARN=$(terraform output -raw liferay_sa_role)
素晴らしい。 Liferayの起動準備はほぼ完了です。
次に、Liferayのインストール方法を選択してください。