Amazon Web Services ブログ

AWS Deadline Cloud のSMF スクリプトで LucidLink を設定する

本記事は 2026 年 2 月 10 日 に公開された「Set up LucidLink with service managed fleet scripts for AWS Deadline Cloud」を翻訳したものです。

最新のクリエイティブワークフローでは、インフラストラクチャ管理の負荷なくオンデマンドでスケールできる高性能レンダリング機能が求められます。この課題に対して AWS Deadline Cloud のサービスマネージドフリート(SMF)を使うことで、Amazon Elastic Compute Cloud (Amazon EC2) インスタンス管理や、OS アップデート、Virtual Private Cloud (VPC) 設定、ネットワーク設定などの複雑な管理をAWS Deadline Cloud が代行してくれるため、現場担当者はインフラストラクチャ運用ではなく、レンダリングワークロードに集中できます。

その上で、LucidLink のクラウドネイティブなハイブリッドファイルシステムを組み合わせると、クラウドとオンプレミスの両方でインフラストラクチャ管理を不要とする強力なソリューションになります。クリエイティブチームは最小限のインフラストラクチャで大規模なレンダリングを実行しつつ、どこからでもプロジェクトファイルにすぐにアクセスできます。

本記事では、AWS Deadline Cloud の SMF に LucidLink を統合する方法を紹介し、スケーラブルで高性能なレンダリングワークフローを構築するソリューションを解説します。

AWS Deadline Cloud は SMF のConfig スクリプトに対応し、LucidLink などのサードパーティストレージソリューションをレンダリングワークフローに統合しやすくなりました。Deadline Cloud 環境に LucidLink を組み合わせ、高性能でスケールアウト可能なクラウドベースのレンダリング環境をセットアップする手順をご紹介します。

前提条件

開始する前に、以下を準備ください。

この例では、ジョブ実行フローで以下を行います。

① 管理者権限で LucidLink をインストール
② ジョブ実行前にレンダーノードに適切な LucidLink Filespace をマウント
③ ジョブ完了時に LucidLink Filespace をアンマウント
④ Filespace への接続を検証するカスタムジョブを作成/実行

レンダリングライフサイクルにおいて、この 4 つのタッチポイントを使用します。

図 1. AWS Deadline Cloud と LucidLink の統合ワークフロー

構築する内容

このチュートリアルを完了すると、以下の環境が構築されます。

  • LucidLink 対応フリートを備えた Deadline Cloud ファーム
  • SMF Config スクリプトによる LucidLink クライアントの自動インストール
  • ジョブごとにファイルシステムを動的にマウントする OpenJD ジョブテンプレート

ステップ 1: LucidLink の認証情報を AWS Secrets Manager に保存する

AWS Secrets Manager を使用して LucidLink の認証情報を安全に保存します。その認証情報は、レンダリングジョブが LucidLink ファイルシステムをマウントする際に取得されます。

  • AWS Secrets Manager コンソールを開く
  • [新しいシークレットを保存する] をクリック
  • [その他のシークレットのタイプ] を選択
  • 以下のキーと値のペアを追加:

{
  "username": "your-lucidlink-username",
  "password": "your-lucidlink-password"
}

  • シークレット名: lucidlink-credentials
  • 作成プロセスを完了

ステップ 2: Deadline Cloud ファームをセットアップする

レンダリングワークロードをホストする Deadline Cloud ファームを作成します。

  • AWS Deadline Cloud コンソールに移動
  • ファームを作成 をクリック
  • ファーム設定を構成:
    • ファーム名: lucidlink-render-farm
  • ファームを作成 をクリック

ステップ 3: LucidLink 対応のSMFを作成する

ステップ 3a: LucidLink インストール設定スクリプトを作成する

フリートインスタンスに LucidLink クライアントをインストールする設定スクリプトを作成します。このスクリプトはインストールとデーモンのセットアップのみを行います。フリートにデプロイする前に、スタンドアロンの EC2 インスタンスでスクリプトが正しく動作することをテストしてください。

<p>#!/bin/bash 

# LucidLink Client Installation Script 
# This script only installs the LucidLink client and sets up the daemon service 
# Filesystem mounting is handled separately via OpenJD job templates 

set -ex

# -----------------------------Install tree utility-----------------------------

# Install tree for directory visualization
yum install tree -y

# ----------------------Install and configure LucidLink 3-----------------------
echo "Installing LucidLink client..." 
# Download latest stable LucidLink RPM package
wget -q https://www.lucidlink.com/download/new-ll-latest/linux-rpm/stable/ 
-O lucidinstaller.rpm<br />ls -l lucidinstaller.rpm
# Install the LucidLink client
yum install -y lucidinstaller.rpm 

# Create systemd service for persistent daemon
echo "Creating systemd service for LucidLink daemon..." 
cat << EOF > /etc/systemd/system/lucidlink.service 
[Unit]
Description=LucidLink Filespace Daemon 
After=network-online.target
Wants=network-online.target

[Service] 
Type=simple
ExecStart=/usr/local/bin/lucid3 daemon
ExecStop=/usr/local/bin/lucid3 exit
Restart=on-failure
RestartSec=5
User=root
Group=root
[Install]
WantedBy=multi-user.target
EOF

# Enable and start the LucidLink daemon service
echo "Enabling and starting LucidLink daemon service..." 
systemctl daemon-reload
systemctl enable lucidlink
systemctl start lucidlink

# Create base mount directory with proper permissions
echo "Creating mount point..." 
mkdir -p /mnt/lucid <br />chmod a+rwx /mnt/lucid

# Verify installation
echo "LucidLink client installation complete" 
lucid3 status

次に、LucidLink 設定スクリプトを使用してフリートを作成します。

  • Deadline Cloud ファームページのフリートタブへ移動して フリートを作成 をクリック
  • フリートの詳細を定義 セクション:
    • フリート名: lucidlink-render-fleet
    • フリートタイプ: サービスマネージド
    • 次へ をクリック
  • ワーカー機能 セクション:
    • CPU または GPU インスタンスを選択
    • オペレーティングシステム: Linux
    • 次へ をクリック
  • 追加の設定を行う – オプション セクション:
    • ワーカー設定スクリプトを有効化 にチェック
    • スクリプト内容: LucidLink 設定スクリプトを貼り付け

ステップ 4: LucidLink マウント用のキュー環境(Queue Environment )を作成する

ステップ 4a: LucidLink ジョブキューを作成する

  • Deadline Cloud ファームページのキュータブへ移動して キューを作成 をクリック
  • 基本設定を構成:
    • 名前: lucidlink-queue
    • ジョブアタッチメントのバケット名 : lucidlink-attachments
    • フリートを関連付ける – オプション: lucidlink-render-fleet
    • キューを作成をクリック

ユーザーがレンダリングジョブを送信できるジョブキューが作成され、先ほど作成したレンダーフリートが使用されます。

ステップ 4b: キューの IAM ロール権限を更新する

キューが使用している IAM ロールを確認し、Secrets Manager のシークレットへのアクセス権限を追加します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "secretsmanager:GetSecretValue"
      ],
      "Resource": "arn:aws:secretsmanager:*:*:secret:lucidlink-credentials*"
    }
  ]
}

Queue Environment を使用すると、特定のキューでジョブが開始されるたびに Deadline Cloud でカスタムスクリプトを実行できます。この例では、ジョブ実行中の 2 つのタイミングで Bash スクリプトを実行します。

  • ジョブ開始時 (Queue Environment - Enter)
  • ジョブ完了後 (Queue Environment - Exit)

Queue Environment では、parameterDefinitions を通じてユーザーにパラメータを公開できます。ここでは、以下の設定を変更可能にし、デフォルト値も設定しています。

  • Lucid Secret Name (Secrets Manager に保存したシークレット名)
  • LucidLink の Workspace と Filespace

Open Job Description YAML では次のようになります。

parameterDefinitions:
- name: LucidSecretName
  type: STRING
  description: AWS Secrets Manager secret name containing LucidLink credentials
  default: lucidlink-credentials
- name: LucidWorkspace
  type: STRING
  description: LucidLink workspace name to mount
  userInterface:
    control: LINE_EDIT
    label: Workspace Name
  default: lucid-workspace
- name: LucidFilespace
  type: STRING
  description: LucidLink filespace name to mount
  userInterface:
    control: LINE_EDIT
    label: Filespace Name
  default: lucid-filespace

Queue Environment Enter 時

#!/bin/bash
# Exit on error, undefined vars, pipe failures
set -euo pipefail

echo "Mounting LucidLink filesystem..."
# Create mount point directory
MOUNTPOINT="/mnt/lucid/{{Param.LucidWorkspace}}/{{Param.LucidFilespace}}"

mkdir –p ${{MOUNTPOINT}}

# Get credentials from AWS Secrets Manager
SECRET=$(aws secretsmanager get-secret-value \
    --secret-id "{{Param.LucidSecretName}}" \
    --query 'SecretString' --output text)

# Parse credentials from JSON
LUCID_USERNAME=$(echo "$SECRET" | jq -r '.username')
LUCID_PASSWORD=$(echo "$SECRET" | jq -r '.password')

# Mount filesystem
echo "${LUCID_PASSWORD}" | lucid3 link \
    --fs "{{Param.LucidFilespace}}.{{Param.LucidWorkspace}}" \
    --user "${LUCID_USERNAME}" \
    --mount-point "${MOUNTPOINT}" \
    --fuse-allow-other

# Verify mount is accessible
if [ -d "${MOUNTPOINT}" ] && [ "$(ls -A ${MOUNTPOINT})" ]; then
    echo "Mount verification successful"
else
    echo "Warning: Mount point appears empty or inaccessible"
    exit 1
fi

Queue Environment Exit 時

echo "Unmounting LucidLink filesystem..."
lucid3 unlink --fs "{{Param.LucidFilespace}}.{{Param.LucidWorkspace}}" || true
echo "LucidLink filesystem unmounted"

これらをまとめて 1 つの Open Job Description 環境にすると、Deadline キュー で使用できます。

specificationVersion: 'environment-2023-09'
parameterDefinitions:
- name: LucidSecretName
type: STRING
description: AWS Secrets Manager secret name containing LucidLink credentials
default: lucidlink-credentials
- name: LucidWorkspace
type: STRING
description: LucidLink workspace name to mount
userInterface:
control: LINE_EDIT
label: Workspace Name
default: lucid-workspace
- name: LucidFilespace
type: STRING
description: LucidLink filespace name to mount
userInterface:
control: LINE_EDIT
label: Filespace Name
default: lucid-filespace
environment:
name: LucidLinkMount
description: Environment for mounting LucidLink filesystem
script:
actions:
onEnter:
command: "{{Env.File.MountLucidLink}}"
onExit:
command: "{{Env.File.UnmountLucidLink}}"
embeddedFiles:
- name: MountLucidLink
type: TEXT
runnable: true
data: |
#!/bin/bash
# Exit on error, undefined variables, and pipe failures
set -euo pipefail
 
echo "Mounting LucidLink filesystem..."
# Create mount point directory
MOUNTPOINT="/mnt/lucid/{{Param.LucidWorkspace}}/{{Param.LucidFilespace}}"
mkdir -p "${MOUNTPOINT}"
 
# Get credentials from AWS Secrets Manager
SECRET=$(aws secretsmanager get-secret-value \
--secret-id "{{Param.LucidSecretName}}" \
--query 'SecretString' --output text)
 
# Parse credentials from JSON
LUCID_USERNAME=$(echo "$SECRET" | jq -r '.username')
LUCID_PASSWORD=$(echo "$SECRET" | jq -r '.password')
 
# Mount filesystem
echo "${LUCID_PASSWORD}" | lucid3 link \
--fs "{{Param.LucidFilespace}}.{{Param.LucidWorkspace}}" \
--user "${LUCID_USERNAME}" \
--mount-point "${MOUNTPOINT}" \
--fuse-allow-other
 
# Verify mount is accessible
if [ -d "${MOUNTPOINT}" ] && [ "$(ls -A ${MOUNTPOINT})" ]; then
echo "Mount verification successful"
else
echo "Warning: Mount point appears empty or inaccessible"
exit 1
fi
- name: UnmountLucidLink
type: TEXT
runnable: true
data: |
echo "Unmounting LucidLink filesystem..."
lucid3 unlink --fs "{{Param.LucidFilespace}}.{{Param.LucidWorkspace}}" || true
echo "LucidLink filesystem unmounted"

AWS Deadline Cloud にロードするには、対象のキューを選択し、「Queue Environments」タブに移動します。

図 2. AWS Deadline Cloud のQueue Environmentsテーブル

Actions から Create New from YAML を選択し、Queue Environmentsスクリプトを貼り付けます。

図 3. AWS Deadline Cloud のQueue Environments編集ページ

ステップ 5: セットアップをテストする

図 4. 完了した AWS Deadline Cloud タスクの実行

LucidLink の統合を検証するため、AWS Deadline Cloud CLI でテストジョブを作成して送信します。

Deadline Cloud CLI のインストール

まず、Deadline Cloud CLI ツールをインストールします: pip install 'deadline[gui]'

Deadline Cloud Monitor のインストール

Deadline Cloud Monitor はジョブの認証とモニタリングに必要です。AWS Deadline Cloud コンソールからダウンロードしてインストールします。

  • AWS Deadline Cloud コンソールに移動
  • サービスページに移動
  • お使いのオペレーティングシステム用の Deadline Cloud Monitor をダウンロード
  • 表示される手順に従ってインストール

テストジョブテンプレートの作成

LucidLink ファイルシステムが正しくマウントされアクセス可能であることを確認する基本的な OpenJD ジョブテンプレートを作成します。以下の内容を新しいディレクトリに template.yaml として保存します。

specificationVersion: 'jobtemplate-2023-09'
name: Test LucidLink Mount
steps:
- name: Print Tree of LucidLink Mount
  script:
    actions:
      onRun:
        command: '{{Task.File.runScript}}'
    embeddedFiles:
    - name: runScript
      type: TEXT
      runnable: true
      data: |
        #!/usr/bin/env bash
        set -ex
        tree --du -h -L 6 /mnt/lucid

テストジョブを送信してモニタリングします。

以下のいずれかの方法でテストジョブを送信します。

  • コマンドラインでの送信:
    deadline bundle submit --farm-id <farm-id> --queue-id <queue-id> <bundle-directory>
  • GUI での送信 (パラメータのカスタマイズが可能):
    deadline bundle gui-submit <directory-name>

統合の検証

ジョブが完了したら、LucidLink ファイルシステムが正常にマウントされたことを確認します。

  • Deadline Cloud Monitor アプリケーションを開く
  • ジョブリストからテストジョブを見つける
  • ログを表示 をクリックしてジョブ出力を確認
  • ログに LucidLink マウントポイント /mnt/lucid のディレクトリツリー構造が表示されていることを確認

テストが成功すると、LucidLink Filespace の完全なディレクトリ階層が表示され、ジョブ実行中にファイルシステムが正しくマウントされアクセス可能であることが確認できます。

考慮事項

このモジュラーアーキテクチャはインストールとマウントを分離しており、ジョブごとに異なるファイルシステム設定を使用できます。LucidLink デーモンは systemd サービスとして実行されジョブ実行間で永続化されます。マウントポイントには chmod 755 権限と --fuse-allow-other フラグが必要です。認証情報は AWS Secrets Manager から安全に取得され、OpenJD テンプレートがマウントとアンマウントを自動的に処理してリソースを適切に管理します。フリートにデプロイする前に、必ずスタンドアロンの EC2 インスタンスで設定スクリプトをテストしてください。

トラブルシューティング

セットアップやジョブ実行で問題が発生した場合は、まず AWS Deadline Cloud コンソールでフリート設定スクリプトのログを確認し、LucidLink クライアントが正しくインストールされたことを検証します。マウントの問題については、失敗したタスクを右クリックして「View Worker Logs」を選択し、デーモンが実行中であることを確認してから、ジョブ固有のログでファイルシステムアクセスエラーを確認します。権限の問題は通常、フリートの IAM ロールに Secrets Manager シークレットへのアクセス権がないか、マウントポイントの権限調整が必要であることを示しています。テンプレート関連の問題は、本番ワークロードを送信する前に、OpenJD YAML構文の検証とDeadline Cloud CLIによるジョブテンプレートのテストによって特定できます。

クリーンアップ

Deadline Cloud と LucidLink の使用を中止する場合は、AWS Deadline Cloud コンソールでフリートとキューを削除します。テスト用の EC2 インスタンスを作成した場合は、EC2 コンソールから終了します。不要になった場合は、LucidLink の認証情報を含む AWS Secrets Manager シークレットも削除してください。

まとめ

LucidLink のインストールとファイルシステムのマウントを分離することで、柔軟でメンテナンスしやすい構成を実現できます。サービスマネージドフリートが 1 回限りのクライアントインストールを処理し、OpenJD ジョブテンプレートがジョブごとのファイルシステムマウントを管理することで、以下のメリットが得られます。

  • モジュール性: ジョブごとに異なるファイルシステムや設定をマウント可能
  • リソース効率: ファイルシステムは必要なときだけマウントされ、自動的にアンマウント
  • セキュリティ: 認証情報はジョブ環境内で安全に処理
  • 信頼性: インストールとマウントの両フェーズで適切なエラー処理とクリーンアップ

このアーキテクチャは、セキュリティのベストプラクティスを維持しつつ運用を効率化し、レンダリングワークフローに高性能な共有ストレージを提供します。LucidLink のグローバルファイルシステムと AWS Deadline Cloud のスケーラブルなレンダリングインフラストラクチャを組み合わせることで、クリエイティブチームは地理的な境界を越えてシームレスにコラボレーションできます。

AWS の担当者に問い合わせて、ビジネスの加速を支援する方法をご確認ください。

関連情報

AWS Deadline Cloud のサービスマネージドフリートと設定スクリプトの詳細は、AWS Deadline Cloud ドキュメントを参照してください。Open Job Description (OpenJD) の詳細は、OpenJD specifications GitHub ページまたは OpenJD ドキュメントページを参照してください。

LucidLink について

LucidLink は、クリエイティブチームがどこからでも協力して作業できるストレージコラボレーションプラットフォームです。ゼロ知識暗号化で保護された単一の共有 Filespace で、あらゆる規模のプロジェクトに即座に安全にアクセス、編集、共有できます。詳しくは LucidLink on AWS をご覧ください。

著者について

Zach Willner

Zach Willner

AWS のメディア & エンターテインメント担当シニアパートナーソリューションアーキテクトです。AWS 上のメディア & エンターテインメント向けパートナーエコシステムの構築に取り組んでいます。

DJ Rahming

DJ Rahming

AWS のビジュアルコンピューティング担当シニアソリューションアーキテクトです。


参考リンク
AWS Media Services
AWS Media & Entertainment Blog (日本語)
AWS Media & Entertainment Blog (英語) 
AWS のメディアチームの問い合わせ先: awsmedia@amazon.co.jp

※ 毎月のメルマガをはじめました。最新のニュースやイベント情報を発信していきます。購読希望は上記宛先にご連絡ください。

翻訳は Visual Compute SSA 森が担当しました。原文はこちらをご覧ください。