

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

# Amazon ECS 最佳化 Bottlerocket AMI
<a name="ecs-bottlerocket"></a>

Bottlerocket 是以 Linux為基礎的開放原始碼作業系統，專為在虛擬機器或裸機主機上執行容器 AWS 而建置。Amazon ECS 最佳化 Bottlerocket AMI 非常安全，只包括執行容器所需的最少數量套件。這可改善資源使用率、減少安全性受攻擊面，並有助於降低管理負荷。Bottlerocket AMI 也與 Amazon ECS 整合，有助於減少更新叢集中容器執行個體所涉及的營運開銷。

Bottlerocket 在以下方面不同於 Amazon Linux：
+ Bottlerocket 不包括套件管理工具，其軟體僅可作為容器執行。Bottlerocket 的更新一律套用，而且可以在單一步驟中復原，以減少發生更新錯誤的可能性。
+ 管理 Bottlerocket 主機的主要機制是使用容器排程器。與 Amazon Linux 不同的是，登入個別 Bottlerocket 執行個體的用意只是為了進階偵錯和故障排除目的，而非經常執行的操作。

如需有關 Bottlerocket 的詳細資訊，請參閱 GitHub 上的[文件](https://github.com/bottlerocket-os/bottlerocket/blob/develop/README.md)和[版本](https://github.com/bottlerocket-os/bottlerocket/releases)。

有多種 Amazon ECS 最佳化 Bottlerocket AMI 核心 6.1 與核心 5.10 變體。

下列變體使用核心 6.1：
+ `aws-ecs-2`
+ `aws-ecs-2-nvidia`

下列變體使用核心 5.10：
+ `aws-ecs-1`
+ `aws-ecs-1-nvidia`

  如需有關 `aws-ecs-1-nvidia` 變體的詳細資訊，請參閱[宣布 NVIDIA GPU 支援 Amazon ECS 上的 Bottlerocket](https://aws.amazon.com/blogs/containers/announcing-nvidia-gpu-support-for-bottlerocket-on-amazon-ecs/)。

## 考量事項
<a name="ecs-bottlerocket-considerations"></a>

搭配使用 Bottlerocket AMI 與 Amazon ECS 時，應考慮以下事項。
+ Bottlerocket 支援具有 `x86_64` 與 `arm64` 處理器的 Amazon EC2 執行個體。Bottlerocket AMI 不建議與採用 Inferentia 晶片的 Amazon EC2 執行個體搭配使用。
+ Bottlerocket 映像不包含 SSH 伺服器或 Shell。不過，您可以使用頻外管理工具取得 SSH 管理員存取權並執行啟動引導。

   如需詳細資訊，請參閱 GitHub 上 [bottlerocket README.md](https://github.com/bottlerocket-os/bottlerocket) 中的這些章節：
  + [探勘](https://github.com/bottlerocket-os/bottlerocket#exploration)
  + [管理員容器](https://github.com/bottlerocket-os/bottlerocket#admin-container)
+ 在預設情況下，Bottlerocket 具有已啟用的[控制容器](https://github.com/bottlerocket-os/bottlerocket-control-container)。此容器會執行 [AWS Systems Manager 代理程式](https://github.com/aws/amazon-ssm-agent)，可以讓您在 Amazon EC2 Bottlerocket 執行個體上執行命令或啟動 Shell 工作階段。如需詳細資訊，請參閱《AWS Systems Manager 使用者指南》中的[設定工作階段管理員](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-getting-started.html)。
+ Bottlerocket 已針對容器工作負載進行了最佳化，並著重於安全性。Bottlerocket 不包括套件管理工具，且不可變。

  如需有關安全性功能和指引的詳細資訊，請參閱 GitHub 上的[安全性功能](https://github.com/bottlerocket-os/bottlerocket/blob/develop/SECURITY_FEATURES.md)和[安全性指引](https://github.com/bottlerocket-os/bottlerocket/blob/develop/SECURITY_GUIDANCE.md)。
+ Bottlerocket AMI 版本 `1.1.0` 或更新版本支援 `awsvpc` 網路模式。
+ Bottlerocket AMI 版本 `1.15.0` 或更新版本支援任務定義中的 App Mesh。
+ Bottlerocket AMI 版本 `1.19.0` 或更新版本支援 `initProcessEnabled` 任務定義參數。
+ Bottlerocket AMI 也不支援下列服務和功能：
  + ECS Anywhere
  + Service Connect
  + Amazon EFS 處於加密模式
  + `awsvpc` 網路模式中的 Amazon EFS
  + 無法掛載 Amazon EBS 磁碟區
  + Elastic Inference 加速器