新鈦雲服已累計為您分享827篇技術乾貨
大型企業或集團公司,由於組織架構複雜,業務複雜等原因,通常擁有多個阿里雲賬號來管理規模龐大的雲上資源。多賬號的環境,又進一步加大了分賬的難度。本文透過真實場景案例,來介紹如何合理使用阿里雲現有產品的能力,在多賬號的環境中根據財務需求進行分賬。
從現有多個阿里雲賬號中選擇一個賬號作為企業管理賬號,或者新建一個專門的企業管理賬號。其他賬號可以透過財務關聯的方式與企業管理賬號進行連線,由企業管理賬號統一管理和處理賬單、發票和付款等財務資訊。簡化財務管理流程,提高財務透明度和控制力。
第一步、企業管理賬號發起關聯邀請
企業管理賬號主賬號登入“費用與成本控制檯”,進入“企業財務-賬務關聯”,點選“邀請關聯賬號”按鈕,如下圖:

點選“邀請關聯賬號”後,首先彈出“填寫關聯賬戶資訊”頁面,您需要填寫“關聯的阿里雲賬號”、”顯示名稱”,系統將自動校驗子賬號是否滿足建立主、子財務關聯的條件。校驗通過後點選“下一步”,進入下個步驟。

關係型別選擇“企業集團關係”,關係策略選擇“財務管理”,全選或按需求選擇財務管理下的許可權選項,設定無誤後點擊“下一步”,進入下一個步驟。

系統會向待關聯的子賬號發起邀請;待關聯的子賬號將收到站內信、簡訊及郵件通知,需要確認授權。

第二步、被邀請賬號接受邀請
被邀請賬號登入“費用與成本控制檯”後,進入“企業財務-財務關聯”,點選“確認邀請”。

第三步、企業管理賬號檢視關聯關係狀態
企業管理賬號主賬號登入“費用與成本控制檯”,進入“財務關聯”,檢視跟所有子賬號建立關聯關係的狀態。

“信控額度”是阿里雲給予部分大客戶一定的賬號透支的許可權,可以先消費,後還款。客戶在有信控額度時,預付費訂單及後付費賬單,均可透過信控額度進行支付或抵扣。企業管理賬號將信控額度分配給已關聯的賬號,共享企業管理賬號的信控額度。
第一步、企業管理賬號登入“費用與成本”,進入“企業財務管理 – 財務資產管理 – 統一資產管理”,進行各賬號的信控額度調整或首次額度劃撥。

在彈出的“信控額度設定”介面,設定該賬號的信控額度,完成後點選“確定”按鈕。

第二步、被分配信控額度的賬號需登入“費用與成本”,進入“合同管理 – 合同管理 頁面,在合同型別選擇信控合同,找到對應待確認的信控,進行相應的合同確認操作。如下圖所示找到需要確認的合同,點選右側“確認透過”,合同狀態變為“生效中”後,該賬號被設定的信控額度才真正生效,並可以被使用。

將同一個企業組織下不同賬號、賬期,統一建立定製化結算任務,統一開具發票,避免了多個賬號各自匯款,開票,結算的繁瑣操作。
第一步、企業管理賬號登入費用與成本控制檯,進入“企業財務管理-統一結算”,點選“建立結算任務”按鈕,進行建立統一結算任務,如下圖:

第二步、點選“建立結算任務”按鈕後,在建立統一結算任務頁面:設定結算單名稱;設定主賬號需要預留的金額,以防主賬號下執行的業務可用金不足;根據賬號、賬期完成篩選,可在下方列表勾選想要結算的物件;點選“儲存草稿”,後續可以選擇草稿狀態的統一結算任務繼續編輯。完成上述配置後,點選“下一步”按鈕。

第三步、生成結算單後,確認結算單內容,完成後點選“生成並執行結算單”按鈕,正式建立統一結算任務。

第四步、如果主賬號的賬戶餘額大於結算單待結算金額時,會自動完成劃撥和核銷;如果主賬號的賬戶餘額不足,主賬號充值後,系統將自動完成劃撥和核銷;當結算金額被全部支付後,該統一結算完成。

企業管理賬號透過“月賬單概覽”功能檢視整個企業的總賬以及各個子賬號的詳細費用。
第一步、使用企業管理賬號登入“費用與成本控制檯”,進入“賬單管理-月賬單概覽”,選擇賬期,點選“賬單檔案匯出”按鈕。

第二步、匯出賬號內容選擇“全部賬號”,按需選擇賬期,匯出內容選擇“當前即時月賬單PDF”,賬號是否合併選擇“是”,完成配置後點擊“確定”按鈕。

第三步、下載PDF後開啟,找到“賬單支付彙總”,如下圖所示,即可看到各個賬號的分賬情況。

資源組
資源組是在阿里雲賬號下進行資源分組管理的一種機制,在資源管理、財務分賬、資訊傳遞和許可權控制等方面都發揮著不可或缺的作用:
-
財務單元分賬是按照資源組來進行的,在建立資源的時候,必須慎重選擇資源組,以確保財務分賬的準確性和合理性。 -
一個資源組代表著一個專案,它為專案的管理和推進提供了清晰的分類和標識 -
依據資源組可以建立飛書群,這個群將用於傳送雲資源告警和分賬賬單,方便及時瞭解資源狀況和財務情況。 -
賬號以資源組維度進行授權,進一步明確了賬號的使用範圍和許可權,保障了資源的安全和合理使用。
標籤
阿里雲標籤的優勢在於簡化資源管理、提高資源可視性、最佳化成本控制和滿足合規性要求。以某公司為例,從以下幾個方面進行了標籤設計:

財務單元是基於規則歸集彙總雲資源費用或成本的工具,可根據自身成本分析維度需求設定分賬規則,並實現資源費用歸集,以達到分賬的目的。

第一步、登入賬號1,在費用-分賬管理-財務單元處,點選財務單元旁的加號,建立一級財務單元。

第二步、填寫上表所示的一級財務單元名稱,完成後點選“確認按鈕”。依次建立上表所示的一級財務單元。

第三步、點選一級財務單元,在右側自動分配規則中,點選“編輯”按鈕,按上表所示的自動分配規則進行配置。按上表所示依次配置一級財務單元的自動分配規則。

第四步、點選“總覽”,檢視單賬號按部門分賬的情況

開通成本管家
點選
https://sls.console.aliyun.com/lognext/app/bill_app/?resource=/setting
此連結,勾選“匯入賬單授權”和“授權開通表格儲存”,點選“立即更新”按鈕。




成本管家匯入分賬賬單
賬單明細中的財務單元,對於分拆型產品來說是不準確的,分拆型產品的財務單元需要以分賬賬單內的為準。目前成本管家預設沒有匯入分賬賬單,如果需要匯入的話,可以手動進行如下幾步操作:
第一步、表格儲存建立資料表
點選https://otsnext.console.aliyun.com/cn-wulanchabu/totalList
此連結,進入表格儲存,選擇烏蘭察布區域,進入’bss-'形式命名的例項。

選擇“資料表列表”,點選“建立資料表”按鈕。

建立splititem_bill表,主鍵配置參考instance_bill,完成配置後點擊“確定”按鈕。


第二步、進入成本管家執行查詢語句
點選https://sls.console.aliyun.com/lognext/profile此連結,找到“bill-analysis-”開頭,主賬號uid結尾的的project,點選進入。

雙擊名為“aliyun_bill”的logstore,在搜尋框中填寫下面的SQL語句。其中 {endpoint}需要替換為表格儲存中’bss-‘開頭命名的例項經典網路訪問地址,{ots_instance_name}需要替換為表格儲存中’bss-‘開頭命名的例項名稱,{uid} 需要替換為主賬號uid。點選“查詢/搜尋”按鈕。
* | create table splititem_bill (hash_key varchar, __time__ bigint, __source__ varchar, instanceconfig varchar, productcode varchar, internetip varchar, outstandingamount double, pretaxamount double, instancespec varchar, subscriptiontype varchar, billingitem varchar, pretaxgrossamount double, usage double, producttype varchar, paymentamount double, listprice double, zone varchar, usageunit varchar, nickname varchar, productname varchar, currency varchar, tag varchar, invoicediscount double, productdetail varchar, item varchar, resourcegroup varchar, deductedbycashcoupons double, deductedbyprepaidcard double, ownerid varchar, billingdate varchar, listpriceunit varchar, deductedbycoupons double, instanceid varchar, serviceperiod double, deductedbyresourcepackage double, billingtype varchar, region varchar, intranetip varchar, accountname varchar, AdjustAmount double, BizType varchar,CashAmount double, CommodityCode varchar, CostUnit varchar, ServicePeriodUnit varchar, SplitAccountID varchar, SplitAccountName varchar, SplitBillingCycle varchar, SplitBillingDate varchar, SplitCommodityCode varchar, SplitItemID varchar, SplitItemName varchar, SplitProductDetail varchar ) with ( endpoint='{endpoint}',accessid='rolearn',accesskey='acs:ram::{uid}:role/aliyunserviceroleforslsaudit',instance_name='{ots_instance_name}',table_name='splititem_bill',type='tablestore')


儀表盤
根據匯入的賬單資料,自定義一個賬單儀表盤。以下圖為例,透過該儀表盤,可以靈活地選擇時間範圍、財務單元和資源組,從而獲取詳細的消費金額,以及各產品和各例項的具體花費情況。儀表盤將以圖表的形式展示這些資料,更加直觀和清晰地瞭解各項費用的分佈和變化趨勢。


訂閱
使用訂閱功能,每月初自動傳送賬單儀表盤到飛書群。確保所有相關人員都能及時獲取最新的賬單資訊,增強財務透明度,及時瞭解和控制成本,提高整體運營效率。並且定期接收賬單資料,方便進行歷史對比和趨勢分析。
第一步、在儀表盤右上角選擇“訂閱”,點選“建立”。

第二步、在彈出“建立訂閱”介面,輸入訂閱名稱和頻率,下圖示例為每月傳送一次,完成上述配置後,點選“下一步”按鈕。

第三步、通知選擇“WebHook-釘釘機器人”,填寫請求地址和標題,完成上述配置後,點選“提交”按鈕。

特殊產品自定義分賬
為了實現對MaxComputer、DataWorks、圖資料庫、ECI等雲產品的分賬需求,由於這些產品無法透過資源組或標籤的方式進行分賬,我們決定透過修改表格儲存中的分賬賬單資料來達到目標。鑑於賬單資料量龐大,我們採用指令碼的方式代替人工操作。
為了避免直接修改原始分賬賬單資料(即splititem_bill表),我們的策略是先從splititem_bill表中讀取資料,根據自定義的規則進行修改,然後將處理後的資料寫入到一個新的表中。最後,我們將儀表盤的資料來源切換到這個新建立的表上。
程式碼邏輯,請見下面的流程圖:

此外,可能會出現多個應用共享同一例項或叢集的情況,這種情況下無法透過資源組或標籤的方式實現精準分賬。為了應對這種情況,以容器服務 Kubernetes(ACK)為例,首先需要梳理 ACK 關聯的所有資源例項及其費用。可以透過成本洞察或其他工具對 ACK 資源進行詳細的費用分析,然後手動進行分賬。
在讀取 splititem_bill 表的資料時,應忽略 ACK 關聯資源的賬單,不將其寫入 splititem_bill_transform 表中。對於其他資源,按照既定的分賬規則進行處理,並將結果寫入 splititem_bill_transform 表。程式碼執行完畢後,再手動將 ACK 的分賬結果按照我們的分賬邏輯寫入 splititem_bill_transform 表中。

最終效果如下圖所示,ack 這條資料即為我們手動寫入的分賬資料,包含了ECS、SLB、SLS等相關費用的詳細資訊。透過這種方式,我們可以精確地跟蹤和管理每個專案的成本,確保費用分配的透明性和準確性。

分賬不僅需要運維人員瞭解,也需要通知應用人員。我們將按照資源組(即應用)的維度,每月傳送前兩個月的費用明細至各應用團隊所在的飛書告警群。確保各團隊對成本分配有清晰的認識,這有助於促進資源的合理使用和成本的有效控制。透過這種方式,每個團隊都能更好地管理自己的預算,避免不必要的資源浪費,提高整體運營效率。

為了實現賬單資料的自動傳送,我們有兩種方案可供選擇:一是利用阿里雲的SDK直接獲取表格儲存 splititem_bill_transform 表的資料;二是呼叫SLS的SDK(https://api.aliyun.com/api/Sls/2020-12-30/GetLogsV2?sdkStyle=dara)獲取賬單資料,其本質也是從SLS的表對映中獲取 splititem_bill_transform 表的資料。無論採用哪種方式,最終目標是透過Webhook將前兩個月的賬單資料自動傳送到指定的飛書群中,效果如上圖所示。
在企業管理賬號上可以看到各個賬號的可用額度,且可以為各個賬號設定可用額度閾值告警,如下圖所示。但是這個預警通知,只能傳送到子賬號維護的安全手機、郵箱及站內信,且每天提醒一次,最多連續5天,可能導致重要通知被忽略或延遲處理。

為此,透過編寫自定義指令碼的方式,
各個賬號呼叫
https://api.aliyun.com/api/BssOpenApi/2017-12-14/QueryAccountBalance
這個介面,獲取每個賬號的可用額度,並設定規則,當可用額度小於信控額度的20%就傳送告警。最終效果如下圖所示:

為了更好地管理和監控阿里雲資源的消費情況,建議設定年度消費閾值,並根據該閾值計算每月可消費金額。每月定期傳送通知,報告各賬戶當月和當年的總消費金額、可消費金額以及已消費金額佔可消費金額的比例。同時,羅列各賬號當月的具體消費金額,並附帶賬單儀表盤,以便直觀地檢視消費情況。最終效果如下圖所示:

若當月消費超過每月預算值,則另外發送預算超支告警。

如下面兩個圖所示,同一快照不同月份的應付金額不同,且相差較大。


至此,透過企業管理賬號,根據成員賬號及其所屬的部門進行分賬,實現成員賬號費用的部門分攤和核算。同時,各個子賬號根據各自的專案進行獨立的分賬操作,確保每個專案的費用分攤和分配,實現獨立成本核算和費用管理,提高費用透明度和準確性。
如有相關問題,請在文章後面給小編留言,小編安排作者第一時間和您聯絡,為您答疑解惑。
推薦閱讀


推薦影片