

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

# 使用 Python 在 AMS 中自動建立 RFC
<a name="automatically-create-an-rfc-in-ams-using-python"></a>

*Gnanasekaran Kailasam，Amazon Web Services*

## 摘要
<a name="automatically-create-an-rfc-in-ams-using-python-summary"></a>

AWS Managed Services (AMS) 透過持續管理 Amazon Web Services (AWS) 基礎設施，協助您更有效率且安全地操作雲端型基礎設施。若要變更受管環境，您需要建立並提交新的變更請求 (RFC)，其中包含特定操作或動作的變更類型 (CT) ID。

不過，手動建立 RFC 可能需要大約五分鐘的時間，而組織中的團隊可能需要每天提交多個 RFCs。此模式可協助您自動化 RFC 建立程序、縮短每個 RFC 的建立時間，並消除手動錯誤。  

此模式說明如何使用 Python 程式碼自動建立 `Stop EC2 instance` RFC，以停止 AMS 帳戶中的 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。然後，您可以將此模式的方法和 Python 自動化套用至其他 RFC 類型。 

## 先決條件和限制
<a name="automatically-create-an-rfc-in-ams-using-python-prereqs"></a>

**先決條件**
+ AMS 進階帳戶。如需詳細資訊，請參閱 [AWS Managed Services 文件中的 AMS 操作計劃](https://docs.aws.amazon.com/managedservices/latest/accelerate-guide/what-is-ams-op-plans.html)。 AWS Managed Services 
+ 您的 AMS 帳戶中至少有一個現有的 EC2 執行個體。
+ 了解如何在 AMS 中建立和提交 RFCs。
+ 熟悉 Python。

**限制**
+ 您只能將 RFCs用於 AMS 帳戶中的變更。您的 AWS 帳戶會針對類似的變更使用不同的程序。

## Architecture
<a name="automatically-create-an-rfc-in-ams-using-python-architecture"></a>

**技術堆疊  **
+ AMS
+ AWS 命令列界面 (AWS CLI)
+ 適用於 Python 的 AWS SDK (Boto3)
+ Python 及其所需的套件 (JSON 和 Boto3)

**自動化和擴展**

此模式提供範例程式碼來自動化 `Stop EC2 instance` RFC，但您可以將此模式的範例程式碼和方法用於其他 RFCs。

## 工具
<a name="automatically-create-an-rfc-in-ams-using-python-tools"></a>
+ [AWS Managed Services](https://docs.aws.amazon.com/managedservices/latest/ctexguide/ex-rfc-use-examples.html) – AMS 可協助您更有效率且安全地操作 AWS 基礎設施。
+ [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) – AWS Command Line Interface (AWS CLI) 是管理 AWS 服務的統一工具。在 AMS 中，變更管理 API 提供建立和管理 RFCs的操作。
+ [適用於 Python 的 AWS 開發套件 (Boto3)](https://docs.aws.amazon.com/pythonsdk/) – 適用於 Python 的開發套件可讓您輕鬆地將 Python 應用程式、程式庫或指令碼與 AWS 服務整合。

**Code**

`AMS Stop EC2 Instance.zip` 檔案 （已連接） 包含用於建立 `Stop EC2 instance` RFC 的 Python 程式碼。您也可以將此程式碼設定為為多個 EC2 執行個體提交單一 RFC。

## 史詩
<a name="automatically-create-an-rfc-in-ams-using-python-epics"></a>

### 選項 1 – 設定 macOS 或 Linux 的環境
<a name="option-1-ndash-set-up-environment-for-macos-or-linux"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
|  安裝並驗證 Python。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html) | AWS 系統管理員 | 
|  安裝 AWS CLI。 | 執行 `pip install awscli --upgrade –user`命令來安裝 AWS CLI*。 * | AWS 系統管理員 | 
|  安裝 Boto3。 | 執行 `pip install boto3`命令來安裝 Boto3。 | AWS 系統管理員 | 
| 安裝 JSON。 | 執行 `pip install json`命令來安裝 JSON。 | AWS 系統管理員 | 
| 設定 AMS CLI。 | 登入 AWS 管理主控台，開啟 AMS 主控台，然後選擇 **文件**。下載包含 AMS CLI 的 .zip 檔案，將其解壓縮，然後將其安裝在本機電腦上。安裝 AMS CLI 之後，請執行 `aws amscm help`命令。輸出提供 AMS 變更管理程序的相關資訊。 | AWS 系統管理員 | 

### 選項 2 – 設定 Windows 的環境
<a name="option-2-ndash-set-up-environment-for-windows"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
|  安裝並驗證 Python。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html) | AWS 系統管理員 | 
| 安裝 AWS CLI。 | 執行 `pip install awscli --upgrade –user`命令來安裝 AWS CLI。 | AWS 系統管理員 | 
|  安裝 Boto3。 | 執行 `pip install boto3`命令來安裝 Boto3。 | AWS 系統管理員 | 
| 安裝 JSON。 | 執行 `pip install json`命令來安裝 JSON。 | AWS 系統管理員 | 
| 設定 AMS CLI。 | 登入 AWS 管理主控台，開啟 AMS 主控台，然後選擇 **文件**。下載包含 AMS CLI 的 .zip 檔案，將其解壓縮，然後將其安裝在本機電腦上。安裝 AMS CLI 之後，請執行 `aws amscm help`命令。輸出提供有關 AMS 變更管理程序的資訊 | AWS 系統管理員 | 

### 擷取 RFC 的 CT ID 和執行參數
<a name="extract-the-ct-id-and-execution-parameters-for-the-rfc"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 擷取 RFC 的 CT ID、版本和執行參數。 | 每個 RFC 都有不同的 CT ID、版本和執行參數。您可以使用下列其中一個選項來擷取此資訊：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html)若要針對其他 RFCs 調整此模式的 Python 自動化，請將 `ams_stop_ec2_instance` Python 程式碼檔案中的 CT 類型和參數值取代為您解壓縮`AMS Stop EC2 Instance.zip`的檔案 （已連接）。 | AWS 系統管理員 | 

### 執行 Python 自動化
<a name="run-the-python-automation"></a>


| 任務 | Description | 所需的技能 | 
| --- | --- | --- | 
| 執行 Python 自動化。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html) | AWS 系統管理員 | 

## 相關資源
<a name="automatically-create-an-rfc-in-ams-using-python-resources"></a>
+ [什麼是變更類型？](https://docs.aws.amazon.com/managedservices/latest/ctexguide/understanding-cts.html)
+ [CLI 教學課程：高可用性雙層堆疊 (Linux/RHEL)](https://docs.aws.amazon.com/managedservices/latest/ctexguide/tut-create-ha-stack.html)

## 附件
<a name="attachments-2b6c68fd-a27e-4c8b-934d-caec50c196ed"></a>

若要存取與本文件相關聯的其他內容，請解壓縮下列檔案： [attachment.zip](samples/p-attach/2b6c68fd-a27e-4c8b-934d-caec50c196ed/attachments/attachment.zip)