

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

# カスタムポリシーによる自動スケーリングを Amazon EMR のインスタンスグループに使用する
<a name="emr-automatic-scaling"></a>

Amazon EMR リリース 4.0 以上のカスタムポリシーによる自動スケーリングを使用することにより、*スケーリングポリシー*で指定した CloudWatch メトリクスやその他のパラメータに基づいて、プログラムでコアノードとタスクノードをスケールアウトおよびスケールインできます。カスタムポリシーによる自動スケーリングは、インスタンスグループ設定を使用するときに利用できます。インスタンスフリートを使用するときには利用できません。インスタンスグループとインスタンスフリートの詳細については、「[インスタンスフリートまたはユニフォームインスタンスグループで Amazon EMR クラスターを作成する](emr-instance-group-configuration.md)」を参照してください。

スケーリングポリシーは、インスタンスグループ設定の一部です。インスタンスグループの初期設定時にポリシーを指定するか、インスタンスグループがアクティブになった後でも、既存のクラスターのインスタンスグループを変更して、ポリシーを指定できます。プライマリインスタンスグループを除くクラスター内の各インスタンスグループは、独自のスケーリングポリシーを持つことができます。スケーリングポリシーはスケールアウトルールとスケールインルールで構成されます。スケールアウトルールとスケールインルールは、それぞれに異なるパラメータを用いて、個別に設定できます。

スケーリングポリシーは、 AWS マネジメントコンソール、、 AWS CLIまたは Amazon EMR API で設定できます。 AWS CLI または Amazon EMR API を使用する場合は、スケーリングポリシーを JSON 形式で指定します。さらに、 AWS CLI または Amazon EMR API を使用する場合、カスタム CloudWatch メトリクスを指定できます。カスタムのメトリクスは、 AWS マネジメントコンソールでの選択には使用できません。最初にコンソールを使用してスケーリングポリシーを作成する場合は、まず、多数のアプリケーションが事前設定されているデフォルトのポリシーが適しています。デフォルトのルールは削除したり変更できます。

自動スケーリングを使用すれば、実行中でも EMR クラスターの容量を変更できますが、ベースラインとなるワークロード要件を考慮し、ノードおよびインスタンスグループ設定を計画してください。詳細については、「[クラスター設定のガイドライン](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-instances-guidelines.html)」を参照してください。

**注記**  
ほとんどのワークロードで、リソースの活用を最適化するには、スケールイン、スケールアウトの両方のルールを設定することが理想となります。一方を設定せずにどちらかのルールのみを設定すると、規模の拡大や縮小の後に、インスタンスカウントを手動でサイズ調整する必要があります。つまりこの方法では、手動でのリセットを伴う「一方通行の」自動スケールアウトまたはスケールインポリシーを設定することになります。

## 自動スケーリングの IAM ロールを作成する
<a name="emr-automatic-scaling-iam-role"></a>

Amazon EMR での自動スケーリングには、スケーリングアクティビティがトリガーされたときにインスタンスを追加および削除する権限がある IAM ロールが必要です。デフォルトロールである `EMR_AutoScaling_DefaultRole` は、適切なロールポリシーと信頼ポリシーで設定されており、この目的に使用できます。で初めてスケーリングポリシーを使用してクラスターを作成すると AWS マネジメントコンソール、Amazon EMR はデフォルトのロールを作成し、アクセス許可のデフォルトの管理ポリシー をアタッチします`AmazonElasticMapReduceforAutoScalingRole`。

で自動スケーリングポリシーを使用してクラスターを作成する場合は AWS CLI、まずデフォルトの IAM ロールが存在するか、適切なアクセス許可を提供するポリシーがアタッチされたカスタム IAM ロールがあることを確認する必要があります。デフォルトロールを作成するには、クラスターを作成する前に `create-default-roles` コマンドを実行します。その後、クラスターの作成時に `--auto-scaling-role EMR_AutoScaling_DefaultRole` オプションを指定します。または、カスタムの自動スケーリングロール (例: `--auto-scaling-role {{MyEMRAutoScalingRole}}`) を作成して、クラスター作成時に指定することもできます。カスタマイズされた自動スケーリングロールを Amazon EMR 向けに作成する場合は、管理ポリシーに基づいたカスタムロールのアクセス許可ポリシーをベースにすることをお勧めします。詳細については、「[サービスおよびリソースへの Amazon EMR アクセス許可の IAM AWS サービスロールを設定する](emr-iam-roles.md)」を参照してください。

## 自動スケーリングルールについて
<a name="emr-scaling-rules"></a>

スケールアウトルールがインスタンスグループのスケーリングをトリガーするときに、ルールに従って Amazon EC2 インスタンスがインスタンスグループに追加されます。Amazon EC2 インスタンスが `InService` 状態になるとすぐに、Apache Spark、Apache Hive、Presto などのアプリケーションで新しいノードを使用できます。インスタンスを終了し、ノードを削除するスケールインルールを設定することもできます。自動的にスケーリングする Amazon EC2 インスタンスのライフサイクルの詳細については、「*Amazon EC2 Auto Scaling ユーザーガイド*」の「[Auto Scaling のライフサイクル](https://docs.aws.amazon.com/autoscaling/ec2/userguide/AutoScalingGroupLifecycle.html)」を参照してください。

クラスターが Amazon EC2 インスタンスを削除する方法を設定できます。請求の Amazon EC2 インスタンス時間の境界と、タスクの完了時のどちらで削除するかを選択できます。この設定は自動スケーリングと手動でのサイズ変更オペレーションの両方に適用されます。この設定の詳細については、「[Amazon EMR クラスターのクラスタースケールダウンオプション](emr-scaledown-behavior.md)」を参照してください。

ポリシー内の各ルールのうち、次のパラメータで自動スケーリングの動作を決定します。

**注記**  
ここに記載されているパラメータは、Amazon EMR AWS マネジメントコンソール の に基づいています。 AWS CLI または Amazon EMR API を使用する場合、追加の高度な設定オプションを使用できます。詳細オプションついて詳しくは、「*Amazon EMR API リファレンス*」の「[SimpleScalingPolicyConfiguration](https://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_PutAutoScalingPolicy.html)」を参照してください。
+ 最大インスタンスおよび最小インスタンス。**[最大インスタンス]** という制約は、インスタンスグループに含めることができる Amazon EC2 インスタンスの最大数を指定します。これはすべてのスケールアウトルールに適用されます。同様に、**[最小インスタンス]** という制約は、Amazon EC2 インスタンスの最小数を指定します。これはすべてのスケールインルールに適用されます。
+ **ルール名**は、ポリシー内で一意である必要があります。
+ **スケーリング調整**は、ルールによりトリガーされた規模の拡大や縮小の間に追加 (スケールアウトルールの場合)、または終了 (スケールインルールの場合) する EC2 インスタンスの数を決定します。
+ **CloudWatch メトリクス**は、アラーム条件用に監視されます。
+ **比較演算子**は、CloudWatch メトリクスを**しきい値**と比較してトリガー条件を決定します。
+ **評価期間**は、5 分単位で増分します。規模の拡大や縮小がトリガーされる前に CloudWatch メトリクスがトリガー条件になる必要があります。
+ **クールダウン期間** (秒単位) は、何らかのルールによって開始されるスケーリングアクティビティと、次に開始されるスケーリングアクティビティとの間で経過する必要がある時間です。インスタンスグループがスケーリングを完了し、スケーリング後の状態に達したときに、クールダウン期間によって、後続のスケーリングをトリガーする可能性のある CloudWatch メトリクスを安定させることができます。詳細については、「*Amazon EC2 Auto Scaling ユーザーガイド*」の「[Auto Scaling のクールダウン](https://docs.aws.amazon.com/autoscaling/ec2/userguide/Cooldown.html)」を参照してください。  
![AWS マネジメントコンソール Amazon EMR の自動スケーリングルールパラメータ。](http://docs.aws.amazon.com/ja_jp/emr/latest/ManagementGuide/images/auto-scaling-rule-params.png)

## 考慮事項と制限事項
<a name="emr-automatic-scaling-considerations"></a>
+ Amazon CloudWatch メトリクスは、Amazon EMR の自動スケーリングの運用に不可欠です。Amazon CloudWatch メトリクスを注意深く監視して、データが欠落していないことを確認することをお勧めします。欠落しているメトリクスを検出するように Amazon CloudWatch アラームを設定する方法の詳細については、「[Amazon CloudWatch でのアラームの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)」を参照してください。
+ EBS ボリュームの使用率が高すぎると、マネージドスケーリングの問題が発生する可能性があります。EBS ボリュームの使用率を注意深く監視して、EBS ボリュームの使用率が 90% 未満であることを確認することをお勧めします。追加の EBS ボリュームを指定する方法については、「[インスタンスストレージ](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-storage.html)」を参照してください。
+ Amazon EMR リリース 5.18 から 5.28 のカスタムポリシーによる自動スケーリングでは、Amazon CloudWatch メトリクスでデータが間欠的に欠落しているために、スケーリングに失敗することがあります。自動スケーリングを向上させるために、最新の Amazon EMR バージョンを使用することをお勧めします。5.18 から 5.28 の間の Amazon EMR リリースを使用する必要がある場合は、パッチの使用について、[AWS サポート](https://aws.amazon.com/premiumsupport/)にお問い合わせいただくこともできます。

## を使用して自動スケーリング AWS マネジメントコンソール を設定する
<a name="emr-automatic-scale-console"></a>

クラスターを作成する際、高度なクラスター設定オプションを使用して、インスタンスグループにスケーリングポリシーを設定します。既存のクラスターの**ハードウェア**設定でインスタンスグループを変更することにより、実行中のインスタンスグループのスケーリングポリシーを作成または変更することもできます。

1. 新しい Amazon EMR コンソールに移動し、サイドナビゲーションから **[古いコンソールに切り替え]** を選択します。古いコンソールに切り替えたときの動作の詳細については、「[Using the old console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html#console-opt-in)」を参照してください。

1. クラスターを作成する場合、Amazon EMR コンソールで、**[クラスターの作成]** を選択し、**[詳細オプションに移動する]** を選択します。次に、**[ステップ 1: ソフトウェアおよびステップ]** のオプションを選択し、**[ステップ 2: ハードウェア構成]** に移動します。

   ** - または - **

   実行中のクラスターのインスタンスグループを変更する場合、クラスターリストからクラスターを選択し、その後 [**ハードウェア**] セクションを展開します。

1. **[クラスターのスケーリングとプロビジョニングのオプション]** セクションで **[クラスタースケーリングを有効にする]** を選択します。次に、[**Create a custom Auto Scaling policy (カスタムの自動スケーリングポリシーを作成する)**] を選択します。

   [**Custom automatic scaling policies (カスタムの自動スケーリングポリシー)**] の表で、設定するインスタンスグループの行に表示されている鉛筆アイコンをクリックします。Auto Scaling ルールの画面が開きます。

1. インスタンスグループをスケールアウトした後に含める**最大インスタンス**を入力するか、インスタンスグループをスケールインした後に含める**最小インスタンス**を入力します。

1. ルールのパラメータを編集するには鉛筆をクリックします。ポリシーからルールを削除するには [**X**] を、ルールを追加するには [**Add rule**] をクリックします。

1. このトピックで先に記載したとおり、ルールのパラメータを選択します。Amazon EMR で利用可能な CloudWatch メトリクスの説明については、「*Amazon CloudWatch ユーザーガイド*」の「[Amazon EMR のメトリクスとディメンション](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/emr-metricscollected.html)」を参照してください。

## を使用して自動スケーリング AWS CLI を設定する
<a name="emr-automatic-scale-cli"></a>

Amazon EMR の AWS CLI コマンドを使用して、クラスターの作成時とインスタンスグループの作成時に自動スケーリングを設定できます。短縮構文を使用して、関連コマンドのインラインで JSON 設定を指定したり、設定 JSON を含むファイルを参照したりできます。既存のインスタンスグループに自動スケーリングポリシーを適用したり、以前適用されていた自動スケーリングポリシーを削除することもできます。さらに、スケーリングポリシーの詳細設定を実行中のクラスターから取得できます。

**重要**  
自動スケーリングポリシーを持つクラスターを作成するときは、`--auto-scaling-role {{MyAutoScalingRole}}` コマンドを使用して、自動スケーリング用の IAM ロールを指定する必要があります。デフォルトロールは、`{{EMR_AutoScaling_DefaultRole}}` で、`create-default-roles` コマンドを使用して作成できます。ロールはクラスターが作成された後にのみ追加でき、既存のクラスターには追加できません。

自動スケーリングポリシーの設定時に使用できるパラメータの詳細については、「*Amazon EMR API リファレンス*」の「[PutAutoScalingPolicy](https://docs.aws.amazon.com/ElasticMapReduce/latest/API/API_PutAutoScalingPolicy.html)」を参照してください。

### インスタンスグループに適用する自動スケーリングポリシーを持つクラスターを作成する
<a name="emr-autoscale-cli-createcluster"></a>

`aws emr create-cluster` コマンドの `--instance-groups` オプション内で自動スケーリング設定を指定できます。次の例は、create-cluster コマンドを示しています。このコマンドには、インラインにコアインスタンスグループの自動スケーリングポリシーがあります。コマンドは、Amazon EMR AWS マネジメントコンソール の で自動スケーリングポリシーを作成するときに表示されるデフォルトのスケールアウトポリシーと同等のスケーリング設定を作成します。簡潔にするために、スケールインポリシーは表示されません。スケールインルールなしで、スケールアウトルールを作成するのは推奨されていません。

```
aws emr create-cluster --release-label {{emr-5.2.0}} --service-role EMR_DefaultRole --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole --auto-scaling-role EMR_AutoScaling_DefaultRole  --instance-groups Name={{MyMasterIG}},InstanceGroupType=MASTER,InstanceType={{m5.xlarge}},InstanceCount=1 'Name={{MyCoreIG}},InstanceGroupType=CORE,InstanceType={{m5.xlarge}},InstanceCount={{2}},AutoScalingPolicy={Constraints={MinCapacity={{2}},MaxCapacity={{10}}},Rules=[{Name={{Default-scale-out}},Description={{Replicates the default scale-out rule in the console.}},Action={SimpleScalingPolicyConfiguration={AdjustmentType={{CHANGE_IN_CAPACITY}},ScalingAdjustment={{1}},CoolDown=300}},Trigger={CloudWatchAlarmDefinition={ComparisonOperator={{LESS_THAN}},EvaluationPeriods={{1}},MetricName={{YARNMemoryAvailablePercentage}},Namespace=AWS/ElasticMapReduce,Period={{300}},Statistic={{AVERAGE}},Threshold={{15}},Unit={{PERCENT}},Dimensions=[{Key=JobFlowId,Value="${emr.clusterId}"}]}}}]}'				
```

 次のコマンドは、コマンドラインを使用して、`{{instancegroupconfig.json}}` という名前のインスタンスグループ設定ファイルの一部としての自動スケーリングポリシー定義を提供する方法を示しています。

```
aws emr create-cluster --release-label {{emr-5.2.0}} --service-role EMR_DefaultRole --ec2-attributes InstanceProfile=EMR_EC2_DefaultRole --instance-groups file://{{your/path/to/instancegroupconfig.json}} --auto-scaling-role EMR_AutoScaling_DefaultRole								
```

次の構成ファイルのコンテンツ:

```
[
{
  "InstanceCount": 1,
  "Name": "MyMasterIG",
  "InstanceGroupType": "MASTER",
  "InstanceType": "m5.xlarge"
},
{
  "InstanceCount": 2,
  "Name": "MyCoreIG",
  "InstanceGroupType": "CORE",
  "InstanceType": "m5.xlarge",
  "AutoScalingPolicy":
    {
     "Constraints":
      {
       "MinCapacity": 2,
       "MaxCapacity": 10
      },
     "Rules":
     [
      {
       "Name": "Default-scale-out",
       "Description": "Replicates the default scale-out rule in the console for YARN memory.",
       "Action":{
        "SimpleScalingPolicyConfiguration":{
          "AdjustmentType": "CHANGE_IN_CAPACITY",
          "ScalingAdjustment": 1,
          "CoolDown": 300
        }
       },
       "Trigger":{
        "CloudWatchAlarmDefinition":{
          "ComparisonOperator": "LESS_THAN",
          "EvaluationPeriods": 1,
          "MetricName": "YARNMemoryAvailablePercentage",
          "Namespace": "AWS/ElasticMapReduce",
          "Period": 300,
          "Threshold": 15,
          "Statistic": "AVERAGE",
          "Unit": "PERCENT",
          "Dimensions":[
             {
               "Key" : "JobFlowId",
               "Value" : "${emr.clusterId}"
             }
          ]
        }
       }
      }
     ]
   }
}
]
```

### 自動スケーリングポリシーを持つインスタンスグループをクラスターに追加する
<a name="emr-autoscale-cli-createinstancegroup"></a>

`create-cluster` を使用するときと同じ方法で、`--instance-groups` オプションを使用して、`add-instance-groups` コマンドでスケーリングポリシーの設定を指定できます。次の例では、インスタンスグループ設定がある JSON ファイル `{{instancegroupconfig.json}}` への参照を使用しています。

```
aws emr add-instance-groups --cluster-id {{j-1EKZ3TYEVF1S2}} --instance-groups file://{{your/path/to/instancegroupconfig.json}}
```

### 既存のインスタンスグループに自動スケーリングポリシーを適用するか、適用されたポリシーを変更する
<a name="emr-autoscale-cli-modifyinstancegroup"></a>

`aws emr put-auto-scaling-policy` コマンドを使用して自動スケーリングポリシーを既存のインスタンスグループに適用します。インスタンスグループは、自動スケーリング IAM ロールを使用するクラスターの一部である必要があります。次の例では、自動スケーリングポリシー設定を指定する JSON ファイル `{{autoscaleconfig.json}}` への参照を使用します。

```
aws emr put-auto-scaling-policy --cluster-id {{j-1EKZ3TYEVF1S2}} --instance-group-id {{ig-3PLUZBA6WLS07}} --auto-scaling-policy {{file://your/path/to/autoscaleconfig.json}} 
```

`autoscaleconfig.json` ファイルのコンテンツは、前の例と同じスケールアウトルールを定義するもので、次に示されています。

```
{
          "Constraints": {
                  "MaxCapacity": 10,
                  "MinCapacity": 2
          },
          "Rules": [{
                  "Action": {
                          "SimpleScalingPolicyConfiguration": {
                                  "AdjustmentType": "CHANGE_IN_CAPACITY",
                                  "CoolDown": 300,
                                  "ScalingAdjustment": 1
                          }
                  },
                  "Description": "Replicates the default scale-out rule in the console for YARN memory",
                  "Name": "Default-scale-out",
                  "Trigger": {
                          "CloudWatchAlarmDefinition": {
                                  "ComparisonOperator": "LESS_THAN",
                                  "Dimensions": [{
                                          "Key": "JobFlowId",
                                          "Value": "${emr.clusterID}"
                                  }],
                                  "EvaluationPeriods": 1,
                                  "MetricName": "YARNMemoryAvailablePercentage",
                                  "Namespace": "AWS/ElasticMapReduce",
                                  "Period": 300,
                                  "Statistic": "AVERAGE",
                                  "Threshold": 15,
                                  "Unit": "PERCENT"
                          }
                  }
          }]
  }
```

### 自動スケーリングポリシーをインスタンスグループから削除する
<a name="emr-autoscale-cli-removepolicy"></a>

```
aws emr remove-auto-scaling-policy --cluster-id {{j-1EKZ3TYEVF1S2}} --instance-group-id {{ig-3PLUZBA6WLS07}}
```

### 自動スケーリングポリシー設定を取得する
<a name="emr-autoscale-cli-getpolicy"></a>

`describe-cluster` コマンドは InstanceGroup ブロックのポリシー設定を取得します。たとえば、次のコマンドは、クラスター ID `j-1CWOHP4PI30VJ` を持つクラスターの設定を取得します。

```
aws emr describe-cluster --cluster-id j-1CWOHP4PI30VJ
```

このコマンドでは、次のサンプルアウトプットが生成されます。

```
{
    "Cluster": {
        "Configurations": [],
        "Id": "j-1CWOHP4PI30VJ",
        "NormalizedInstanceHours": 48,
        "Name": "Auto Scaling Cluster",
        "ReleaseLabel": "emr-5.2.0",
        "ServiceRole": "EMR_DefaultRole",
        "AutoTerminate": false,
        "TerminationProtected": true,
        "MasterPublicDnsName": "ec2-54-167-31-38.compute-1.amazonaws.com",
        "LogUri": "s3n://aws-logs-232939870606-us-east-1/elasticmapreduce/",
        "Ec2InstanceAttributes": {
            "Ec2KeyName": "performance",
            "AdditionalMasterSecurityGroups": [],
            "AdditionalSlaveSecurityGroups": [],
            "EmrManagedSlaveSecurityGroup": "sg-09fc9362",
            "Ec2AvailabilityZone": "us-east-1d",
            "EmrManagedMasterSecurityGroup": "sg-0bfc9360",
            "IamInstanceProfile": "EMR_EC2_DefaultRole"
        },
        "Applications": [
            {
                "Name": "Hadoop",
                "Version": "2.7.3"
            }
        ],
        "InstanceGroups": [
            {
                "AutoScalingPolicy": {
                    "Status": {
                        "State": "ATTACHED",
                        "StateChangeReason": {
                            "Message": ""
                        }
                    },
                    "Constraints": {
                        "MaxCapacity": 10,
                        "MinCapacity": 2
                    },
                    "Rules": [
                        {
                            "Name": "Default-scale-out",
                            "Trigger": {
                                "CloudWatchAlarmDefinition": {
                                    "MetricName": "YARNMemoryAvailablePercentage",
                                    "Unit": "PERCENT",
                                    "Namespace": "AWS/ElasticMapReduce",
                                    "Threshold": 15,
                                    "Dimensions": [
                                        {
                                            "Key": "JobFlowId",
                                            "Value": "j-1CWOHP4PI30VJ"
                                        }
                                    ],
                                    "EvaluationPeriods": 1,
                                    "Period": 300,
                                    "ComparisonOperator": "LESS_THAN",
                                    "Statistic": "AVERAGE"
                                }
                            },
                            "Description": "",
                            "Action": {
                                "SimpleScalingPolicyConfiguration": {
                                    "CoolDown": 300,
                                    "AdjustmentType": "CHANGE_IN_CAPACITY",
                                    "ScalingAdjustment": 1
                                }
                            }
                        },
                        {
                            "Name": "Default-scale-in",
                            "Trigger": {
                                "CloudWatchAlarmDefinition": {
                                    "MetricName": "YARNMemoryAvailablePercentage",
                                    "Unit": "PERCENT",
                                    "Namespace": "AWS/ElasticMapReduce",
                                    "Threshold": 75,
                                    "Dimensions": [
                                        {
                                            "Key": "JobFlowId",
                                            "Value": "j-1CWOHP4PI30VJ"
                                        }
                                    ],
                                    "EvaluationPeriods": 1,
                                    "Period": 300,
                                    "ComparisonOperator": "GREATER_THAN",
                                    "Statistic": "AVERAGE"
                                }
                            },
                            "Description": "",
                            "Action": {
                                "SimpleScalingPolicyConfiguration": {
                                    "CoolDown": 300,
                                    "AdjustmentType": "CHANGE_IN_CAPACITY",
                                    "ScalingAdjustment": -1
                                }
                            }
                        }
                    ]
                },
                "Configurations": [],
                "InstanceType": "m5.xlarge",
                "Market": "ON_DEMAND",
                "Name": "Core - 2",
                "ShrinkPolicy": {},
                "Status": {
                    "Timeline": {
                        "CreationDateTime": 1479413437.342,
                        "ReadyDateTime": 1479413864.615
                    },
                    "State": "RUNNING",
                    "StateChangeReason": {
                        "Message": ""
                    }
                },
                "RunningInstanceCount": 2,
                "Id": "ig-3M16XBE8C3PH1",
                "InstanceGroupType": "CORE",
                "RequestedInstanceCount": 2,
                "EbsBlockDevices": []
            },
            {
                "Configurations": [],
                "Id": "ig-OP62I28NSE8M",
                "InstanceGroupType": "MASTER",
                "InstanceType": "m5.xlarge",
                "Market": "ON_DEMAND",
                "Name": "Master - 1",
                "ShrinkPolicy": {},
                "EbsBlockDevices": [],
                "RequestedInstanceCount": 1,
                "Status": {
                    "Timeline": {
                        "CreationDateTime": 1479413437.342,
                        "ReadyDateTime": 1479413752.088
                    },
                    "State": "RUNNING",
                    "StateChangeReason": {
                        "Message": ""
                    }
                },
                "RunningInstanceCount": 1
            }
        ],
        "AutoScalingRole": "EMR_AutoScaling_DefaultRole",
        "Tags": [],
        "BootstrapActions": [],
        "Status": {
            "Timeline": {
                "CreationDateTime": 1479413437.339,
                "ReadyDateTime": 1479413863.666
            },
            "State": "WAITING",
            "StateChangeReason": {
                "Message": "Cluster ready after last step completed."
            }
        }
    }
}
```