Class: Aws::ComputeOptimizer::Types::InstanceRecommendation

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb

Overview

Describes an Amazon EC2 instance recommendation.

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#account_idString

The Amazon Web Services account ID of the instance.

Returns:

  • (String)


2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
# File 'gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb', line 2354

class InstanceRecommendation < Struct.new(
  :instance_arn,
  :account_id,
  :instance_name,
  :current_instance_type,
  :finding,
  :finding_reason_codes,
  :utilization_metrics,
  :look_back_period_in_days,
  :recommendation_options,
  :recommendation_sources,
  :last_refresh_timestamp,
  :current_performance_risk,
  :effective_recommendation_preferences)
  SENSITIVE = []
  include Aws::Structure
end

#current_instance_typeString

The instance type of the current instance.

Returns:

  • (String)


2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
# File 'gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb', line 2354

class InstanceRecommendation < Struct.new(
  :instance_arn,
  :account_id,
  :instance_name,
  :current_instance_type,
  :finding,
  :finding_reason_codes,
  :utilization_metrics,
  :look_back_period_in_days,
  :recommendation_options,
  :recommendation_sources,
  :last_refresh_timestamp,
  :current_performance_risk,
  :effective_recommendation_preferences)
  SENSITIVE = []
  include Aws::Structure
end

#current_performance_riskString

The risk of the current instance not meeting the performance needs of its workloads. The higher the risk, the more likely the current Lambda function requires more memory.

Returns:

  • (String)


2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
# File 'gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb', line 2354

class InstanceRecommendation < Struct.new(
  :instance_arn,
  :account_id,
  :instance_name,
  :current_instance_type,
  :finding,
  :finding_reason_codes,
  :utilization_metrics,
  :look_back_period_in_days,
  :recommendation_options,
  :recommendation_sources,
  :last_refresh_timestamp,
  :current_performance_risk,
  :effective_recommendation_preferences)
  SENSITIVE = []
  include Aws::Structure
end

#effective_recommendation_preferencesTypes::EffectiveRecommendationPreferences

An object that describes the effective recommendation preferences for the instance.



2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
# File 'gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb', line 2354

class InstanceRecommendation < Struct.new(
  :instance_arn,
  :account_id,
  :instance_name,
  :current_instance_type,
  :finding,
  :finding_reason_codes,
  :utilization_metrics,
  :look_back_period_in_days,
  :recommendation_options,
  :recommendation_sources,
  :last_refresh_timestamp,
  :current_performance_risk,
  :effective_recommendation_preferences)
  SENSITIVE = []
  include Aws::Structure
end

#findingString

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, Compute Optimizer might recommend a new generation instance type.

Returns:

  • (String)


2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
# File 'gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb', line 2354

class InstanceRecommendation < Struct.new(
  :instance_arn,
  :account_id,
  :instance_name,
  :current_instance_type,
  :finding,
  :finding_reason_codes,
  :utilization_metrics,
  :look_back_period_in_days,
  :recommendation_options,
  :recommendation_sources,
  :last_refresh_timestamp,
  :current_performance_risk,
  :effective_recommendation_preferences)
  SENSITIVE = []
  include Aws::Structure
end

#finding_reason_codesArray<String>

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 the CPUUtilization metric 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 the CPUUtilization metric 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.

    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 Compute Optimizer User Guide. On Linux instances, Compute Optimizer analyses the mem_used_percent metric in the CWAgent namespace, or the legacy MemoryUtilization metric in the System/Linux namespace. On Windows instances, Compute Optimizer analyses the Memory % Committed Bytes In Use metric in the CWAgent namespace.

  • 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 the VolumeReadOps and VolumeWriteOps metrics 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 the VolumeReadOps and VolumeWriteOps metrics 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 the VolumeReadBytes and VolumeWriteBytes metric 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 the VolumeReadBytes and VolumeWriteBytes metric 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 the NetworkIn and NetworkOut metrics 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 the NetworkIn and NetworkOut metrics of the current instance during the look-back period. This finding reason happens when the NetworkIn or NetworkOut performance 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 the NetworkPacketsIn and NetworkPacketsIn metrics 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 the NetworkPacketsIn and NetworkPacketsIn metrics 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 the DiskReadOps and DiskWriteOps metrics 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 the DiskReadOps and DiskWriteOps metrics 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 the DiskReadBytes and DiskWriteBytes metrics 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 the DiskReadBytes and DiskWriteBytes metrics of the current instance during the look-back period.

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.

Returns:

  • (Array<String>)


2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
# File 'gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb', line 2354

class InstanceRecommendation < Struct.new(
  :instance_arn,
  :account_id,
  :instance_name,
  :current_instance_type,
  :finding,
  :finding_reason_codes,
  :utilization_metrics,
  :look_back_period_in_days,
  :recommendation_options,
  :recommendation_sources,
  :last_refresh_timestamp,
  :current_performance_risk,
  :effective_recommendation_preferences)
  SENSITIVE = []
  include Aws::Structure
end

#instance_arnString

The Amazon Resource Name (ARN) of the current instance.

Returns:

  • (String)


2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
# File 'gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb', line 2354

class InstanceRecommendation < Struct.new(
  :instance_arn,
  :account_id,
  :instance_name,
  :current_instance_type,
  :finding,
  :finding_reason_codes,
  :utilization_metrics,
  :look_back_period_in_days,
  :recommendation_options,
  :recommendation_sources,
  :last_refresh_timestamp,
  :current_performance_risk,
  :effective_recommendation_preferences)
  SENSITIVE = []
  include Aws::Structure
end

#instance_nameString

The name of the current instance.

Returns:

  • (String)


2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
# File 'gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb', line 2354

class InstanceRecommendation < Struct.new(
  :instance_arn,
  :account_id,
  :instance_name,
  :current_instance_type,
  :finding,
  :finding_reason_codes,
  :utilization_metrics,
  :look_back_period_in_days,
  :recommendation_options,
  :recommendation_sources,
  :last_refresh_timestamp,
  :current_performance_risk,
  :effective_recommendation_preferences)
  SENSITIVE = []
  include Aws::Structure
end

#last_refresh_timestampTime

The timestamp of when the instance recommendation was last generated.

Returns:

  • (Time)


2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
# File 'gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb', line 2354

class InstanceRecommendation < Struct.new(
  :instance_arn,
  :account_id,
  :instance_name,
  :current_instance_type,
  :finding,
  :finding_reason_codes,
  :utilization_metrics,
  :look_back_period_in_days,
  :recommendation_options,
  :recommendation_sources,
  :last_refresh_timestamp,
  :current_performance_risk,
  :effective_recommendation_preferences)
  SENSITIVE = []
  include Aws::Structure
end

#look_back_period_in_daysFloat

The number of days for which utilization metrics were analyzed for the instance.

Returns:

  • (Float)


2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
# File 'gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb', line 2354

class InstanceRecommendation < Struct.new(
  :instance_arn,
  :account_id,
  :instance_name,
  :current_instance_type,
  :finding,
  :finding_reason_codes,
  :utilization_metrics,
  :look_back_period_in_days,
  :recommendation_options,
  :recommendation_sources,
  :last_refresh_timestamp,
  :current_performance_risk,
  :effective_recommendation_preferences)
  SENSITIVE = []
  include Aws::Structure
end

#recommendation_optionsArray<Types::InstanceRecommendationOption>

An array of objects that describe the recommendation options for the instance.



2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
# File 'gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb', line 2354

class InstanceRecommendation < Struct.new(
  :instance_arn,
  :account_id,
  :instance_name,
  :current_instance_type,
  :finding,
  :finding_reason_codes,
  :utilization_metrics,
  :look_back_period_in_days,
  :recommendation_options,
  :recommendation_sources,
  :last_refresh_timestamp,
  :current_performance_risk,
  :effective_recommendation_preferences)
  SENSITIVE = []
  include Aws::Structure
end

#recommendation_sourcesArray<Types::RecommendationSource>

An array of objects that describe the source resource of the recommendation.

Returns:



2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
# File 'gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb', line 2354

class InstanceRecommendation < Struct.new(
  :instance_arn,
  :account_id,
  :instance_name,
  :current_instance_type,
  :finding,
  :finding_reason_codes,
  :utilization_metrics,
  :look_back_period_in_days,
  :recommendation_options,
  :recommendation_sources,
  :last_refresh_timestamp,
  :current_performance_risk,
  :effective_recommendation_preferences)
  SENSITIVE = []
  include Aws::Structure
end

#utilization_metricsArray<Types::UtilizationMetric>

An array of objects that describe the utilization metrics of the instance.

Returns:



2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
# File 'gems/aws-sdk-computeoptimizer/lib/aws-sdk-computeoptimizer/types.rb', line 2354

class InstanceRecommendation < Struct.new(
  :instance_arn,
  :account_id,
  :instance_name,
  :current_instance_type,
  :finding,
  :finding_reason_codes,
  :utilization_metrics,
  :look_back_period_in_days,
  :recommendation_options,
  :recommendation_sources,
  :last_refresh_timestamp,
  :current_performance_risk,
  :effective_recommendation_preferences)
  SENSITIVE = []
  include Aws::Structure
end