Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ All service icons use `resourceIcon;resIcon=mxgraph.aws4.{name}` style at 78x78.

**Networking**: `app_mesh`, `application_recovery_controller`, `client_vpn`, `cloud_directory`, `cloud_map`, `cloud_wan`, `cloudfront`, `direct_connect`, `global_accelerator`, `networking_and_content_delivery`, `private_5g`, `route_53`, `rtb_fabric`, `site_to_site_vpn`, `transit_gateway`, `verified_access`, `vpc`, `vpc_lattice`, `vpc_privatelink`

**Compute**: `app_runner`, `auto_scaling2`, `auto_scaling3`, `batch`, `bottlerocket`, `compute`, `compute_optimizer`, `ec2`, `ec2_image_builder`, `elastic_beanstalk`, `elastic_fabric_adapter`, `elastic_load_balancing`, `elastic_vmware_service`, `fargate`, `genomics_cli`, `lambda`, `lightsail`, `lightsail_for_research`, `local_zones`, `nice_dcv`, `nice_enginframe`, `nitro_enclaves`, `outposts`, `outposts_1u_and_2u_servers`, `outposts_family`, `parallel_cluster`, `parallel_computing_service`, `serverless_application_repository`, `simspace_weaver`, `vmware_cloud_on_aws`, `wavelength`
**Compute**: `app_runner` _(maintenance mode — use `ecs`/`fargate` instead)_, `auto_scaling2`, `auto_scaling3`, `batch`, `bottlerocket`, `compute`, `compute_optimizer`, `ec2`, `ec2_image_builder`, `elastic_beanstalk`, `elastic_fabric_adapter`, `elastic_load_balancing`, `elastic_vmware_service`, `fargate`, `genomics_cli`, `lambda`, `lightsail`, `lightsail_for_research`, `local_zones`, `nice_dcv`, `nice_enginframe`, `nitro_enclaves`, `outposts`, `outposts_1u_and_2u_servers`, `outposts_family`, `parallel_cluster`, `parallel_computing_service`, `serverless_application_repository`, `simspace_weaver`, `vmware_cloud_on_aws`, `wavelength`

**IoT (Thing shapes)**: `iot`, `iot_core`, `iot_greengrass`, `iot_analytics`, `iot_events`, `iot_sitewise`, `iot_device_defender`, `iot_device_management`, `iot_things_graph`, `iot_1click`, `iot_button`, `iot_certificate`, `iot_action`, `iot_actuator`, `iot_alexa_enabled_device`, `iot_alexa_skill`, `iot_alexa_voice_service`, `iot_bank`, `iot_bicycle`, `iot_camera`, `iot_car`, `iot_cart`, `iot_coffee_pot`, `iot_desired_state`, `iot_device_gateway`, `iot_dog`, `iot_door_lock`, `iot_factory`, `iot_fire_tv`, `iot_fire_tv_stick`, `iot_generic`, `iot_house`, `iot_http`, `iot_http2`, `iot_lambda`, `iot_lightbulb`, `iot_medical_emergency`, `iot_mqtt`, `iot_over_the_air_update`, `iot_police_emergency`, `iot_policy`, `iot_reported_state`, `iot_rule`, `iot_sensor`, `iot_servo`, `iot_shadow`, `iot_simulator`, `iot_thermostat`, `iot_topic`, `iot_travel`, `iot_utility`, `iot_windfarm`, `freertos`, `iot_device_defender2`, `iot_fleet_hub`, `iot_expresslink`, `iot_fleetwise`, `iot_roborunner`, `iot_twinmaker`

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
<mxCell id="svc-group-apprunner" parent="1" style="fillColor=#FFF2E8;strokeColor=#ED7100;rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;fontStyle=1;fontSize=12;fontColor=#ED7100;fontFamily=Helvetica;container=1;collapsible=0;shadow=1;strokeWidth=1.5;" value="Admin" vertex="1">
<mxGeometry height="120" width="120" x="1160" y="810" as="geometry" />
</mxCell>
<mxCell id="svc-apprunner" parent="svc-group-apprunner" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.app_runner;fontFamily=Helvetica;shadow=1;" value="App Runner&lt;div&gt;&lt;i&gt;admin dashboard&lt;/i&gt;&lt;/div&gt;" vertex="1">
<mxCell id="svc-apprunner" parent="svc-group-apprunner" style="sketch=0;points=[[0,0,0],[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0,0],[0,1,0],[0.25,1,0],[0.5,1,0],[0.75,1,0],[1,1,0],[0,0.25,0],[0,0.5,0],[0,0.75,0],[1,0.25,0],[1,0.5,0],[1,0.75,0]];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=10;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.ecs;fontFamily=Helvetica;shadow=1;" value="ECS Fargate&lt;div&gt;&lt;i&gt;admin dashboard&lt;/i&gt;&lt;/div&gt;" vertex="1">
<mxGeometry height="48" width="48" x="36" y="30" as="geometry" />
</mxCell>
<mxCell id="edge-users-to-apigw" edge="1" parent="1" source="users-container" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;fontFamily=Helvetica;entryX=0;entryY=0.25;entryDx=0;entryDy=0;" target="svc-group-apigw">
Expand Down Expand Up @@ -313,7 +313,7 @@
<mxCell id="step-8-badge-legend" parent="step-8-legend-group" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#007CBD;strokeColor=default;fontColor=#FFFFFF;fontStyle=1;fontSize=22;labelBackgroundColor=none;fontFamily=Helvetica;shadow=1;glass=0;strokeWidth=2;" value="8" vertex="1">
<mxGeometry height="38" width="40" y="2" as="geometry" />
</mxCell>
<mxCell id="step-8-desc-legend" parent="step-8-legend-group" style="text;html=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=14;labelBackgroundColor=none;whiteSpace=wrap;fontFamily=Helvetica;" value="&lt;div&gt;&lt;b&gt;Admin Dashboard&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;App Runner hosts the admin dashboard for operations&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;Reads inventory data from DynamoDB for monitoring&lt;/span&gt;&lt;/div&gt;" vertex="1">
<mxCell id="step-8-desc-legend" parent="step-8-legend-group" style="text;html=1;align=left;verticalAlign=top;spacingTop=-4;fontSize=14;labelBackgroundColor=none;whiteSpace=wrap;fontFamily=Helvetica;" value="&lt;div&gt;&lt;b&gt;Admin Dashboard&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;ECS Fargate hosts the admin dashboard for operations&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style=&quot;color: light-dark(rgb(0,0,0), rgb(255,255,255));&quot;&gt;&lt;b&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;-&lt;/font&gt; &lt;/b&gt;Reads inventory data from DynamoDB for monitoring&lt;/span&gt;&lt;/div&gt;" vertex="1">
<mxGeometry height="80" width="548" x="52" as="geometry" />
</mxCell>
<mxCell id="jyVs7GgIkLTRjIjV6R_S-1" parent="step-8-legend-group" style="text;html=1;whiteSpace=wrap;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;rounded=0;" value="&lt;div style=&quot;font-size: 13px;&quot;&gt;&lt;i&gt;CloudWatch monitors all Lambda, AgentCore, and Step Functions.&lt;/i&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 13px;&quot;&gt;&lt;i&gt;IAM provides roles and policies for all services.&lt;/i&gt;&lt;/div&gt;" vertex="1">
Expand Down
1 change: 1 addition & 0 deletions plugins/deploy-on-aws/skills/deploy/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ to ensure patterns follow AWS recommendations.
- Run IaC security scans (cfn-nag, checkov) before deployment
- Don't ask "Lambda or Fargate?" - just pick the obvious one
- If genuinely ambiguous, then ask
- **Never recommend AWS App Runner** — it is in maintenance mode. Use ECS Express Mode instead.

## References

Expand Down
2 changes: 2 additions & 0 deletions plugins/deploy-on-aws/skills/deploy/references/defaults.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ Default AWS service selections. Override only when user explicitly requests alte
| Scheduled jobs | EventBridge + Lambda | Long-running → EventBridge + Fargate |
| API-only (no web UI) | Fargate + ALB | "serverless" → API Gateway + Lambda |

> **⚠️ App Runner is in maintenance mode** — AWS has moved App Runner to maintenance mode. Do **not** recommend App Runner for new workloads. Use **ECS Express Mode** instead.

### Why Fargate over Lambda for web frameworks

Most web frameworks (Django, Rails, Flask with WSGI) expect long-running processes.
Expand Down
Loading