FessでAWS Elasticsearch Serviceの利用方法

FessがElastic Cloudに対応した話は前回書いたけど、今回は、AWSのElasticsearch Serviceにも対応したので、それについて書いておきます。

AWSのElasticsearch ServiceはElastic Cloudと違い、プラグインを変更することなどはできないので、Elastic Cloudの設定では動かないので、ES_TYPEにawsを追加して対応しました。それ以外は、Elastic Cloudと同じ感じです。

Elasticsearch Serviceを試すために、AWSコンソールに入り、Elasticsearch Serviceのドメインを作成して、試してみます。今回はローカル環境にFessのインスタンスだけを起動して、Elasticsearch Serviceに繋ぎにいく状態で説明します。AWS環境で実際に利用する場合には、FessのインスタンスはECSやEKSに置いて利用することになると思います。ですので、実際に運用する場合には、適切なAWSの権限設定をおこなってください。

AWSコンソールからElasticsearch Serviceにいき、ドメインの作成を押下すると、デプロイタイプの選択が表示されます。

今回は、テスト用に構築するだけなので、「開発およびテスト」を選択します。Elasticsearchのバージョンは、7.9を選択し、次へを押下します。

次に、ドメインの設定が表示され、ドメイン名を設定します。カスタムエンドポイントを利用しなければ、ドメイン名が含まれたURLになります。今回はただの検証が目的なので、自動調整は向こうにします。

データノードは想定する利用状況に適したものを選択します。今回はデフォルトのインスタンスタイプを選択します。t系のインスタンスでは動かないため、注意してください。その他のElasticsearchのノード設定も利用する状況に合わせて、設定してください。

設定ができたら、次へボタンを押下します。

アクセス関連の設定をします。今回はローカル環境から接続しにいくため、VPCでなく、パブリックなアクセスにして、マスターユーザー名とパスワードを設定します。このユーザー名とパスワードがFessからのアクセスで必要になります。アクセスポリシーには、アクセス元のIPを設定しておきます。このアクセス権限まわりの設定は、ご利用の環境に合わせて設定してください。

タグの追加は必要に応じて、設定して、次へボタンを押下します。

最後に設定した内容の確認が表示され、問題がなければ、確認ボタンを押下してください。10分くらいするとElasticsearchクラスタが利用可能になります。

Elasticsearchが利用可能になったら、DockerでFessを起動します。

docker run -p 8080:8080 -it \
  -e ES_HTTP_URL=https://search-〜.es.amazonaws.com \
  -e ES_TYPE=aws \
  -e ES_USERNAME=〜ユーザー名〜 \
  -e ES_PASSWORD=〜パスワード〜 \
   ghcr.io/codelibs/fess:snapshot

ElasticsearchのエンドポイントはAWSコンソール上で確認してください。ユーザー名とパスワードはElasticsearch Serviceでドメイン作成時に設定したものになります。

起動できたら、http://localhost:8080/ にアクセスして確認してください。

コメントを残す

メールアドレスが公開されることはありません。