出自 Arch Linux 中文维基

開放社區的 Arch AMI

注意: Arch Linux 目前暫不提供 Amazon Machine Images 的官方支持。以下 AMI 由社區創建。

AMI

可以在這裡找到 Arch Linux AMI:http://arch-ami-list.drzee.net/

AMI 每月構建兩次(一號及15號的 2:00am UTC),並在所有默認啟用的地區中提供(參見 地域列表)。如果需要在目前不支持的地域使用,可以手動將 AMI 複製到目標區域。

這些 AMI 屬於 EBS HVM AMI,並提供了兩個內核選項:

兩個內核都已在多種 EC2 實例上經過測試(t2,t3,t3a,m/r/c5,m/r/c6 以及帶有多 GPU 等高級硬體的實例上)並能正常啟動。

未構建使用 LTS 內核的 AMI。

使用 REST API 獲取 AMI 列表

可以使用如下 REST API 獲取 JSON 格式的可用 AMI 列表:

注意: API 終端更改前不會提前通知更改。

初次運行

啟動了 AMI 後,建議/必須執行以下步驟以初始化 pacman 並選擇最快的軟體源:

# pacman-key --init
# pacman-key --populate
# reflector --country "ISO 3166-1 Alpha-2 Country Code" --protocol https,http --score 20 --sort rate --save /etc/pacman.d/mirrorlist
# pacman -Syu

Reflector 包已隨 AMI 附帶。

構建流程

注意: 該部分簡單介紹了 AMI 是如何構建的。

整個構建流程位於 AWS 上,並完全自動化進行。

構建流程由 AWS Step Function 控制,並隨一個 Amazon EventBridge 定時事件周期運行。

Step function 負責啟動構建,在更複雜的功能上結合使用了一系列本地調用及 AWS Lambda 函數來達成。

新的 AMI 構建流程為:使用舊的 AMI 啟動一台 EC2 實例作為 工作/構建機器,該實例上帶了一套特殊的構建腳本,其內容很大程度上參考了以下連結,並做了一些增改:http://mathcom.com/arch.aws.ami.html 。因為我們不需要獨立防火牆,所以跳過了步驟 7.4 。

完成 AMI 構建後,新的 AMI 會在新的 EC2 實例上進行 測試啟動 以驗證其可以正常啟動。成功後,AMI 將會被分發到各個地域,並在一個 DynamoDB 資料庫上進行記錄。資料庫內容可以由 REST API 進行調取。舊 AMI 將從各個地域及 DynamoDB 資料庫中刪除。

致謝

感謝來自 UplinkLabs 的 Steven 協助解析構建流程,並測試了鏡像的早期質量。同時感謝 Mathcom指南,幫助加快了構建流程的基礎搭建。

你可以發送評論和建議(不保證會被查看)到:arch-ami 'at' drzee.net

未來工作

  • 在默認 Arch Linux 源中加入官方的 EC2/雲平台優化內核
  • 在默認 Arch Linux 源中加入 AWS CLI v2(v1 已在源內,但未來可能會停止更新)

構建 Arch AMI

你也可以自己構建 Arch Linux AMI,可以參考下列指南:

來自 Uplink Labs 的 AMI 鏡像

Tango-view-refresh-red.png本文內容或本節內容已經過期。Tango-view-refresh-red.png

原因: Uplink Labs 已不再維護下列 AMI (在Talk:Arch Linux AMIs for Amazon Web Services討論)

Uplink Labs 每月約構建兩次新鏡像。鏡像在數個地域提供,並包含了下列配置:

  • ebs hvm x86_64 lts
  • s3 hvm x86_64 lts
  • ebs hvm x86_64 stable
  • s3 hvm x86_64 stable

AMI 的連結及更多附加信息可參考:https://www.uplinklabs.net/projects/arch-linux-on-ec2/