InstanceRecommendation
Describes an Amazon EC2 instance recommendation.
Contents
- accountId
-
The AWS account ID of the instance.
Type: String
Required: No
- currentInstanceGpuInfo
-
Describes the GPU accelerator settings for the current instance type.
Type: GpuInfo object
Required: No
- currentInstanceType
-
The instance type of the current instance.
Type: String
Required: No
- currentPerformanceRisk
-
The risk of the current instance not meeting the performance needs of its workloads. The higher the risk, the more likely the current instance cannot meet the performance requirements of its workload.
Type: String
Valid Values:
VeryLow | Low | Medium | HighRequired: No
- effectiveRecommendationPreferences
-
An object that describes the effective recommendation preferences for the instance.
Type: EffectiveRecommendationPreferences object
Required: No
- externalMetricStatus
-
An object that describes Compute Optimizer's integration status with your external metrics provider.
Type: ExternalMetricStatus object
Required: No
- finding
-
The finding classification of the instance.
Findings for instances include:
-
Underprovisioned—An instance is considered under-provisioned when at least one specification of your instance, such as CPU, memory, or network, does not meet the performance requirements of your workload. Under-provisioned instances may lead to poor application performance. -
Overprovisioned—An instance is considered over-provisioned when at least one specification of your instance, such as CPU, memory, or network, can be sized down while still meeting the performance requirements of your workload, and no specification is under-provisioned. Over-provisioned instances may lead to unnecessary infrastructure cost. -
Optimized—An instance is considered optimized when all specifications of your instance, such as CPU, memory, and network, meet the performance requirements of your workload and is not over provisioned. For optimized resources, AWS Compute Optimizer might recommend a new generation instance type.
Note
The valid values in your API responses appear as OVER_PROVISIONED, UNDER_PROVISIONED, or OPTIMIZED.
Type: String
Valid Values:
Underprovisioned | Overprovisioned | Optimized | NotOptimizedRequired: No
-
- findingReasonCodes
-
The reason for the finding classification of the instance.
Finding reason codes for instances include:
-
CPUOverprovisioned— The instance’s CPU configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theCPUUtilizationmetric of the current instance during the look-back period. -
CPUUnderprovisioned— The instance’s CPU configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better CPU performance. This is identified by analyzing theCPUUtilizationmetric of the current instance during the look-back period. -
MemoryOverprovisioned— The instance’s memory configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the memory utilization metric of the current instance during the look-back period. -
MemoryUnderprovisioned— The instance’s memory configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better memory performance. This is identified by analyzing the memory utilization metric of the current instance during the look-back period.Note
Memory utilization is analyzed only for resources that have the unified CloudWatch agent installed on them. For more information, see Enabling memory utilization with the Amazon CloudWatch Agent in the AWS Compute Optimizer User Guide. On Linux instances, Compute Optimizer analyses the
mem_used_percentmetric in theCWAgentnamespace, or the legacyMemoryUtilizationmetric in theSystem/Linuxnamespace. On Windows instances, Compute Optimizer analyses theMemory % Committed Bytes In Usemetric in theCWAgentnamespace. -
EBSThroughputOverprovisioned— The instance’s EBS throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadBytesandVolumeWriteBytesmetrics of EBS volumes attached to the current instance during the look-back period. -
EBSThroughputUnderprovisioned— The instance’s EBS throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS throughput performance. This is identified by analyzing theVolumeReadBytesandVolumeWriteBytesmetrics of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSOverprovisioned— The instance’s EBS IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theVolumeReadOpsandVolumeWriteOpsmetric of EBS volumes attached to the current instance during the look-back period. -
EBSIOPSUnderprovisioned— The instance’s EBS IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better EBS IOPS performance. This is identified by analyzing theVolumeReadOpsandVolumeWriteOpsmetric of EBS volumes attached to the current instance during the look-back period. -
NetworkBandwidthOverprovisioned— The instance’s network bandwidth configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkInandNetworkOutmetrics of the current instance during the look-back period. -
NetworkBandwidthUnderprovisioned— The instance’s network bandwidth configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network bandwidth performance. This is identified by analyzing theNetworkInandNetworkOutmetrics of the current instance during the look-back period. This finding reason happens when theNetworkInorNetworkOutperformance of an instance is impacted. -
NetworkPPSOverprovisioned— The instance’s network PPS (packets per second) configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theNetworkPacketsInandNetworkPacketsInmetrics of the current instance during the look-back period. -
NetworkPPSUnderprovisioned— The instance’s network PPS (packets per second) configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better network PPS performance. This is identified by analyzing theNetworkPacketsInandNetworkPacketsInmetrics of the current instance during the look-back period. -
DiskIOPSOverprovisioned— The instance’s disk IOPS configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadOpsandDiskWriteOpsmetrics of the current instance during the look-back period. -
DiskIOPSUnderprovisioned— The instance’s disk IOPS configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk IOPS performance. This is identified by analyzing theDiskReadOpsandDiskWriteOpsmetrics of the current instance during the look-back period. -
DiskThroughputOverprovisioned— The instance’s disk throughput configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing theDiskReadBytesandDiskWriteBytesmetrics of the current instance during the look-back period. -
DiskThroughputUnderprovisioned— The instance’s disk throughput configuration doesn't meet the performance requirements of your workload and there is an alternative instance type that provides better disk throughput performance. This is identified by analyzing theDiskReadBytesandDiskWriteBytesmetrics of the current instance during the look-back period.
Note
For more information about instance metrics, see List the available CloudWatch metrics for your instances in the Amazon Elastic Compute Cloud User Guide. For more information about EBS volume metrics, see Amazon CloudWatch metrics for Amazon EBS in the Amazon Elastic Compute Cloud User Guide.
Type: Array of strings
Valid Values:
CPUOverprovisioned | CPUUnderprovisioned | MemoryOverprovisioned | MemoryUnderprovisioned | EBSThroughputOverprovisioned | EBSThroughputUnderprovisioned | EBSIOPSOverprovisioned | EBSIOPSUnderprovisioned | NetworkBandwidthOverprovisioned | NetworkBandwidthUnderprovisioned | NetworkPPSOverprovisioned | NetworkPPSUnderprovisioned | DiskIOPSOverprovisioned | DiskIOPSUnderprovisioned | DiskThroughputOverprovisioned | DiskThroughputUnderprovisioned | GPUUnderprovisioned | GPUOverprovisioned | GPUMemoryUnderprovisioned | GPUMemoryOverprovisionedRequired: No
-
- idle
-
Describes if an Amazon EC2 instance is idle.
Type: String
Valid Values:
True | FalseRequired: No
- inferredWorkloadTypes
-
The applications that might be running on the instance as inferred by Compute Optimizer.
Compute Optimizer can infer if one of the following applications might be running on the instance:
-
AmazonEmr- Infers that Amazon EMR might be running on the instance. -
ApacheCassandra- Infers that Apache Cassandra might be running on the instance. -
ApacheHadoop- Infers that Apache Hadoop might be running on the instance. -
Memcached- Infers that Memcached might be running on the instance. -
NGINX- Infers that NGINX might be running on the instance. -
PostgreSql- Infers that PostgreSQL might be running on the instance. -
Redis- Infers that Redis might be running on the instance. -
Kafka- Infers that Kafka might be running on the instance. -
SQLServer- Infers that SQLServer might be running on the instance.
Type: Array of strings
Valid Values:
AmazonEmr | ApacheCassandra | ApacheHadoop | Memcached | Nginx | PostgreSql | Redis | Kafka | SQLServerRequired: No
-
- instanceArn
-
The Amazon Resource Name (ARN) of the current instance.
Type: String
Required: No
- instanceName
-
The name of the current instance.
Type: String
Required: No
- instanceState
-
The state of the instance when the recommendation was generated.
Type: String
Valid Values:
pending | running | shutting-down | terminated | stopping | stoppedRequired: No
- lastRefreshTimestamp
-
The timestamp of when the instance recommendation was last generated.
Type: Timestamp
Required: No
- lookBackPeriodInDays
-
The number of days for which utilization metrics were analyzed for the instance.
Type: Double
Required: No
- recommendationOptions
-
An array of objects that describe the recommendation options for the instance.
Type: Array of InstanceRecommendationOption objects
Required: No
- recommendationSources
-
An array of objects that describe the source resource of the recommendation.
Type: Array of RecommendationSource objects
Required: No
-
A list of tags assigned to your Amazon EC2 instance recommendations.
Type: Array of Tag objects
Required: No
- utilizationMetrics
-
An array of objects that describe the utilization metrics of the instance.
Type: Array of UtilizationMetric objects
Required: No
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: