Amazon Compute Optimizer · JSON Structure
Compute Optimizer Ecs Service Recommendation Structure
Describes an Amazon ECS service recommendation.
Type: object
Properties: 12
Cost OptimizationFinOpsMachine LearningResource Recommendations
ECSServiceRecommendation is a JSON Structure definition published by Amazon Compute Optimizer, describing 12 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
serviceArn
accountId
currentServiceConfiguration
utilizationMetrics
lookbackPeriodInDays
launchType
lastRefreshTimestamp
finding
findingReasonCodes
serviceRecommendationOptions
currentPerformanceRisk
tags
Meta-schema: https://json-structure.org/meta/core/v0/#
JSON Structure
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/amazon-compute-optimizer/refs/heads/main/json-structure/compute-optimizer-ecs-service-recommendation-structure.json",
"name": "ECSServiceRecommendation",
"description": " Describes an Amazon ECS service recommendation. ",
"type": "object",
"properties": {
"serviceArn": {
"allOf": [
{
"$ref": "#/components/schemas/ServiceArn"
},
{
"description": "<p> The Amazon Resource Name (ARN) of the current Amazon ECS service. </p> <p> The following is the format of the ARN: </p> <p> <code>arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name</code> </p>"
}
]
},
"accountId": {
"allOf": [
{
"$ref": "#/components/schemas/AccountId"
},
{
"description": " The Amazon Web Services account ID of the Amazon ECS service. "
}
]
},
"currentServiceConfiguration": {
"allOf": [
{
"$ref": "#/components/schemas/ServiceConfiguration"
},
{
"description": " The configuration of the current Amazon ECS service. "
}
]
},
"utilizationMetrics": {
"allOf": [
{
"$ref": "#/components/schemas/ECSServiceUtilizationMetrics"
},
{
"description": " An array of objects that describe the utilization metrics of the Amazon ECS service. "
}
]
},
"lookbackPeriodInDays": {
"allOf": [
{
"$ref": "#/components/schemas/LookBackPeriodInDays"
},
{
"description": " The number of days the Amazon ECS service utilization metrics were analyzed. "
}
]
},
"launchType": {
"allOf": [
{
"$ref": "#/components/schemas/ECSServiceLaunchType"
},
{
"description": "<p> The launch type the Amazon ECS service is using. </p> <note> <p>Compute Optimizer only supports the Fargate launch type.</p> </note>"
}
]
},
"lastRefreshTimestamp": {
"allOf": [
{
"$ref": "#/components/schemas/LastRefreshTimestamp"
},
{
"description": " The timestamp of when the Amazon ECS service recommendation was last generated. "
}
]
},
"finding": {
"allOf": [
{
"$ref": "#/components/schemas/ECSServiceRecommendationFinding"
},
{
"description": "<p> The finding classification of an Amazon ECS service. </p> <p>Findings for Amazon ECS services include:</p> <ul> <li> <p> <b> <code>Underprovisioned</code> </b> \u2014 When Compute Optimizer detects that there\u2019s not enough memory or CPU, an Amazon ECS service is considered under-provisioned. An under-provisioned service might result in poor application performance.</p> </li> <li> <p> <b> <code>Overprovisioned</code> </b> \u2014 When Compute Optimizer detects that there\u2019s excessive memory or CPU, an Amazon ECS service is considered over-provisioned. An over-provisioned service might result in additional infrastructure costs. </p> </li> <li> <p> <b> <code>Optimized</code> </b> \u2014 When both the CPU and memory of your Amazon ECS service meet the performance requirements of your workload, the service is considered optimized.</p> </li> </ul>"
}
]
},
"findingReasonCodes": {
"allOf": [
{
"$ref": "#/components/schemas/ECSServiceRecommendationFindingReasonCodes"
},
{
"description": "<p> The reason for the finding classification of an Amazon ECS service. </p> <p>Finding reason codes for Amazon ECS services include:</p> <ul> <li> <p> <b> <code>CPUUnderprovisioned</code> </b> \u2014 The service CPU configuration can be sized up to enhance the performance of your workload. This is identified by analyzing the <code>CPUUtilization</code> metric of the current service during the look-back period.</p> </li> <li> <p> <b> <code>CPUOverprovisioned</code> </b> \u2014 The service CPU configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the <code>CPUUtilization</code> metric of the current service during the look-back period. </p> </li> <li> <p> <b> <code>MemoryUnderprovisioned</code> </b> \u2014 The service memory configuration can be sized up to enhance the performance of your workload. This is identified by analyzing the <code>MemoryUtilization</code> metric of the current service during the look-back period.</p> </li> <li> <p> <b> <code>MemoryOverprovisioned</code> </b> \u2014 The service memory configuration can be sized down while still meeting the performance requirements of your workload. This is identified by analyzing the <code>MemoryUtilization</code> metric of the current service during the look-back period.</p> </li> </ul>"
}
]
},
"serviceRecommendationOptions": {
"allOf": [
{
"$ref": "#/components/schemas/ECSServiceRecommendationOptions"
},
{
"description": " An array of objects that describe the recommendation options for the Amazon ECS service. "
}
]
},
"currentPerformanceRisk": {
"allOf": [
{
"$ref": "#/components/schemas/CurrentPerformanceRisk"
},
{
"description": " The risk of the current Amazon ECS service not meeting the performance needs of its workloads. The higher the risk, the more likely the current service can't meet the performance requirements of its workload. "
}
]
},
"tags": {
"allOf": [
{
"$ref": "#/components/schemas/Tags"
},
{
"description": " A list of tags assigned to your Amazon ECS service recommendations. "
}
]
}
}
}