Product
概要​映像​グラフィック​ドキュメント​
Enterprise
Story
レター/テクノート​ニュース/公知​
Pricing
Ja
한국어English日本語日本語
利用ガイド
LETR WORKSスタート
한국어English日本語
한국어English日本語
RDS PostgreSQL を使用して AWS Elastic Beanstalk で Label Studio をホストする方法
2024-07-17

‍

永続ストレージと RDS PostgreSQL を使用して AWS Elastic Beanstalk で Label Studio をホストする方法

‍

パク・ヒョンテク

Twigfarmのシニア・フルスタック・エンジニア

‍

Twigfarmでは、AWS Elastic Beanstalkでラベルスタジオをホストしたいと考えていました。その方法をグーグルで検索したところ、1 つの記事しか見つかりませんでした。 https://medium.com/@KerleIndia/how-to-host-label-studio-on-aws-elastic-beanstalk-41abcbcced4

‍

AWS Elastic Beanstalk で Label Studio をホストする簡単な方法を提供していますが、データの永続性に問題があります。ストレージは一時的なもので、ログインステータスとファイルは数時間以内に消えます。

‍

別の解決策は、Heroku を使用することです。数回クリックするだけで、Label Studio アプリケーションを Heroku に簡単にデプロイできます。しかし、私たちはデータベースとファイルを制御したいので、AWS Elastic Beanstalk にオプションを与えることはできませんでした。

‍

このチュートリアルでは、永続ストレージとデータベースを保存したまま、Label Studio アプリケーションを AWS Elastic Beanstalk にデプロイする方法について説明します。カスタムドメインと HTTPS 設定は、このチュートリアルの対象外です。以下のリンクを参照してヒントを得ていただけますか。 https://io.twigfarm.net/aws/https-ec2/

‍

建築

これは、AWS Elastic Beanstalkセットアップにデプロイされているラベルスタジオをホストする方法の簡単な図です。

image

注意すべき点の1つは、ここではデモ用にできるだけ小さいインスタンスを使用していることです。本番環境へのデプロイを行う場合は、より大きなインスタンスとロードバランサーでセットアップする必要があるかもしれません。

‍

最初に RDS Postgres をセットアップすることから始めましょう。

‍

AWS RDS ポストグレスセットアップ

image

RDS にアクセスして PostgreSQL データベースを作成してください。以下の設定以外はデフォルトのままにします。

  • PostgreSQL を選択してください
  • ユーザー名を設定
  • マスターパスワードを設定する
  • パスワードを確認
  • 追加構成での初期データベース名 (重要!):「labelstudio_db」を使用しました
image

その後、データベースの作成が完了するまでしばらくお待ちください。

‍

ドッカービルド

さあ、ラベルスタジオの GitHub リポジトリをクローンしてください。

git clone https://github.com/heartexlabs/label-studio.git label-studio-eb

‍

ECR セットアップ

これで Docker イメージの準備が整いました。今度は Docker イメージのリポジトリをセットアップする時です。

「Amazon エラスティックコンテナサービス (ECS)」に移動し、AWS コンソールの左側のパネルにある Amazon ECR の下のリポジトリを選択します。

[リポジトリを作成] をクリックします。

  • リポジトリ名:ラベルスタジオ
image

[リポジトリを作成] をクリックします。

リポジトリが作成されたら、「プッシュコマンドを表示」をクリックし、次のようにコマンドを入力します。

image

以下は順番に行われます。

  1. ログインします
  2. ドッカービルド
  3. 鬼ごっこ
  4. プッシュ

プッシュが成功すると、ちょうど良かった画像が表示されるはずです。

image

‍

Elastic Beanstalk から ECR に接続するための IAM ロール

AWS コンソールの「IAM」に移動します。「アクセス管理」>「ロール」で「aws-elasticbeanstalk-ec2-role」を選択します。「CR アクセス用の AWS アプリ実行サービスポリシー」ポリシーを追加します。

image

‍

EFS

AWS コンソールの EFS (エラスティックファイルシステム) に移動します。[ファイルシステムの作成] ボタンを選択してファイルシステムを作成します。すべての設定はそのままにしておきます。「Standard」ストレージクラスを使用して作成します。

image

次のセクションで必要な「ファイルシステムID」をメモしておきます。

‍

エラスティックビーンストークデプロイファイル

次の 4 つのファイルを作成する必要があります。

  1. .ebextensions/01_mount.config # EFS マウント用
  2. .platform/00_nginx.config # nginx 設定用
  3. .platform/nginx/conf.d/proxy.conf # ファイルサイズ無制限でアップロードする場合

‍

EFS マウント

永続的なストレージは非常に重要です。というのも、私たちはソースファイルをアップロードして出力ファイルを作成するので、時間をかけてユーザー間で検討する必要があるからです。EFS はかなり一貫性があり、スケールも一貫していることがわかりました。

まず、以下のディレクトリとファイルを作成します。

‍

nginx コンフィギュレーション

ラベルスタジオでは、10 MB を超えるサイズのファイルを扱うことがよくあります。大きいサイズのファイルをアップロードできるように、デフォルトの nginx 設定を手動でオーバーライドする必要があります。この目標を達成するには 2 つのファイルが必要です。

Elastic Beanstalk プラットフォーム拡張機能の詳細については、次のリンクを参照してください。 https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/platforms-linux-extend.html

‍

Dockerrun.aws.json ファイル

‍

‍‍‍アップロードする

これで、Elastic Beanstalk 設定ファイルの準備が整いました。これらを 1 つのファイル (deploy.zip) に圧縮してみましょう。

ほぼ完了しました。システムをデプロイする Elastic Beanstalk アプリケーションを作成してみましょう。

‍

エラスティック・ビーンストークの作成

AWS コンソールの「Amazon エラスティックビーンストーク環境」に移動します。まず、「新しい環境の作成」を開発することから始めます。

  • 環境層:Web サーバー環境
  • アプリケーション名:ラベルスタジオ-EB
  • プラットフォーム:ドッカー
  • プラットフォームブランチ:64 ビット Amazon Linux 2 で動作する Docker
  • プラットフォームバージョン:3.4.17 (推奨)
  • アプリケーションコード:コードをアップロード
  • ソースコードの起源:ローカルファイル
  • ファイルを選択:deploy.zip

まだ終わっていません。[その他のオプションを設定] ボタンをクリックして、データベースの環境変数を設定します。「ソフトウェア」セクションを見つけて、「編集」ボタンをクリックします。次に、下にスクロールして [環境プロパティ] に環境変数を入力します。

‍

ネットワークセットアップ

EFS が入っているものと同じ VPC を選択してください。

‍

インスタンスセキュリティグループのセットアップ

デフォルトのセキュリティグループはすべての着信トラフィックを許可するので、デフォルトのセキュリティグループを選択してください。具体的には、EFS に接続するために 2049 ポートを開くセキュリティグループを選択する必要があります。

‍

環境変数セット

  • POSTGRE_USER: <DB_USERNAME>
  • POSTGRE_パスワード:<DB_PASSWORD>
  • POSTGRE_HOST: <HOST_URL># [RDS] > [接続とセキュリティ] > [エンドポイント] で検索してください
  • POSTGRE_PORT: 5432 # RDS > 接続とセキュリティ > ポートで検索してください
  • ポストツリー名:labelstudio_db
  • ジャンゴ_DB: デフォルト
image

[保存] ボタンをクリックし、[環境を作成] ボタンをクリックします。これには数分かかります。

image

これで環境の準備が整いました。[環境に移動] ボタンをクリックして、アプリケーションが正常に動作するかどうかを確認します。

‍

全リストを見る

次のノートを見る

LETR note
コンテンツ制作におけるパラダイムイノベーション-AI吹き替え技術の現在と未来
2024-12-12
WORKS note
NERと自然言語処理を利用したレターワークスのAIエージェント
2024-12-11
WORKS note
マルチモーダルのコンセプトとアプリケーション、LETR WORKS AI テクノロジー
2024-12-02
利用ガイド
お問い合わせ​
Twigfarm Co.,Ltd.
事業者登録番号 : 556-81-00254  |  通信販売番号 : 2021-ソウル特別市鍾路-1929
代表 : ペク・ソンホ  |  個人情報管理責任者 : パク・ヒョンテク
ソウル本社 : (03187) ソウル特別市鍾路区6(瑞麟洞)6階
光州支社 : (61472 )光州広域市東区錦南路 193-22
シンガポールアジア事務所 : (048581) 16 RAFFLES QUAY #33-07 HONG LEONG BUILDING SINGAPORE
Family site
TwigfarmLETR LABSheybunny
利用約款
|
プライバシー規約
ⓒ 2024 LETR WORKS. All rights reserved.