

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Python を使用して 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) インフラストラクチャを継続的に管理することで、クラウドベースのインフラストラクチャをより効率的かつ安全に運用できるよう支援します。管理環境に変更するには、特定のオペレーションまたはアクションの変更タイプ (CT) ID を含む新しい変更リクエスト (RFC) を作成して送信する必要があります。

ただし、RFC を手動で作成するには約 5 分かかる場合があり、組織内のチームは毎日複数の RFC を提出する必要がある場合があります。このパターンは、RFC 作成プロセスを自動化し、各 RFC の作成時間を短縮し、手作業によるエラーを排除する上で役立ちます。  

このパターンでは、Python コードを使用して、AMS アカウントで Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを停止する `Stop EC2 instance` RFCを自動的に作成する方法を説明します。その後、このパターンのアプローチと 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)」を参照してください。
+ AMS アカウントの 1 つ以上の既存の EC2 インスタンス。
+ AMS で RFC を作成して提出する方法の理解。
+ Python に精通していること。

**制限**
+ RFC は AMS アカウントの変更にのみ使用できます。AWS アカウントは、同様の変更するためにさまざまなプロセスを使用します。

## アーキテクチャ
<a name="automatically-create-an-rfc-in-ams-using-python-architecture"></a>

**テクノロジースタック**
+ AMS
+ AWS コマンドラインインターフェイス (AWS CLI)
+ 「AWS SDK for Python (Boto3)」
+ Python とそれに必要なパッケージ (JSON および Boto3)

**自動化とスケール**

このパターンは `Stop EC2 instance` RFC を自動化するためのサンプルコードを提供しますが、このパターンのサンプルコードとアプローチを他の RFC にも使用できます。

## ツール
<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 コマンドラインインターフェイス (AWS CLI) は、AWS のサービスを管理するための統合ツールです。AMS では、変更管理 API が RFC を作成および管理するための操作を提供します。
+ [AWS SDK for Python (Boto3)](https://docs.aws.amazon.com/pythonsdk/) — Python 用 SDK を使用すると、Python アプリケーション、ライブラリ、またはスクリプトを AWS のサービスと簡単に統合できます。

**コード**

`AMS Stop EC2 Instance.zip` ファイル (添付) には、`Stop EC2 instance` RFC を作成するための Python コードが含まれています。複数の EC2 インスタンスに対して 1 つの 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>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
|  Python をインストールして検証します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/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 コンソールを開いてから、[**Documentation（ドキュメント）**] を選択します。AMS CLI を含む.zip ファイルをダウンロードし、解凍してから、ローカルマシンにインストールします。AMS CLI をインストールしたら、 `aws amscm help` コマンドを実行します。出力では、AMS 変更管理プロセスに関する情報が提供されます。 | AWS システム管理者 | 

### オプション 2 — Windows 用の環境をセットアップする
<a name="option-2-ndash-set-up-environment-for-windows"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
|  Python をインストールして検証します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/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 コンソールを開いてから、[**Documentation（ドキュメント）**] を選択します。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>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| RFC の CT ID、バージョン、実行パラメータを抽出します。 | 各 RFC には異なる CT ID、バージョン、実行パラメーターがあります。この情報は、次のいずれかのオプションを使用して抽出できます。[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/automatically-create-an-rfc-in-ams-using-python.html)このパターンの Python オートメーションを他の RFC に適用するには、`AMS Stop EC2 Instance.zip` ファイル (添付) の `ams_stop_ec2_instance` Python コードファイル内の CT タイプとパラメータ値を抽出したものに置き換えます。 | AWS システム管理者 | 

### Python オートメーションを実行します。
<a name="run-the-python-automation"></a>


| タスク | 説明 | 必要なスキル | 
| --- | --- | --- | 
| Python オートメーションを実行します。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/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 チュートリアル: 高可用性 2 層スタック (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)」