[2024年版] AWSサーバーレスアプリケーションによるIIIF Image Serverの構築
概要
AWSサーバーレスアプリケーションによるIIIF Image Serverの構築に関する2024年度版の記事です。
背景
以下で、serverless-iiif
というリポジトリが公開されています。本リポジトリを用いることにより、AWSのサービスを用いて、コスト効率が高く、無限にスケーラブルなIIIF Image Serverを構築することができると謳われています。
以下で、2022年時点の使い方を紹介しましたが、今日のサービスはより使いやすいものになっていました。
方法
いくつか構築方法がありますが、GUIを通じた構築方法として、以下を参考にします。基本的な構築については、以下のサイトの通り行います。ここでは、CloudFrontとRoute 53によるカスタムドメインの設定を含む手順について紹介します。
Lambdaの作成
まず、以下にアクセスします。
カスタムドメインによる配信にあたり、いくつかの設定を行います。
まず、ForceHost
の項目に、設定したいカスタムドメイン名を入力します。
さらに、SourceBucket
にバケット名を入力します。以下の例ではたまたまカスタムドメインと同じ名前の例ですが、任意のバケット名を入力します。
最後に、「このアプリがカスタム IAM ロールを作成することを承認します。」にチェックを入れて、「デプロイ」ボタンを押します。
その後に遷移する以下のような画面において、「デプロイ」タブを選択して、「CloudFormation スタック」のリンクをクリックします。
「出力」タブに遷移すると、v2やv3のエンドポイントが確認できます。
tiled TIFFsの作成
以下のページなどを参考に、tiled TIFFsファイルを作成します。
または、「『石見国絵図』,写,〔江戸中期〕. 国立国会図書館デジタルコレクション 」の画像をtile TIFFsに変換したファイルを以下から取得いただけます。サンプルデータとしてお使いください。
このファイルを先に指定したAmazon S3のバケットにアップロードすると、以下のようなURLでImage APIにアクセスすることができます。
https://istxbnjtm5x7qcpkwapsznyltm0sufnb.lambda-url.us-east-1.on.aws/iiif/3/1286204/info.json
注意点として、上記の結果得られるJSONファイルのid
には、https://iiif.aws.ldas.jp/iiif/3/1286204
という値が指定されています。
これは、先の設定で、ForceHost
に指定した値が反映されています。
なお、画像の閲覧には、神崎正英氏が作成されているImage Annotatorが便利です。以下のように、u
パラメータでURLを指定すると、画像を表示することができます。
カスタムドメインの設定
最後にカスタムドメインの設定を行います。
まず、CloudFrontでディストリビューションを作成します。Origin domain
には、先ほどアクセスしたURLのon.aws
で終わるところまでを入力します。
そして、「代替ドメイン名 (CNAME)」の箇所において、設定したいドメイン名を入力します。合わせて、「Custom SSL certificate」も設定します。
上記でCloudFrontの設定は完了です。
最後に、Route 53でCloudFrontディストリビューションへの設定を行います。
結果、以下のURLからJSONファイルを取得することができます。
https://iiif.aws.ldas.jp/iiif/3/1286204/info.json
まとめ
誤っている点もあるかもしれませんが、AWSサーバーレスアプリケーションによるIIIF Image Serverの構築にあたり、参考になりましたら幸いです。
Discussion