2022年09月01日09時00分 / 提供:マイナビニュース
AWSを利用する際、さまざまなデータをオブジェクトストレージサービスのAmazon S3に置いている場合も多いと思います。 FessはS3上のデータもクロールして、検索することが可能です。今回はその方法をご紹介します。
○認証情報の生成
今回は、IAMユーザーを作成して、その認証情報を利用します。まず、AWSコンソールにログイン後、右上の「アカウント名」をクリックして、「セキュリティ認証情報」をクリックします。
左メニューの「ユーザー」をクリックして、「ユーザーを追加」をクリックします。
任意のユーザー名を入力して、認証情報タイプで「アクセスキー - プログラムによるアクセス」にチェックを入れ、「次のステップ」ボタンをクリックします。
「既存のポリシーを直接アタッチ」をクリック後、入力フォームに「AmazonS3ReadOnlyAccess」を入力し、ポリシー名にチェックを入れます。「次のステップ」ボタンをクリックします。
タグの追加画面が表示されますが、今回は設定しないので何も入力せず「次のステップ」ボタンをクリックします。
確認画面で「ユーザー名」「AWSアクセスの種類」「管理ポリシー」の内容を確認して、「ユーザーの作成」ボタンをクリックします。
ユーザー作成が成功したら、ここで表示される「アクセスキーID」と「シークレットアクセスキー」を控えておきます。 「シークレットアクセスキー」は「表示」のリンクをクリックすると表示されます。
なお、「.csvのダウンロード」ボタンをクリックすると、それらの情報をダウンロードすることもできます。 「アクセスキーID」と「シークレットアクセスキー」はFessの設定で利用するので、保存しておいてください。
今回は、「AmazonS3ReadOnlyAccess」をアタッチして、IAMユーザーを簡単に作っていますが、実際の運用で利用する際にはポリシーの作成やIAMロールを利用するかなどの検討が必要です。
○プラグインのインストール
Amazon S3 のバケットをクロールするために、fess-ds-s3プラグインをインストールします。今回利用するのは、Fess 14.3.0です。
管理画面にログイン後、左メニュー「システム」>「プラグイン」をクリックし、画面右上の「インストール」をクリックします。表示された「リモート」タブのプルダウンから「fess-ds-s3-14.3.0」を選択して「インストール」をクリックします。
○クロールの設定
次に、クロール設定を作成します。
管理画面の左メニューで「クローラ」>「データストア」>「新規作成」をクリックし、クロール設定を作成します。 設定が必要な項目は以下の4つです。
・名前
・ハンドラ
・パラメータ
・スクリプト
「名前」には任意の文字列を入力し、「ハンドラ」には「AmazonS3DataStore」を選択してください。「パラメータ」には、以下の値を入力します。
region=ap-northeast-1
accesskeyid=(作成したアクセスキーID)
secret_key=(作成したシークレットアクセスキー)
buckets=(バケット名)
各項目の説明は以下の通りです。
「スクリプト」は以下を入力します。
url=object.url
title=object.key
content=object.contents
mimetype=object.mimetype
filetype=object.filetype
filename=object.filename
contentlength=object.size
lastmodified=object.last_modified
取得可能なキーと値の説明は以下の通りです。
○クロールの実行
クロール設定ができたらクロールを実行してみましょう。管理画面の左メニューの「システム」>「スケジューラ」で「Default Crawler」のジョブを開きます。「今すぐ開始」をクリックしてクローラを開始し、ジョブの状態が「実行中」から「有効」になるまで待ちます。
○検索
クロール完了後、検索画面にアクセスして検索してみます。 検索結果として、S3内のファイルが表示されれば成功です。
* * *