建立混合式算繪設備

Last reviewed 2024-11-26 UTC

本文將提供指導,協助您延伸現有的內部部署轉譯設備,以使用 Google Cloud的運算資源。本文假設您已實作內部部署的轉譯設備,並熟悉視覺效果 (VFX) 及動畫管道、佇列管理軟體和一般軟體授權方法的基本概念。

總覽

轉譯動畫、影片、廣告或電玩遊戲的 2D 或 3D 元素,需要大量的運算及時間。轉譯這些元素需要大量投資硬體及基礎設施,並且要成立專屬 IT 專業人士團隊,以部署及維護軟硬體。

內部部署轉譯設備達到 100% 使用率時,管理工作就可能面臨挑戰。工作優先順序及相依性、重新開始遺失影格,以及網路、磁碟和 CPU 負載等各種因素,都成為複雜公式的一部分,而您通常必須在緊湊的期限內加以密切監控及控制。

為了管理以上工作,VFX 設施將佇列管理軟體納入其管道之中。佇列管理軟體可以:

  • 將工作部署至內部部署及雲端型資源。
  • 管理工作間相依性。
  • 與素材管理系統通訊。
  • 向使用者提供使用者介面及常用語言 API,例如 Python。

雖然部分佇列管理軟體可將工作部署至雲端型工作站,但您仍須負責連線至雲端、同步素材、選擇儲存架構、管理圖片範本,以及提供自己的軟體授權。

您可以在雲端或混合雲環境中,使用下列選項建構及管理轉譯管道和工作流程:

  • 如果您沒有內部或雲端資源,可以使用軟體即服務 (SaaS) 雲端算繪服務,例如 Conductor
  • 如果您想自行管理基礎架構,可以建構及部署本文所述的雲端資源。
  • 如果您想根據特定需求建立自訂工作流程,可以與 Google Cloud 服務整合服務合作夥伴合作,例如 GunpowderQodea。這個選項的好處是,您可以在自己的安全 Google Cloud 環境中執行所有雲端服務。

為了協助判定適合您設施的理想解決方案,請與Google Cloud 代表聯絡。

注意:本文會不時提及製作注意事項,其中提供各種最佳做法,協助您建構轉譯設備。

連線至雲端

視工作負載而定,決定設施要如何連線至Google Cloud,例如透過合作夥伴 ISP、直接連線或使用公共網路。

透過網際網路連線

您不需要任何特殊連線即可連線至 Google 網路,並透過網際網路存取 Google Cloud 服務,以使用我們的端對端安全模型。像是 Google Cloud CLI 等公用程式,以及 Compute Engine API 等資源,都使用安全驗證、授權及加密功能來協助維護您的資料安全。

Cloud VPN

不論您用什麼方式連線,我們都建議您使用虛擬私人網路 (VPN) 維護連線安全。

Cloud VPN 可透過 IPsec VPN 連線,協助您將內部部署網路安全連線至 Google 虛擬私有雲 (VPC) 網路。傳輸中的資料會先經過加密,才傳送通過一個以上的 VPN 通道。

瞭解如何為專案建立 VPN

客戶提供的 VPN

雖然您可以設定自己的 VPN 閘道以直接連線 Google,但我們建議使用 Cloud VPN,因為其中提供更多彈性,並能更充分與 Google Cloud整合。

Cloud Interconnect

Google 支援多種連線方式,可讓您的基礎架構連結至Google Cloud。這類企業級連線共同稱為 Cloud Interconnect,提供比標準網際網路連線更高的可用性,延遲時間更短,並享有更低的輸出價格。

Cross-Cloud Interconnect 可讓您建立高頻寬的專屬連線, Google Cloud以便存取其他雲端中的資料。這麼做可降低網路複雜度、減少資料傳輸成本,並支援高處理量的多雲算繪農場。

專屬互連網路

專屬互連網路可在內部部署網路和 Google 網路之間,提供直接實體連線和 RFC 1918 通訊。此外,專屬互連網路能透過以下類型的連線提供連線容量:

  • 一或多個 10 Gbps 乙太網路連線 (每個互連最多支援八個連線或總計 80 Gbps 的連線)。
  • 一或多個 100 Gbps 乙太網路連線 (每個互連最多支援兩個連線或總計 200 Gbps 的連線)。

專屬互連網路流量未加密。如果您需要以安全方式透過專屬互連網路傳輸資料,就必須建立自己的 VPN 連線。Cloud VPN 不相容於專屬互連網路,所以在此情況下您必須提供自己的 VPN。

合作夥伴互連網路

合作夥伴互連網路透過支援的服務供應商,在您的內部部署網路及虛擬私有雲網路之間提供連線能力。如果基礎架構所在之處無法接觸專屬互連網路主機代管服務供應商,或是您的資料需求不需要使用整個 10-Gbps 連線,合作夥伴互連網路就相當實用。

其他連線類型

您所在的地區可能有其他連線至 Google 的方式。如需協助判定連線至Google Cloud最理想且最符合成本效益的方式,請與 Google Cloud 代表聯絡。

維護內容安全

大型好萊塢電影公司等內容擁有者,為了在公共雲端平台放送內容,會要求廠商遵循安全最佳做法,此等最佳做法是由企業內部及 MPAA 等組織負責訂定。Google Cloud 提供零信任安全性模型,並內建於 Google Workspace、Chrome Enterprise Premium 和 BeyondProd 等產品中。

每家電影公司對於轉譯工作負載的安全性要求都不盡相同。您可以在 cloud.google.com/security 找到安全性白皮書和法規遵循說明文件

如果您對安全法規遵循稽核程序有任何問題,請與Google Cloud 代表聯絡。

組織您的專案

專案是 Google Cloud的核心組織元件。您可在設施中將工作組織至各自專案,或是將工作分開至多個專案。例如您可能想針對預先視覺化、研發及電影製作階段建立不同專案。

專案會針對網路資料及專案管理建立隔離界線。不過您可利用共用 VPC 在專案之間共用網路,讓不同專案存取共同資源。

製作注意事項:建立共用 VPC 主機專案,在其中納入各種資源及所有生產工具。您可以將機構建立的所有專案,指定為共用 VPC 服務專案。這項指定代表機構中的任何專案,都能存取主機專案提供的相同資料庫、指令碼及軟體。

機構資源

您可以管理機構資源下的專案,這些專案可能已建立。將所有專案遷移至單一機構有很多好處

製作注意事項:將製作經理指定為其個別專案負責人,並將電影公司管理階層指定為機構資源負責人。

定義資源存取權

專案需要安全存取資源,並限制使用者或服務允許運作的地方。Google Cloud 提供 Identity and Access Management (IAM),協助您定義存取權。您可以利用此服務管理存取權控制,定義各種角色對各種資源的存取層級。

製作注意事項:為了限制使用者只能依據本身角色,存取執行特定工作的必要資源,請在內部部署及雲端實作最低權限原則

例如「轉譯工作站」是虛擬機器 (VM),可由使用自訂圖片的預先定義執行個體範本進行部署。在服務帳戶之下運作的轉譯工作站,可由 Cloud Storage 讀取並寫入附加儲存空間,例如雲端檔案伺服器或永久磁碟。不過您完全無需將個別藝術家新增至Google Cloud 專案,因為藝術家不需要直接存取雲端資源。

您可指派角色給能夠存取所有 Compute Engine 資源的轉譯管理員或專案系統管理員,以便讓他們能在其他使用者無法存取的資源上執行職務。

請定義政策以決定機構中的哪些角色可以存取哪些類型資源。下表顯示一般製作工作如何對應至 Google Cloud中的 IAM 角色。

製作工作 角色名稱 資源類型
電影公司經理 resourcemanager.organizationAdmin 機構
專案
製片經理 ownereditor 專案
轉譯管理員 compute.adminiam.serviceAccountActor 專案
佇列管理帳戶 compute.adminiam.serviceAccountActor 機構
專案
個別美術人員 [無存取權] 不適用

存取權範圍

存取權範圍提供方式,協助您控制執行中執行個體的權限,不受登入者身分影響。您可在建立執行個體時,或是在佇列管理軟體由執行個體範本部署資源時指定範圍。

此項範圍優先權高於個別使用者或服務帳戶的 IAM 權限,亦即存取權範圍可避免專案管理員登入執行個體刪除儲存值區,或變更防火牆設定。

製作注意事項:依據預設,執行個體可讀取但無法寫入至 Cloud Storage。如果您的轉譯管道將完成的轉譯寫入回到 Cloud Storage,請在建立時將 devstorage.read_write 範圍新增至執行個體。

選擇如何部署資源

有了雲端轉譯,您就可以只在需要時使用資源,但有多種方式讓資源可用於轉譯設備。

隨選部署

為了達到最佳的資源使用,您可選擇只在傳送工作至轉譯設備時部署轉譯工作站。您可部署許多 VM 讓工作中的所有影格共用,或甚至每個影格建立一個 VM。

您的佇列管理系統可監控執行中的執行個體,若 VM 遭到先佔,則可進行佇列,並於個別工作完成時終止。

部署資源集區

您可以選擇部署執行個體群組,與任何特定工作均無關聯,讓您的內部部署佇列管理系統能夠將其視為其他資源進行存取。如果您使用 Google Cloud的 Spot VM,執行中執行個體群組可接受每 VM 多個工作,使用所有核心並達到最高的資源使用率。這種方法可能是最簡單明瞭的實作策略,因為其中會模仿內部部署轉譯設備填入工作的方式。

授權軟體

各個套件之間的第三方軟體授權可能有很大差異。以下提出部分您可能在 VFX 管道遭遇的授權配置及模式。第三欄針對每種配置提出建議的授權方法。

配置 說明 建議
節點鎖定 授權至特定 MAC 位址、IP 位址或 CPU ID。僅能由單一程序執行。 以執行個體為基礎
以節點為基礎 授權至特定節點 (執行個體)。任意數量的使用者或程序可於授權節點執行。 以執行個體為基礎
浮動式 由持續追蹤使用情形的授權伺服器簽出。 授權伺服器
軟體授權
互動式 允許使用者在以圖形為基礎的環境中以互動方式執行軟體。 授權伺服器以執行個體為基礎
批次 允許使用者僅於指令列環境執行軟體。 授權伺服器
雲端型授權
按用量計費 僅於程序在雲端執行個體執行時簽出。程序完成或終止時,就會撤銷授權。 雲端型授權伺服器
按運作時間計費 於執行個體運作及執行時簽出。執行個體停止或遭刪除時,就會撤銷授權。 雲端型授權伺服器

使用以執行個體為基礎的授權

部分軟體程式或外掛程式,是直接授權給執行前述程式的硬體。這種授權方法在雲端可能會有問題,因為 MAC 或 IP 位址等硬體 ID 是以動態方式指派。

MAC 位址

執行個體建立時會獲得指派的 MAC 位址,只要執行個體並未刪除,MAC 位址就會存在。您可以停止或重新啟動執行個體,MAC 位址將獲得保留。您可使用此 MAC 位址建立或驗證授權,直到授權遭到刪除為止。

指派靜態 IP 位址

建立執行個體時,會向執行個體指派內部及外部 (選用) IP 位址。如需保留執行個體外部 IP 位址,請保留靜態 IP 位址,並將其指派給執行個體;這樣此 IP 位址就只會保留給此執行個體。由於靜態 IP 位址是以專案為基礎的資源,因此會受到地區配額限制。

您也可以在建立執行個體時指派內部 IP 位址;如果您想讓執行個體群組的內部 IP 位址位在相同範圍內,這種作法就相當實用。

硬體鎖

舊型軟體仍可能透過硬體鎖授權;硬體鎖是指以產品授權編程的硬體金鑰。大部分軟體公司都已停止使用硬體鎖,不過部分使用者仍可能擁有舊型軟體,在這類裝置中設有金鑰。如果您遇到這個問題,請與軟體製造商聯絡,瞭解對方是否能為您的特定軟體提供更新授權。

如果軟體製造商無法提供這類授權,您可以實作附加網路的 USB 集線器或 USB over IP 解決方案。

使用授權伺服器

大部分現代軟體都提供浮動式授權選項。此選項最適合在雲端環境使用,但需要更強大的授權管理及存取權控管,避免過度耗用數量有限的授權。

為了協助避免超過授權容量,您可讓部分工作佇列程序選擇要使用的授權,並控制使用授權的工作數量。

內部部署授權伺服器

您可利用現有的內部部署授權伺服器,提供授權給在雲端執行的執行個體。若您選擇此方法,就必須提供方法讓轉譯工作站與內部部署網路通訊,例如 VPN 或其他安全連線。

雲端型授權伺服器

您可在雲端中使用共用 VPC 執行授權伺服器,以便在專案中或甚至多個專案之間提供執行個體。浮動式授權有時會連結至硬體 MAC 位址,因此長期運作的小型執行個體,若具備靜態 IP 位址,就可輕鬆提供授權至許多轉譯執行個體。

混合式授權伺服器

部分軟體可依據優先順序使用多個授權伺服器。例如轉譯器可能查詢內部部署伺服器提供的授權數量,如果均無法提供,就會使用雲端型授權伺服器。此項策略可在您簽出其他授權類型之前,協助您充分使用永久授權。

製作注意事項:在環境變數中定義一個以上授權伺服器,並定義優先順序;Autodesk Arnold 是熱門的轉譯器,可協助您執行此項作業。如果工作使用第一個伺服器無法擷取授權,工作就會嘗試使用任何列出的其他伺服器,如以下範例所示:

export solidangle_LICENSE=5053@x.x.0.1;5053@x.x.0.2

在前述範例中,Arnold 轉譯器嘗試由位在 x.x.0.1 通訊埠 5053 的伺服器取得授權。如果前述嘗試失敗,轉譯器就會嘗試由 IP 位址 x.x.0.2 的相同通訊埠取得授權。

雲端型授權

部分廠商提供雲端型授權,針對您的執行個體以隨選方式提供軟體授權。雲端型授權一般以兩種方式計費:按用量計費和按運作時間計費。

按用量計費授權

按用量計費授權是依據軟體使用時間計費。就這類授權而言,授權一般是在程序開始時由雲端型伺服器簽出,並於程序完成時撤銷。只要授權簽出,您就要負擔授權使用費用。這類授權一般用於轉譯軟體。

按運作時間計費授權

按運作時間計費授權 (或所謂的計量授權),是依據 Compute Engine 執行個體的運作時間計費。執行個體設定在啟動程序期間,於雲端型授權伺服器進行註冊。只要執行個體執行,授權就會簽出。執行個體停止或刪除時,授權就會撤銷。這類授權一般用於佇列管理員部署的轉譯工作站。

選擇如何儲存資料

您在 Google Cloud 上選擇的儲存空間類型,取決於您所選的儲存空間策略,以及耐用度需求和成本等各項因素。

永久磁碟

您可將永久磁碟 (PD) 納入工作負載之中,以避免實作檔案伺服器。PD 是一種符合 POSIX 規範的區塊儲存空間,大小最高可達 64 TB,大部分 VFX 設施都適用。永久磁碟以標準硬碟或固態硬碟 (SSD) 提供使用。您可在讀寫模式中將 PD 附加至單一執行個體,或是在唯讀模式中附加至大量執行個體,例如轉譯工作站群組。

優點 缺點 理想用途
掛接為標準 NFS 或 SMB 磁碟區。

能夠動態調整大小。

最多可將 128 個 PD 附加至單一執行個體。

相同 PD 可利用唯讀方式掛接至數百或數千個執行個體。
最大容量為 64 TB。

只有在附加至單一執行個體時才能寫入至 PD。

只能由位在相同區域的資源存取。
依據每項工作建構新磁碟的進階管道。

不常提供軟體或一般資料庫等更新資料至轉譯工作站的管道。

物件儲存空間

Cloud Storage 是高度備援及高度耐用的儲存空間,其中與傳統檔案系統的不同之處,在於非結構化及容量不受限。Cloud Storage 的檔案儲存於值區之中,就像資料夾一樣,並可由全球各地存取。

有別於傳統儲存空間,物件儲存空間無法由作業系統 (OS) 掛接作為邏輯磁碟區。如果您決定將物件儲存空間納入轉譯管道,就必須修改讀取及寫入資料的方式;您可透過 gcloud CLI 等指令列公用程式或透過 Cloud Storage API 進行修改。

優點 缺點 理想用途
高度可用的耐用儲存空間,適合所有大小的檔案使用。

所有儲存空間級別皆採用相同的 API。

價格低廉。

全球各地均可取得資料。

容量幾乎不受限。
未遵循 POSIX 規範。

必須透過 API 或指令列公用程式存取。

在轉譯器管道中,資料必須在使用前進行本機傳輸。
具有素材管理系統,可發佈資料至 Cloud Storage 的轉譯器管道。

具有佇列管理系統,可在轉譯前由 Cloud Storage 擷取資料的轉譯器管道。

其他儲存產品

其他儲存產品以代管服務方式,透過 Cloud Marketplace 等第三方通路提供,或是以開放原始碼專案方式,透過軟體存放區或 GitHub 提供。

產品 優點 缺點 理想用途
Filestore 可支援數千個同時 NFS 連線的叢集檔案系統。

能夠與內部部署 NAS 叢集同步。
無法選擇同步處理檔案。無雙向同步。 中型至大型 VFX 設施,在雲端有數百 TB 的資料。
Pixit MediaPixStor 可支援數千個同時 NFS 或 POSIX 連線的擴充檔案系統。資料可由內部部署 NAS 隨選快取,更新則自動送回內部部署儲存空間。 成本、Pixit 的第三方支援。 中型至大型 VFX 設施,在雲端有數百 TB 的資料。
Google Cloud NetApp Volumes 在 Google Cloud上提供全代管的儲存空間解決方案。

支援 NFS、SMB 和多通訊協定環境。

時間點快照與執行個體復原
僅適用於部分 Google Cloud 地區。 VFX 設施,其管道能夠進行素材同步。

在虛擬工作站之間共用磁碟。
Cloud Storage Fuse 將 Cloud Storage 值區掛接為檔案系統。成本低廉。 並非符合 POSIX 規範的檔案系統。可能難以設定及最佳化。 能夠部署、設定及維護開放原始碼檔案系統的 VFX 設施,且其管道能夠進行素材同步。

Google Cloud也提供其他儲存空間類型。如需更多資訊,請與 Google Cloud 代表聯絡。

延伸閱讀:資料儲存選項

實作儲存策略

您可在 VFX 或動畫製作管道實作多項儲存策略,建立規定以決定如何處理資料,不論是由內部部署儲存空間直接存取資料,或是讓內部部署儲存空間及雲端之間同步。

策略 1:直接掛接內部部署儲存空間

直接由雲端型轉譯工作站掛接內部部署儲存空間
直接由雲端型轉譯工作站掛接內部部署儲存空間

若您的設施以至少 10 Gbps 連線至 Google Cloud ,並且鄰近 Google Cloud 區域,就可以選擇將內部部署 NAS 直接掛接在雲端轉譯工作站。由於此項策略直接明瞭,因此可能耗費大量成本及頻寬,因為您在雲端建立及寫入回到儲存空間的任何事物,都會視為輸出資料。

優點 缺點 理想用途
直接明瞭的實作方式。

讀取/寫入共同儲存空間。

資料立即可用,無需快取或同步。
可能比其他選項更為昂貴。

必須鄰近 Google 資料中心,才能達到低延遲。

可連線至內部部署 NAS 的最大執行個體數量,需視頻寬及連線類型而定。
鄰近 Google 資料中心的設施,需要將轉譯工作負載爆發至雲端,而且無需考量成本問題。

至少以 10 Gbps 連線至 Google Cloud 的設施。

策略 2:隨選同步

在內部部署儲存空間及雲端型儲存空間之間隨選同步資料
在內部部署儲存空間及雲端型儲存空間之間隨選同步資料

您可以選擇將資料推送至雲端,或從內部儲存空間提取資料,反之亦然,只在需要資料時才進行,例如轉譯影格或發布素材時。若您使用此項策略,可由多種方式觸發同步,例如監看指令碼等管道中的機制、Pub/Sub 等事件處理常式,或是使用一組指令做為一部分的工作指令碼。

您可以使用各種指令執行同步,例如 gcloud CLI scp 指令、gcloud CLI rsync 指令,或是以 UDP 為基礎的資料傳輸通訊協定 (UDT)。如果您選擇使用第三方 UDT (例如 AsperaCloud FastPathBitSpeedFDT) 與 Cloud Storage 值區進行通訊,請參閱該第三方的說明文件瞭解其安全模式及最佳做法。Google 並未管理這類第三方服務。

推送方法

您一般會將推送方法用於發佈素材、將檔案置於監看資料夾或完成轉譯工作,然後將其推送至預先定義位置。

範例:

  • 雲端轉譯工作站完成轉譯工作,其產生的影格將推送回內部部署儲存空間。
  • 美術人員發佈素材。部分素材發佈程序涉及到將相關資料推送至 Cloud Storage 的預先定義路徑。

提取方法

您可於要求檔案時使用提取方法,一般是由雲端型轉譯執行個體提出要求。

範例:在轉譯工作指令碼的一部分中,轉譯情境時需要的所有素材會在轉譯前提取至檔案系統,提供給所有轉譯工作站存取。

優點 缺點 理想用途
完整控制要同步的資料及同步時機。

能夠選擇轉移方法及通訊協定。
您的製作管道必須具備事件處理能力,以觸發推送/提取同步。

可能需要其他資源處理同步佇列。
具有自訂管道,且希望控制素材同步的小型至大型設施。

製作注意事項:管理資料同步時,請使用用於處理轉譯工作的相同佇列管理系統。同步工作可使用不同雲端資源,以提升可用頻寬,同時減少網路流量。

策略 3:內部部署儲存空間、雲端型貫穿式讀取快取

使用內部部署儲存空間搭配雲端型貫穿式讀取快取
使用內部部署儲存空間搭配雲端型貫穿式讀取快取

Google Cloud 已擴充並開發 KNFSD 快取解決方案,做為開放原始碼選項。這項解決方案可處理超出儲存基礎架構能力的算繪農場效能需求。KNFSD 快取功能提供高效能的讀取快取功能,可讓工作負載擴充至跨多個區域和混合儲存空間集區的數百或數千個轉譯節點。

KNFSD 快取是一種擴展解決方案,可降低主要檔案分享服務的負載。當多個轉譯節點同時嘗試從檔案伺服器擷取檔案時,KNFSD 快取功能也會減少超載效應。在與轉譯節點相同的 VPC 網路上使用快取層,可縮短讀取延遲時間,進而加快轉譯工作的啟動和完成時間。視您設定快取檔案伺服器的方式而定,資料會留在快取之中直到:

  • 資料「過期」或在經過一定時間後未被使用。
  • 檔案伺服器需要空間,因此依據年齡由快取移除資料。

本策略可減少所需的頻寬及複雜度,協助部署許多並行的轉譯執行個體。

在部分情況下,您可能想讓快取「預先暖機」,確保轉譯前所有工作相關資料都存在。如需預先暖機快取,請執行一或多個檔案的 readstat,以讀取雲端檔案伺服器目錄中的內容。以這種方式存取檔案可觸發同步機制。

您也可以新增實體內部部署設備,以便與虛擬設備通訊。例如 NetApp 提供的儲存空間解決方案,可進一步減少內部部署儲存空間和雲端之間的延遲。

優點 缺點 理想用途
可自動管理快取資料。

減少頻寬需求。

叢集雲端檔案系統可視工作需求上下進行資源調度。
可能產生額外成本。

如果選擇預先暖機快取,就必須實作工作前作業。
部署許多並行執行個體,且讀取許多工作共同素材的大型設施。

篩選資料

您可建構素材類型及相關條件的資料庫,以定義是否要同步特定類型資料。您或許不想同步某些類型資料,例如產生作為轉換程序一部分的暫時資料、快取檔案或模擬資料。請也考慮是否要同步「未核准」素材,因為並非所有疊代都會在最終轉譯器之中使用。

執行初始大量轉移

實作混合式轉譯設備時,您可能希望執行初始轉移,將所有或部分的資料集移往 Cloud Storage、永久磁碟或其他雲端型儲存空間。視轉移的資料量、資料類型及連線速度等因素而定,您可能希望利用幾天或幾週的時間執行完整同步。下圖比較線上及實體轉移的一般時間。

比較線上及實體轉移的一般時間
比較線上和實體轉移的一般時間

如果轉移工作負載超過您的時間或頻寬限制,Google 提供多種轉移選項協助您將資料移往雲端,其中包括 Google 的 Transfer Appliance

封存及災難復原

請留意封存資料與災難復原之間的差別。前者是已完成工作的選擇性複本,後者則是可復原資料的狀態。您希望設計災難復原計劃符合設施需求,並提供異地應變計劃。請徵詢內部部署儲存空間廠商意見,協助訂定適合您特定儲存平台的災難復原計劃。

在雲端封存資料

專案完成後,一般實務做法是將完成工作儲存至某種長期儲存空間之中,一般為 LTO 等磁帶媒體。這類磁帶匣受限於環境需求,長期下來也要面對難以管理的物流問題。大型製片設施有時將整個封存置於專為特定目的打造的房間內,由全職封存人員負責追蹤資料,並於接獲要求時加以擷取。

搜尋特定的封存素材、攝影作品或影片可能耗費許多時間,因為資料可能儲存於多個磁帶匣,而封存索引可能遺失或不完整,或是由磁帶讀取資料時可能有速度限制。

將資料封存遷移至雲端,不僅能消除內部部署管理及儲存封存媒體的需求,也能大幅提升資料的存取及搜尋能力,超越傳統封存方法。

下圖呈現可能的基本封存管道,其中採用不同的雲端服務,以檢驗、分類、標記和整理封存。您可由雲端建立封存管理及擷取工具,使用各種不同的中繼資料標準搜尋資料,例如日期、專案、格式或解析度。您也可以使用機器學習 API 標記及分類圖片和影片,並將結果儲存於 BigQuery 等雲端型資料庫。

包含以機器學習分類內容的素材封存管道
包含以機器學習分類內容的素材封存管道

進一步考量的主題:

  • 針對位於 Cloud Storage 儲存空間級別 (有擷取費用) 的內容,自動產生縮圖或 Proxy。在媒體資源管理系統中使用這些 Proxy,使用者就可一邊瀏覽資料,一邊僅讀取 Proxy,而不用讀取封存資源。
  • 請考慮使用機器學習分類直播內容。請使用 Cloud Vision 將紋理及背景板加上標籤,或以 Video Intelligence API 協助搜尋及擷取參考影片。
  • 您也可以使用 Vertex AI AutoML 圖片建立自訂圖片模型,以識別任何素材,不論是直播或轉譯。
  • 對轉譯內容而言,除了儲存轉譯資源,也請考慮儲存轉譯工作站磁碟映像檔複本。若您需要重新建立設定,則您在需要重新轉譯已封存的攝影作品時,應有正確的軟體版本、外掛程式、OS 資料庫及相依性。

管理素材及製作

在多個設施之間處理相同專案,可能產生特殊的挑戰,特別是在內容及素材需提供給全球各地使用時。手動同步處理涵蓋各個私有網路的資料可能所費不貲,耗費大量資源,並取決於當地頻寬限制。

若您的工作負載需要全球均可使用的資料,您或許可使用 Cloud Storage,這樣就能在可以存取 Google 服務的任何地方進行存取。為了將 Cloud Storage 納入管道,您必須修改管道以瞭解物件路徑,然後在轉譯前提取或推送資料至轉譯工作站。使用這種方法可由全球存取已發佈資料,但您的管道需要在合理時間內,將素材交付至所需位置。

例如一名位於洛杉磯的紋理美術人員可以發佈圖片檔,提供給位於倫敦的照明美術人員使用,其程序如下:

發佈素材至 Cloud Storage
將素材資源發布至 Cloud Storage
  1. 發佈管道會將檔案發佈至 Cloud Storage,然後新增項目至雲端型素材資料庫。
  2. 位於倫敦的美術人員執行指令碼,以取得場景素材。資料庫會查詢檔案位置,並由 Cloud Storage 讀取至本機磁碟。
  3. 佇列管理軟體收集轉譯需要的素材清單,由素材資料庫進行查詢,然後由 Cloud Storage 下載至各個轉譯工作站的本機儲存空間。

以這種方式利用 Cloud Storage 時,若您選擇使用 Cloud Storage 作為封存管道的一部分,就可以在雲端獲得所有發佈資料的封存。

管理資料庫

資源及製作管理軟體仰賴可用性高、耐用且於主機提供的資料庫,每秒能夠處理數百或數千項查詢。資料庫一般於內部部署伺服器代管;內部部署伺服器與轉譯工作站在相同機架運作,並取決於相同的電源、網路及 HVAC 限制。

您可能會考慮讓 MySQL、NoSQL 及 PostgreSQL 生產資料庫,以託管的雲端型服務執行。這類服務可用性高,可由全球存取,加密閒置及傳輸中資料,並提供內建複寫功能。

管理佇列

市售的佇列管理軟體,例如 Qube!DeadlineTractor 已廣泛應用於 VFX/動畫產業。此外,您也可選擇使用開放原始碼軟體,例如 OpenCue。您可使用此軟體部署及管理任何工作負載,涵蓋各種工作站,不侷限於轉譯作業。您可部署及管理素材發布、粒子及流體模擬、紋理烘焙,並以管理轉譯的相同排程架構進行合成。

有一些設施已在 VFX 管道中實作一般用途的排程軟體,例如美國威斯康辛大學的 HTCondor、SchedMD 的 Slurm,或是 Univa Grid Engine。不過專為 VFX 產業設計的軟體,會特別注意下列功能:

  • 以工作、影格及圖層為基礎的相依性。有些作業需要先完成,才能開始進行其他工作,例如轉譯前要進行完整的流體模擬。
  • 工作優先順序,其中轉譯管理員可依據個別期限或時程調動工作順序。
  • 資源類型、標籤或目標,可用於配對特定資源與需要特定資源的工作,例如僅在附加 GPU 的 VM 部署 GPU 加速轉譯。
  • 擷取資源使用量的歷史資料,並透過 API 或資訊主頁提供做進一步分析。例如檢視過去幾次轉譯疊代的平均 CPU 和記憶體使用量,以預測下個疊代的資源使用量。
  • 檔期前及檔期後工作。例如有一項檔期前工作,在轉譯前將所有必要素材提取至本機轉譯工作站。一項檔期後工作將產生的轉譯影格複製到檔案系統的指定位置,然後在資源管理系統中將影格標示為完成。
  • 與熱門的 2D 及 3D 軟體應用程式整合,例如 Maya、3ds Max、Houdini、Cinema 4D 或 Nuke。

製作注意事項:使用佇列管理軟體識別雲端型資源集區,將其視為內部部署轉譯工作站。這種方法需要監督,執行每個執行個體所能處理的最大轉譯數量,以達到最高資源使用量;這種技巧稱為裝箱 (bin packing)。這類作業一般是以演算法及轉譯管理員處理。

您也可以依據隨選方式自動建立、管理及終止雲端型資源。這種方法需要仰賴佇列管理員執行轉譯前及轉譯後的指令碼,以建立所需資源,在轉譯期間監控資源,並於作業完成時終止資源。

工作部署考量因素

您實作同時使用內部部署及雲端型儲存空間的轉譯設備時,佇列管理員可能要考慮下列因素:

  • 雲端及內部部署這兩種部署之間的授權可能不同。部分授權是以節點為基礎,部分則是程序導向。請確保佇列管理軟體部署工作,讓授權發揮最高價值。
  • 請考慮在雲端型資源加上不重複標記或標籤,確保只在指派給特定工作類型時使用。
  • 使用 Cloud Logging 偵測未使用或閒置的例項。
  • 啟動獨立工作時,請考量產生的資料將位在何處,以及在下個步驟時需要讓資料位在何處。
  • 若內部部署及雲端型儲存空間的路徑命名空間不同,請考慮使用相對路徑,讓轉譯能夠不受位置影響。此外視平台而定,您也可以建構機制在轉譯時間交換路徑。
  • 部分轉譯、模擬或後續程序仰賴產生隨機號碼,各家 CPU 製造商之間可能不同。即使是同一家製造商的 CPU,若使用不同世代晶片,也可能產生不同結果。如有疑問,請針對所有工作影格使用相同或類似的 CPU 類型。
  • 如果您使用貫穿式讀取快取設備,請考慮部署檔期前工作以預先暖機快取,確保您在部署雲端資源之前,所有素材都能在雲端提供使用。這種方法可在素材移往雲端時,減少轉譯工作站被迫等待的時間。

記錄和監控

記錄及監控資源使用量和效能,是任何轉譯設備的必要層面。 Google Cloud 提供多項 API、工具和解決方案,協助深入分析掌握資源及服務的使用率。

監控 VM 活動最快速的方式,就是檢視其序列埠輸出。若透過轉譯佇列管理監督員等一般服務控制層,執行個體沒有回應,此項輸出就相當實用。

收集和監控 Google Cloud資源使用量的其他方式包括:

  • 使用 Cloud Logging 擷取使用與稽核記錄,將產生的記錄匯出至 Cloud Storage、BigQuery 及其他服務。
  • 使用 Cloud Monitoring 在 VM 安裝代理程式,監控系統指標
  • 使用熱門指令碼語言的用戶端程式庫,將 Cloud Logging API 納入管道指令碼,以便直接記錄至 Cloud Logging。
  • 使用 Cloud Monitoring 建立圖表,瞭解資源使用量。

設定轉譯工作站執行個體

為了讓工作負載成為真正的混合式,內部部署轉譯節點必須與雲端型轉譯節點相同,具有相符的 OS 版本、核心版本、安裝的資料庫及軟體。您可能也需要在雲端重新產生掛接點、路徑命名空間,甚至使用者環境,因為前述項目均為內部部署。

選擇磁碟映像檔

您可以選擇其中一種公開映像檔,或以自己的內部部署轉譯節點映像檔為基礎,建立自己的自訂映像檔。公開映像檔包含一組套件,用於設定及管理使用者帳戶,以及啟用安全殼層 (SSH) 金鑰驗證功能。

建立自訂的映像檔

若您選擇建立自訂映像檔,就需要新增更多資料庫至 Linux 及 Windows,以便在 Compute Engine 環境中適當運作。

您的自訂映像檔必須遵循安全最佳做法。若您使用 Linux,請安裝適用於 Compute Engine 的 Linux 訪客環境,以存取公開映像檔預設提供的功能。安裝訪客環境後,您可以執行各項作業,例如中繼資料存取、系統設定,以及在自訂映像檔及公開映像檔使用相同的安全控制,以最佳化 OS 在 Google Cloud的使用。

製作注意事項:於機構層級的獨立專案管理自訂映像檔。這方法可讓您更精準控制圖片的建立或修改方式,並可讓您套用版本,在多項製作作業之間使用不同軟體或作業系統版本時相當實用。

自動建立映像檔及部署執行個體

您可以使用 Packer 等工具,讓建立映像檔變得更容易重現、稽核、設定及可靠。您也可以使用 Ansible 等工具設定執行中的轉譯節點,並針對其設定及生命週期實施精細控制。

選擇機器類型

在 Google Cloud上,您可以選擇其中一種預先定義的機器類型,或指定自訂機器類型。使用自訂機器類型可控制資源,協助您依據在 Google Cloud上執行的工作類型自訂執行個體。建立執行個體時,您可以新增 GPU,並指定 CPU 數、CPU 平台、RAM 量及磁碟類型與大小。

製作注意事項:對於在每個影格部署一個執行個體的管道,請考慮依據 CPU 負載或記憶體使用等工作統計資料自訂執行個體,以便在拍攝的所有影格之間達到最佳資源使用。例如您可能選擇在具有大量動作模糊處理的影格中,部署 CPU 數較高的機器,協助在所有影格之間正規化轉譯時間。

在標準及先佔 VM 之間選擇

先占 VM (PVM) 是指大量 Compute Engine 容量以較低價格售出,其售價遠低於標準 VM。若其他工作需要存取該容量,Compute Engine 就可能終止或先占這些執行個體。PVM 適合用於能夠容錯,且由佇列系統管理的轉譯工作負載;佇列系統可追蹤因為先佔而遺失的工作。

標準 VM 可無限執行,適合需要持續執行的授權伺服器或佇列管理員主機。

先佔 VM 會在 24 小時後自動終止,因此請勿使用這類 VM 執行時間較長的轉譯或模擬作業。

先佔比率介於 5% 至 15%,由於成本較低,因此一般轉譯工作負載應可忍受。部分先佔最佳做法可協助您決定最佳方式,將 PVM 整合至轉譯管道之中。若您的執行個體遭到先佔,Compute Engine 會傳送先佔訊號至執行個體;您可利用此訊號觸發排程器終止現有工作並重新佇列。

標準 VM 先佔 VM
可用於長時間執行的工作。

適合具有固定期限的高度優先工作。

可無限執行,適合用於授權伺服器或佇列管理員代管。
24 小時後自動終止。

需要佇列管理系統處理先佔執行個體。

製作注意事項:部分轉譯器可能會以固定間隔,對進行中的轉譯執行快照,因此若 VM 遭到先佔,您仍可暫停並於後繼續轉譯,不必從頭重新開始影格。若您的轉譯支援快照,且您選擇使用 PVM,請在管道啟用轉譯快照,以避免遺失工作。雖然快照會被寫入及更新,但資料可寫入至 Cloud Storage,且若轉譯工作站被先佔,就可在部署新 PVM 時加以擷取資料。為了避免產生儲存成本,請刪除已完成轉譯的快照資料。

向轉譯工作站授予存取權

IAM 可協助您向需要存取的個人指派雲端資源存取權。對 Linux 轉譯工作站而言,您可使用 OS Login 進一步限制 SSH 工作階段之中的存取權限,讓您能夠控制由誰擔任管理員。

控制混合式轉譯設備成本

預估成本時必須考量許多因素,但我們建議您實作以下常見最佳做法,作為混合式轉譯設備的政策。

  • 預設使用先佔執行個體。除非您的轉譯工作需要執行非常長時間,像是每個影格四小時以上,或是您需要遵循強制期限交付攝影作品,否則請使用先佔 VM。
  • 盡可能減少輸出。僅複製您需要送回內部部署儲存空間的資料。在大部分情況下,此資料是最終的轉譯影格,但也可能是不同的傳送或模擬資料。如果您直接掛載內部 NAS,或使用可自動同步的儲存空間產品,請將所有轉譯資料寫入轉譯工作站的本機檔案系統,然後將所需資料複製回內部儲存空間,以免傳送暫時性和不必要的資料。
  • 調整 VM 大小確保建立具備最佳資源使用量的轉譯工作站,僅指派必要數量的 vCPU、最佳的 RAM 量,以及正確數量的 GPU (如有)。另外也請考慮減少任何附加磁碟的容量。
  • 考慮以一分鐘做為最小值。在 Google Cloud上,執行個體是以每秒為單位計費,最少為一分鐘。若您的工作負載包含一分鐘以下的轉譯影格,請考慮將作業整合在一起,避免部署運算時間一分鐘以下的執行個體。
  • 將大型資料集置於雲端。若您使用轉譯設備產生大量資料,例如深度 EXR 或模擬資料,請考慮使用更深入管道的雲端型工作站。例如 FX 美術人員可能在雲端執行流體模擬,編寫快取檔案至雲端型儲存空間。照明美術人員之後可能由位於Google Cloud的虛擬工作站存取前述模擬資料。如要進一步瞭解虛擬工作站,請與 Google Cloud 代表聯絡。
  • 利用續用折扣和承諾使用折扣。如果您執行資源集區,續用折扣最多可讓執行一整個月的執行個體,節省 30% 的成本。承諾使用折扣也適合用於部分情況。

將現有轉譯設備延伸至雲端,是一種符合成本效益的方式,協助您利用各種強大的低成本資源,無需負擔資本費用。製作管道都各不相同,因此說明文件無法提及每項主題及獨特需求。如在遷移轉譯工作量至雲端時需要協助,請與 Google Cloud 代表聯絡。

後續步驟

  • 探索 Google Cloud 的參考架構、圖表和最佳做法。歡迎瀏覽我們的雲端架構中心