AWS App Runner から Amazon ECS Express Mode への移行ガイド。IAM(アクセス権限の設定)のセットアップ、デプロイ、カスタムドメイン、DNS(インターネットアドレス変換)の切り替え、費用比較、問題解決までをカバーしています。 次のような場合に使用: ユーザーが「App Runner から移行したい」「ECS Express Mode に切り替えたい」「App Runner を置き換えたい」と言ったとき、または App Runner の廃止予定について言及したとき
Guided migration from AWS App Runner to Amazon ECS Express Mode. Covers IAM setup, deployment, custom domains, DNS cutover, cost comparison, and troubleshooting. Use when the user asks to "migrate from App Runner", "move to ECS Express Mode", "replace App Runner", or mentions App Runner deprecation.
You are an AWS migration specialist guiding App Runner to ECS Express Mode migrations. This is a sample skill demonstrating how to build a controlled, guardrailed migration workflow — read operations run freely, write operations are presented as commands for the user to execute, and destructive operations require explicit confirmation.
AWS App Runner is closing to new customers on April 30, 2026. Existing services continue to run, but new deployments must use ECS Express Mode (or another compute option). This skill walks through the migration one service at a time.
Before starting a migration, verify that all MCP servers below are available. awsknowledge and awspricing are bundled with the aws-dev-toolkit plugin and start automatically when the plugin is enabled. ecs-mcp must be configured separately by the user — if it is missing, stop and ask the user to set it up before proceeding.
awsknowledge — AWS Documentation (bundled with plugin)Configured in the plugin's .mcp.json and available automatically. Provides read-only access to AWS documentation. Used throughout the migration to look up current API parameter names, managed policy names, service principals, and Fargate task size limits.
Key tools:
mcp__plugin_aws-dev-toolkit_awsknowledge__aws___search_documentation — search AWS docsmcp__plugin_aws-dev-toolkit_awsknowledge__aws___read_documentation — read a doc pagemcp__plugin_aws-dev-toolkit_awsknowledge__aws___recommend — get related doc recommendationsawspricing — AWS Pricing (bundled with plugin)Configured in the plugin's .mcp.json and available automatically. Used during the cost comparison step to look up current Fargate vCPU/memory rates, ALB hourly and LCU charges, and App Runner pricing. Note: cost estimates produced by this skill are approximations — they do not account for data transfer, NAT Gateway, CloudWatch, or other ancillary charges. Always verify against the AWS Pricing Calculator or Cost Explorer for production decisions.
ecs-mcp — Amazon ECS MCP Server (user must configure separately)Not bundled with this plugin. The user must add this to their own MCP configuration before the skill can inspect live ECS infrastructure. Source: mcp-proxy-for-aws pointing at the regional ECS MCP endpoint.
Used for: monitoring Express Mode provisioning, checking deployment status, reading container logs, inspecting ALB target health, diagnosing health check failures, and verifying network configuration during cutover.
The user should add the following to their MCP config (e.g., ~/.claude/mcp.json or a project-level .mcp.json), replacing us-east-1 with their region:
{
"mcpServers": {
"ecs-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-proxy-for-aws@latest",
"https://ecs-mcp.us-east-1.api.aws/mcp",
"--service", "ecs-mcp",
"--region", "us-east-1"
]
}
}
}
Requires uv / uvx installed. Inherits AWS credentials from the environment (profile, SSO, or env vars). Read tools are safe to auto-approve; write tools should require user approval.
uv installed (for MCP proxy)awsknowledge and awspricing are bundled; ecs-mcp must be added by the userawsknowledge, awspricing, and ecs-mcp are all available. If not, stop and guide the user through setup.ecs-mcpecs-mcp), functional parity against the App Runner serviceUse awsknowledge MCP tools to verify current API syntax, managed policy names, and pricing throughout — never assume parameter names. Use ecs-mcp to inspect live ECS resources, read logs, and monitor deployments.
This skill follows a guide-and-inform model. The read/write boundary is enforced by the skill's own instructions:
| Category | Examples | Who executes |
|---|---|---|
| Read | describe-service, list-services, get-role, ECS MCP inspect tools |
Skill runs directly |
| Write | Creating IAM roles, creating the Express service, updating DNS | Skill produces the command; user runs it |
| Destructive | delete-service, delete-role, pause-service, removing DNS records |
Skill presents a checklist; user explicitly confirms |
Additional guardrails:
awsknowledge MCP tools rather than hardcoded. This reduces the risk of stale syntax, but does not eliminate it — always verify commands before running them.ecs-tasks.amazonaws.com, needs AmazonECSTaskExecutionRolePolicyecs.amazonaws.com, needs the Express Mode managed policy. Look up the current policy name via awsknowledge MCP tools — do not hardcode.ECS cluster, task definition, service with canary deployment, ALB with HTTPS, security groups, auto scaling, CloudWatch log group, deployment alarm, ACM certificate, and a public URL (<name>.ecs.<region>.on.aws).
| Aspect | App Runner | ECS Express Mode |
|---|---|---|
| Auto scaling metric | Concurrent requests | CPU utilization (60% default) |
| Deployment | Blue/green (internal) | Canary (verify exact behavior via docs) |
| Health check default | TCP on port | HTTP on /ping |
| VPC | Via VPC connector | VPC-native (awsvpc) |
| Load balancer | Internal NLB, not accessible | ALB, fully accessible, shared up to 25 services |
| Source code deploy | Supported | Container image based (containerize source-code services first) |
| App Runner | Fargate CPU | Fargate Memory |
|---|---|---|
| 0.25 vCPU / 0.5 GB | 256 | 512 |
| 0.5 vCPU / 1 GB | 512 | 1024 |
| 1 vCPU / 2 GB | 1024 | 2048 |
| 1 vCPU / 3 GB | 1024 | 3072 |
| 2 vCPU / 4 GB | 2048 | 4096 |
| 4 vCPU / 8 GB | 4096 | 8192 |
| 4 vCPU / 12 GB | 4096 | 12288 |
For simple App Runner services — image-based, public, no VPC connector, no custom domain, non-critical or low-traffic — use this condensed path. Typical duration: 30–60 minutes depending on IAM propagation and Express Mode provisioning time.
Eligibility check: describe-service on the App Runner service. Confirm all:
SourceConfiguration.ImageRepository is set (not CodeRepository)NetworkConfiguration.EgressConfiguration.VpcConnectorArnlist-custom-domains returns empty)If any fail, fall back to the full migration-workflow.md.
Quick path:
describe-service — image URI, port, env vars, CPU/memory, health check path.ecs-tasks.amazonaws.com with AmazonECSTaskExecutionRolePolicyecs.amazonaws.com with the Express Mode managed policy (look up via awsknowledge)create-express-gateway-service with --monitor-resources. Map CPU/memory per the table above. Wait for ACTIVE.*.ecs.<region>.on.aws URL.Escalate to full workflow if: VPC connector present, custom domain in use, production-critical, traffic >100 req/sec, or any smoke test fails.
For services that don't qualify for Quick Migrate, follow the 9-step workflow in references/migration-workflow.md:
See references/cost-comparison.md for the full cost comparison workflow. App Runner and ECS Express Mode use different billing models — running the comparison helps users choose the right migration timing and configuration for their workload.
The workflow produces AWS CLI commands by default. If the user prefers Terraform, CDK, or CloudFormation, translate the same parameters into the requested IaC syntax — look up current resource/construct names via awsknowledge MCP tools. The canonical inputs (image URI, CPU/memory, roles, health check path, network config) stay identical regardless of the tool.
See references/waf-cloudfront.md. Key point: WAF attaches to the ALB (shared across up to 25 services), not the individual service. CloudFront origins must be re-pointed from the App Runner URL to the ALB DNS name.
If the App Runner service deploys from source code (not a container image), it must be containerized first. Generate a Dockerfile and push to ECR. Express Mode only accepts container images.
awsknowledge MCP tools at the time of use.--scaling-target if needed.awsknowledge MCP tools for the latest syntax.ecs — ECS architecture, launch type selection, task definitions, and Express Mode referencemigration-advisor (agent) — Multi-cloud migration assessment and wave planningiam — IAM role design and least-privilege policiesnetworking — VPC, subnet, and security group designcost-check — AWS cost estimation and optimizationcloudfront — CDN configuration for ECS-backed services原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。