自訂 cloud-init - Amazon Linux 2023

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

自訂 cloud-init

cloud-init 套件是一種開放原始碼應用程式,可在雲端運算環境中引導 Linux 映像。如需詳細資訊,請參閱雲端初始化文件

AL2023 包含 cloud-init 的自訂版本。使用 cloud-init 時,您可以指定執行個體在開機時執行的操作。

啟動執行個體時,您可以使用使用者資料欄位將動作傳遞給。cloud-init這表示您可在許多使用案例下用常用 Amazon Machine Image (AMI),並在啟動執行個體時進行動態設定。AL2023 也會用 cloud-init 來設定 ec2-user 帳號。

AL2023 會在 /etc/cloud/cloud.cfg.d/etc/cloud/cloud.cfg 中使用 cloud-init 操作。您可以在 /etc/cloud/cloud.cfg.d 目錄中建立自己的 cloud-init 操作檔案。Cloud-init 會以字母順序讀取此目錄中的所有檔案。新檔案會覆寫舊檔案中的值。cloud-init 啟動執行個體時,cloud-init 套件會執行下列設定工作:

  • 設定預設的地區設定

  • 設定主機名稱

  • 剖析和處理使用者資料

  • 產生主機私有 SSH 金鑰

  • 將使用者的公有 SSH 金鑰加入至 .ssh/authorized_keys,以方便登入和管理

  • 準備儲存庫以管理套件

  • 處理使用者資料中定義的套件動作

  • 執行使用者資料中的使用者指令碼

  • 掛載執行個體儲存體磁碟區 (如適用)

    • 根據預設,若 ephemeral0 執行個體儲存體存在,且包含有效的檔案系統,執行個體儲存體會掛載在 /media/ephemeral0;否則將不會掛載。

    • 根據預設,對於 m1.smallc1.medium 執行個體類型,將掛載任何與執行個體關聯的置換磁碟區。

    • 您可用下列的 cloud-init 指令覆寫預設的執行個體儲存體磁碟區掛載:

      #cloud-config mounts: - [ ephemeral0 ]

      如需進一步掌控掛載,請參閱 cloud-init 文件中的掛載

    • 執行個體啟動時,不會格式化支援 TRIM 的執行個體儲存體磁碟區。掛載執行個體儲存體磁碟區前,您必須先分割和格式化執行個體儲存體磁碟區。

      如需詳細資訊,請參閱《Amazon EC2 Linux 執行個體使用者指南》中的執行個體儲存體磁碟區 TRIM 支援

    • 您可在啟動執行個體時,使用 disk_setup 模組分割及格式化執行個體儲存體磁碟區。

      如需詳細資訊,請參閱 cloud-init 文件中的磁碟設定

如需使用 cloud-init 與 SELinux 搭配的相關資訊,請參閱 使用 cloud-init 來啟用 enforcing 模式

如需有關 cloud-init 使用者資料格式的資訊,請參閱 cloud-init 文件中的使用者資料格式