

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

# Amazon EC2 上的 AL2 Amazon EC2
<a name="ec2"></a>

**注意**  
 AL2 不再是 Amazon Linux 的目前版本。AL2023 是 AL2 的後續版本。如需詳細資訊，請參閱《[AL2023 使用者指南》中的比較 AL](https://docs.aws.amazon.com/linux/al2023/ug/compare-with-al2.html)[2 和 AL2023 ](https://docs.aws.amazon.com/linux/al2023/ug/)[中的套件變更AL2023](https://docs.aws.amazon.com/linux/al2023/release-notes/compare-packages.html)清單。

 

**Topics**
+ [使用 AL2 AMI 啟動 Amazon EC2 執行個體 AL2](#launch-ec2-instance)
+ [使用 Systems Manager 尋找最新的 AL2 AMI](#find-latest-al2-using-systems-manager)
+ [連線至 Amazon EC2 執行個體](#connect-to-amazon-linux-limits-ec2)
+ [AL2 AMI 開機模式](#default-boot-mode-al2)
+ [套件儲存庫](#package-repository)
+ [在 AL2 上使用 cloud-init](amazon-linux-cloud-init.md)
+ [設定 AL2 執行個體](configure-ec2-instance.md)
+ [使用者提供的核心](UserProvidedKernels.md)
+ [AL2 AMI 版本通知](linux-ami-notifications.md)
+ [設定 AL2 MATE 桌面連線](amazon-linux-ami-mate.md)
+ [AL2 教學課程](al2-tutorials.md)

## 使用 AL2 AMI 啟動 Amazon EC2 執行個體 AL2
<a name="launch-ec2-instance"></a>

您可以使用 AL2 AMI 啟動 Amazon EC2 執行個體。 AL2 如需詳細資訊，請參閱[步驟 1：啟動執行個體](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/EC2_GetStarted.html#ec2-launch-instance)。

## 使用 Systems Manager 尋找最新的 AL2 AMI
<a name="find-latest-al2-using-systems-manager"></a>

Amazon EC2 為 維護的公有 AMIs 提供 AWS Systems Manager 公有參數 AWS ，您可以在啟動執行個體時使用。例如，EC2-provided參數`/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-default-hvm-x86_64-gp2`適用於所有區域，並一律指向指定區域中 AL2 AMI 的最新版本。

若要使用 尋找最新的 AL2023 AMI AWS Systems Manager，請參閱[開始使用 AL2023](https://docs.aws.amazon.com/linux/al2023/ug/get-started.html)。

該 Amazon EC2 AMI 公有參數可從以下路徑取得：

`/aws/service/ami-amazon-linux-latest`

您可以執行下列 AWS CLI 命令，檢視目前 AWS 區域中所有 Amazon Linux AMIs的清單。

```
aws ssm get-parameters-by-path --path /aws/service/ami-amazon-linux-latest --query "Parameters[].Name"
```

**使用公有參數啟動執行個體**  
下列範例使用 EC2-provided公有參數，使用最新的 AL2 AMI 啟動`m5.xlarge`執行個體。

若要在命令中指定參數，請使用下列語法：`resolve:ssm:public-parameter`，其中 `resolve:ssm` 是標準前綴，而 `public-parameter` 是公有參數的路徑和名稱。

在此範例中，`--count` 和 `--security-group` 參數不包含在內。對於 `--count`，預設值為 1。如果您有預設 VPC 和預設安全群組，則會使用這些預設項目。

```
aws ec2 run-instances 
    --image-id resolve:ssm:/aws/service/ami-amazon-linux-latest/amzn2-ami-kernel-default-hvm-x86_64-gp2 
    --instance-type m5.xlarge 
    --key-name MyKeyPair
```

如需詳細資訊，請參閱*AWS Systems Manager 《 使用者指南*》中的[使用公有參數](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-public-parameters.html)。

**了解 Amazon Linux 2 AMI 名稱**  
Amazon Linux 2 AMI 名稱使用以下命名機制：

`amzn2-ami-[minimal-][kernel-{5.10,default,4.14}]-hvm-{x86_64,aarch64}-{ebs,gp2}`
+ **最小** AMIs隨附一組最小化的預先安裝套件，以減少映像大小。
+ **kernel-VERSION** 會決定個別 AMI 上預先安裝的核心版本：
  + `kernel-5.10` 選取 Linux 核心 5.10 版。*這是 AL2 的建議核心版本。*
  + `kernel-default` 會選取 AL2 的建議預設核心。這是 kernel-5.10 的別名。
  + `kernel-4.14` 選取 Linux 核心 4.14 版。*這僅適用於與舊版 AMI 的相容性。請勿將此版本用於新的執行個體啟動。預期此 AMI 變成不受支援。*
  + 存在一組特殊的 AMI 名稱，而不參考特定的核心。這些 AMIs 是 kernel-4.14 的別名。*這些 AMIs 僅為與舊版 AMI 的相容性而提供。請勿將此 AMI 名稱用於新的執行個體啟動。預期要更新這些 AMIs的核心。*
+ **x86\$164/aarch64** 決定要在其中執行 AMI 的 CPU 平台。針對 Intel 和 AMD 型 EC2 執行個體選取 x86\$164。選取 EC2 Graviton 執行個體的 aarch64。
+ **ebs/gp2** 會決定用來提供個別 AMI 的 EBS 磁碟區類型。如需參考，請參閱 [EBS 磁碟區類型](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volume-types.html)。*一律選取 gp2。*

## 連線至 Amazon EC2 執行個體
<a name="connect-to-amazon-linux-limits-ec2"></a>

有數種方式可以連線至 Amazon Linux 執行個體，包括 SSH AWS Systems Manager Session Manager和 EC2 Instance Connect。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[連線至 Linux 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/connect-to-linux-instance.html)。

**SSH 使用者和 **sudo****  
根據預設，Amazon Linux 不允許遠端`root`安全殼層 (SSH)。此外，也會停用密碼身分驗證，以防止暴力破解攻擊。若要允許 SSH 登入 Amazon Linux 執行個體，您必須在啟動時提供執行個體的金鑰對。您也必須設定用於啟動執行個體的安全群組，以允許 SSH 存取。根據預設，唯一可以使用 SSH 遠端登入的帳戶是 `ec2-user`。此帳戶也具有 **sudo** 權限。如果您啟用遠端`root`登入，請注意它比依賴金鑰對和次要使用者更不安全。

## AL2 AMI 開機模式
<a name="default-boot-mode-al2"></a>

AL2 AMIs未設定開機模式參數。從 AL2 AMIs執行個體遵循執行個體類型的預設開機模式值。如需詳細資訊，請參閱《*Amazon EC2 使用者指南*》中的[開機模式](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-boot.html)。

## 套件儲存庫
<a name="package-repository"></a>

此資訊適用於 AL2。如需有關 AL2023 的資訊，請參閱《Amazon Linux [2023 使用者指南》中的管理 AL2023 中的套件和作業系統更新](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html)。 **

AL2 和 AL1 旨在與每個 Amazon EC2 AWS Region 中託管的線上套件儲存庫搭配使用。儲存庫可供所有區域使用，且可用 **yum** 更新工具存取。各區域的託管儲存庫可讓我們快速部署更新，不會產生任何數據傳輸費。

**重要**  
AL1 的最後一個版本已於 2023 年 12 月 31 日達到 EOL，且自 2024 年 1 月 1 日起將不會收到任何安全性更新或錯誤修正。如需詳細資訊，請參閱 [Amazon Linux AMI 生命週期結束](https://aws.amazon.com//blogs/aws/update-on-amazon-linux-ami-end-of-life/)

如果您不需要保留執行個體的資料或自訂，您可以使用目前的 AL2 AMI 啟動新的執行個體。如果您需要保留執行個體的資料或自訂，您可以透過 Amazon Linux 套件儲存庫來維護這些執行個體。這些儲存庫將包含所有已更新的套件。您可選擇將這些更新套用至執行中的執行個體。即使發行了新版本，舊版的 AMI 和更新套件仍可繼續使用。

**注意**  
若要在 Amazon EC2 執行個體上更新和安裝沒有網際網路存取權的套件，請參閱[如何在執行 AL1, AL22 或 AL2023 的 Amazon EC2 執行個體上更新 yum 或安裝沒有網際網路存取權的套件？](https://repost.aws/knowledge-center/ec2-al1-al2-update-yum-without-internet)

若要安裝套件，請使用下列命令：

```
[ec2-user ~]$ sudo yum install package
```

如果您發現 Amazon Linux 未包含所需的應用程式，可以直接將應用程式安裝到 Amazon Linux 執行個體上。Amazon Linux 使用 RPMs和 yum進行套件管理，這可能是安裝新應用程式最直接的方式。您應先檢查我們的集中 Amazon Linux 儲存庫上是否有應用程式可用，因為該儲存庫提供許多應用程式。您可以從該處將這些應用程式新增至 Amazon Linux 執行個體。

若要將應用程式上傳到執行中的 Amazon Linux 執行個體，請用 **scp** 或 **sftp**，然後登入您的執行個體並設定應用程式。也可從內建的 cloud-init 套件使用 **PACKAGE\$1SETUP** 動作，在執行個體啟動期間上傳您的應用程式。如需詳細資訊，請參閱[在 AL2 上使用 cloud-init](amazon-linux-cloud-init.md)。

### 安全性更新
<a name="security-updates"></a>

使用 套件儲存庫提供安全性更新。安全性更新和更新的 AMI 安全性提醒都會發佈在 [Amazon Linux 安全中心](https://alas.aws.amazon.com)。如需 AWS 安全政策的詳細資訊，或需回報安全問題，請參閱 [AWS Cloud Security](https://aws.amazon.com/security/)。

AL1 和 AL2 已設定為在啟動時下載並安裝關鍵或重要的安全性更新。此組態中不包含核心更新。

在 AL2023 中，相較於 AL1 和 AL2，此組態已變更。如需 AL2023 安全性更新的詳細資訊，請參閱《*Amazon Linux 2023 使用者指南*》中的[安全性更新和功能](https://docs.aws.amazon.com/linux/al2023/ug/security-features.html)。

我們建議您在啟動後進行適用於您使用案例的必要更新。例如，您可能想要在啟動時套用所有更新 （不只是安全性更新），或評估每個更新，並僅套用適用於您系統的更新。使用下列 cloud-init 設定進行控制：`repo_upgrade`。以下 cloud-init 組態的程式碼片段顯示如何變更傳送到執行個體初始化之使用者資料文字中的設定：

```
#cloud-config
repo_upgrade: security
```

 `repo_upgrade` 可能的值如下：

`critical`  
套用未完成的重大安全性更新。

`important`  
套用未完成的重要和重要的安全性更新。

`medium`  
套用未完成的重大、重要和中等安全性更新。

`low`  
套用所有未完成的安全性更新，包括低嚴重性安全性更新。

`security`  
套用 Amazon 標示為安全性更新且尚未完成的關鍵或重要更新。

`bugfix`  
套用 Amazon 標示為錯誤修正的更新。錯誤修正為更大的更新集合，其中包含安全更新和各種其他次要錯誤的修正。

`all`  
套用所有適用的可用更新，無論其分類為何。

`none`  
不要在啟動時套用任何更新至執行個體。

**注意**  
Amazon Linux 不會將任何更新標記為 `bugfix`。若要從 Amazon Linux 套用非安全性相關更新，請使用 `repo_upgrade: all`。

`repo_upgrade` 的預設設定為安全。也就是說，如果您未在使用者資料中指定其他值，Amazon Linux 將在啟動時對當時已安裝的任何套件執行安全更新。Amazon Linux 也會通知您已安裝套件的任何更新，方法是在登入時使用 `/etc/motd` 檔案列出可用更新數。若要安裝這些更新，您需要在執行個體上執行 **sudo yum upgrade**。

### 儲存庫組態
<a name="repository-config"></a>

對於 AL1 和 AL2，AMIs 是建立 AMI 時可用套件的快照，但安全性更新除外。任何不在原始 AMI 上，但在執行時間安裝的套件，都將是可用的最新版本。若要取得適用於 AL2 的最新套件，請執行 **yum update -y**。

**疑難排解秘訣**  
如果您在奈米執行個體類型`cannot allocate memory`**yum update**上發生錯誤，例如 `t3.nano`，您可能需要配置交換空間以啟用更新。

對於 AL2023，相較於 AL1 和 AL2，儲存庫組態已變更。如需有關 AL2023 儲存庫的詳細資訊，請參閱[管理套件和作業系統更新](https://docs.aws.amazon.com/linux/al2023/ug/managing-repos-os-updates.html)。

AL2023 之前的版本設定為提供源源不斷的更新，從 Amazon Linux 的次要版本滾動到下一個版本，也稱為*滾動發行版*。最佳實務是，建議您將 AMI 更新為最新的可用 AMI，而不是啟動舊 AMIs並套用更新。

主要 Amazon Linux 版本之間不支援就地升級，例如從 AL1 升級至 AL2，或從 AL2 升級至 AL2023。如需詳細資訊，請參閱[Amazon Linux 可用性](what-is-amazon-linux.md#amazon-linux-availability)。