{"id":"1eaffe56-14dd-43b2-9006-5ebca6421e27","shortId":"KBrcvc","kind":"skill","title":"ec2","tagline":"AWS EC2 virtual machine management for instances, AMIs, and networking. Use when launching instances, configuring security groups, managing key pairs, troubleshooting connectivity, or automating instance lifecycle.","description":"# AWS EC2\n\nAmazon Elastic Compute Cloud (EC2) provides resizable compute capacity in the cloud. Launch virtual servers, configure networking and security, and manage storage.\n\n## Table of Contents\n\n- [Core Concepts](#core-concepts)\n- [Common Patterns](#common-patterns)\n- [CLI Reference](#cli-reference)\n- [Best Practices](#best-practices)\n- [Troubleshooting](#troubleshooting)\n- [References](#references)\n\n## Core Concepts\n\n### Instance Types\n\n| Category | Example | Use Case |\n|----------|---------|----------|\n| General Purpose | t3, m6i | Web servers, dev environments |\n| Compute Optimized | c6i | Batch processing, gaming |\n| Memory Optimized | r6i | Databases, caching |\n| Storage Optimized | i3, d3 | Data warehousing |\n| Accelerated | p4d, g5 | ML, graphics |\n\n### Purchasing Options\n\n| Option | Description |\n|--------|-------------|\n| On-Demand | Pay by the hour/second |\n| Reserved | 1-3 year commitment, up to 72% discount |\n| Spot | Unused capacity, up to 90% discount |\n| Savings Plans | Flexible commitment-based discount |\n\n### AMI (Amazon Machine Image)\n\nTemplate containing OS, software, and configuration for launching instances.\n\n### Security Groups\n\nVirtual firewalls controlling inbound and outbound traffic.\n\n## Common Patterns\n\n### Launch an Instance\n\n**AWS CLI:**\n\n```bash\n# Create key pair\naws ec2 create-key-pair \\\n  --key-name my-key \\\n  --query 'KeyMaterial' \\\n  --output text > my-key.pem\nchmod 400 my-key.pem\n\n# Create security group\naws ec2 create-security-group \\\n  --group-name web-server-sg \\\n  --description \"Web server security group\" \\\n  --vpc-id vpc-12345678\n\n# Allow SSH and HTTP\naws ec2 authorize-security-group-ingress \\\n  --group-id sg-12345678 \\\n  --protocol tcp \\\n  --port 22 \\\n  --cidr 10.0.0.0/8\n\naws ec2 authorize-security-group-ingress \\\n  --group-id sg-12345678 \\\n  --protocol tcp \\\n  --port 80 \\\n  --cidr 0.0.0.0/0\n\n# Launch instance\naws ec2 run-instances \\\n  --image-id ami-0123456789abcdef0 \\\n  --instance-type t3.micro \\\n  --key-name my-key \\\n  --security-group-ids sg-12345678 \\\n  --subnet-id subnet-12345678 \\\n  --tag-specifications 'ResourceType=instance,Tags=[{Key=Name,Value=web-server}]'\n```\n\n**boto3:**\n\n```python\nimport boto3\n\nec2 = boto3.resource('ec2')\n\ninstances = ec2.create_instances(\n    ImageId='ami-0123456789abcdef0',\n    InstanceType='t3.micro',\n    KeyName='my-key',\n    SecurityGroupIds=['sg-12345678'],\n    SubnetId='subnet-12345678',\n    MinCount=1,\n    MaxCount=1,\n    TagSpecifications=[{\n        'ResourceType': 'instance',\n        'Tags': [{'Key': 'Name', 'Value': 'web-server'}]\n    }]\n)\n\ninstance = instances[0]\ninstance.wait_until_running()\ninstance.reload()\nprint(f\"Instance ID: {instance.id}\")\nprint(f\"Public IP: {instance.public_ip_address}\")\n```\n\n### User Data Script\n\n```bash\naws ec2 run-instances \\\n  --image-id ami-0123456789abcdef0 \\\n  --instance-type t3.micro \\\n  --key-name my-key \\\n  --security-group-ids sg-12345678 \\\n  --subnet-id subnet-12345678 \\\n  --user-data '#!/bin/bash\n    yum update -y\n    yum install -y httpd\n    systemctl start httpd\n    systemctl enable httpd\n    echo \"<h1>Hello from $(hostname)</h1>\" > /var/www/html/index.html\n  '\n```\n\n### Attach IAM Role\n\n```bash\n# Create instance profile\naws iam create-instance-profile \\\n  --instance-profile-name web-server-profile\n\naws iam add-role-to-instance-profile \\\n  --instance-profile-name web-server-profile \\\n  --role-name web-server-role\n\n# Launch with profile\naws ec2 run-instances \\\n  --image-id ami-0123456789abcdef0 \\\n  --instance-type t3.micro \\\n  --iam-instance-profile Name=web-server-profile \\\n  ...\n```\n\n### Create AMI from Instance\n\n```bash\naws ec2 create-image \\\n  --instance-id i-1234567890abcdef0 \\\n  --name \"my-custom-ami-$(date +%Y%m%d)\" \\\n  --description \"Custom AMI with web server\" \\\n  --no-reboot\n```\n\n### Spot Instance Request\n\n```bash\naws ec2 request-spot-instances \\\n  --instance-count 1 \\\n  --type \"one-time\" \\\n  --launch-specification '{\n    \"ImageId\": \"ami-0123456789abcdef0\",\n    \"InstanceType\": \"c5.large\",\n    \"KeyName\": \"my-key\",\n    \"SecurityGroupIds\": [\"sg-12345678\"],\n    \"SubnetId\": \"subnet-12345678\"\n  }' \\\n  --spot-price \"0.05\"\n```\n\n### EBS Volume Management\n\n```bash\n# Create volume\naws ec2 create-volume \\\n  --availability-zone us-east-1a \\\n  --size 100 \\\n  --volume-type gp3 \\\n  --iops 3000 \\\n  --throughput 125 \\\n  --encrypted\n\n# Attach to instance\naws ec2 attach-volume \\\n  --volume-id vol-12345678 \\\n  --instance-id i-1234567890abcdef0 \\\n  --device /dev/sdf\n\n# Create snapshot\naws ec2 create-snapshot \\\n  --volume-id vol-12345678 \\\n  --description \"Daily backup\"\n```\n\n## CLI Reference\n\n### Instance Management\n\n| Command | Description |\n|---------|-------------|\n| `aws ec2 run-instances` | Launch instances |\n| `aws ec2 describe-instances` | List instances |\n| `aws ec2 start-instances` | Start stopped instances |\n| `aws ec2 stop-instances` | Stop running instances |\n| `aws ec2 reboot-instances` | Reboot instances |\n| `aws ec2 terminate-instances` | Terminate instances |\n| `aws ec2 modify-instance-attribute` | Modify instance settings |\n\n### Security Groups\n\n| Command | Description |\n|---------|-------------|\n| `aws ec2 create-security-group` | Create security group |\n| `aws ec2 describe-security-groups` | List security groups |\n| `aws ec2 authorize-security-group-ingress` | Add inbound rule |\n| `aws ec2 revoke-security-group-ingress` | Remove inbound rule |\n| `aws ec2 authorize-security-group-egress` | Add outbound rule |\n\n### AMIs\n\n| Command | Description |\n|---------|-------------|\n| `aws ec2 describe-images` | List AMIs |\n| `aws ec2 create-image` | Create AMI from instance |\n| `aws ec2 copy-image` | Copy AMI to another region |\n| `aws ec2 deregister-image` | Delete AMI |\n\n### EBS Volumes\n\n| Command | Description |\n|---------|-------------|\n| `aws ec2 create-volume` | Create EBS volume |\n| `aws ec2 attach-volume` | Attach to instance |\n| `aws ec2 detach-volume` | Detach from instance |\n| `aws ec2 create-snapshot` | Create snapshot |\n| `aws ec2 modify-volume` | Resize/modify volume |\n\n## Best Practices\n\n### Security\n\n- **Use IAM roles** instead of access keys on instances\n- **Restrict security groups** — principle of least privilege\n- **Use private subnets** for backend instances\n- **Enable IMDSv2** to prevent SSRF attacks\n- **Encrypt EBS volumes** at rest\n\n```bash\n# Require IMDSv2\naws ec2 modify-instance-metadata-options \\\n  --instance-id i-1234567890abcdef0 \\\n  --http-tokens required \\\n  --http-endpoint enabled\n```\n\n### Performance\n\n- **Right-size instances** — monitor and adjust\n- **Use EBS-optimized instances**\n- **Choose appropriate EBS volume type**\n- **Use placement groups** for low-latency networking\n\n### Cost Optimization\n\n- **Use Spot Instances** for fault-tolerant workloads\n- **Stop/terminate unused instances**\n- **Use Reserved Instances** for steady-state workloads\n- **Delete unused EBS volumes and snapshots**\n\n### Reliability\n\n- **Use Auto Scaling Groups** for high availability\n- **Deploy across multiple AZs**\n- **Use Elastic Load Balancer** for traffic distribution\n- **Implement health checks**\n\n## Troubleshooting\n\n### Cannot SSH to Instance\n\n**Checklist:**\n\n1. Security group allows SSH (port 22) from your IP\n2. Instance has public IP or use bastion/SSM\n3. Key pair matches instance\n4. Instance is running\n5. Network ACL allows traffic\n\n```bash\n# Check security group\naws ec2 describe-security-groups --group-ids sg-12345678\n\n# Check instance state\naws ec2 describe-instances \\\n  --instance-ids i-1234567890abcdef0 \\\n  --query \"Reservations[].Instances[].{State:State.Name,PublicIP:PublicIpAddress}\"\n```\n\n**Use Session Manager instead:**\n\n```bash\naws ssm start-session --target i-1234567890abcdef0\n```\n\n### Instance Won't Start\n\n**Causes:**\n- Reached instance limits\n- Insufficient capacity in AZ\n- EBS volume issue\n- Invalid AMI\n\n```bash\n# Check instance state reason\naws ec2 describe-instances \\\n  --instance-ids i-1234567890abcdef0 \\\n  --query \"Reservations[].Instances[].StateReason\"\n```\n\n### Instance Unreachable\n\n**Debug:**\n\n```bash\n# Check instance status\naws ec2 describe-instance-status \\\n  --instance-ids i-1234567890abcdef0\n\n# Get console output\naws ec2 get-console-output \\\n  --instance-id i-1234567890abcdef0\n\n# Get screenshot (for Windows/GUI issues)\naws ec2 get-console-screenshot \\\n  --instance-id i-1234567890abcdef0\n```\n\n### High CPU/Memory\n\n```bash\n# Enable detailed monitoring\naws ec2 monitor-instances \\\n  --instance-ids i-1234567890abcdef0\n\n# Check CloudWatch metrics\naws cloudwatch get-metric-statistics \\\n  --namespace AWS/EC2 \\\n  --metric-name CPUUtilization \\\n  --dimensions Name=InstanceId,Value=i-1234567890abcdef0 \\\n  --start-time $(date -d '1 hour ago' -u +%Y-%m-%dT%H:%M:%SZ) \\\n  --end-time $(date -u +%Y-%m-%dT%H:%M:%SZ) \\\n  --period 300 \\\n  --statistics Average\n```\n\n## References\n\n- [EC2 User Guide](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/)\n- [EC2 API Reference](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/)\n- [EC2 CLI Reference](https://docs.aws.amazon.com/cli/latest/reference/ec2/)\n- [boto3 EC2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html)","tags":["ec2","aws","agent","skills","itsmostafa","agent-skills","agentic-ai","claude-code","claude-skills","codex","coding-agents"],"capabilities":["skill","source-itsmostafa","skill-ec2","topic-agent-skills","topic-agentic-ai","topic-aws","topic-claude-code","topic-claude-skills","topic-codex","topic-coding-agents"],"categories":["aws-agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/itsmostafa/aws-agent-skills/ec2","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add itsmostafa/aws-agent-skills","source_repo":"https://github.com/itsmostafa/aws-agent-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 1085 github stars · SKILL.md body (9,108 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-03T00:52:58.424Z","embedding":null,"createdAt":"2026-04-18T21:55:40.139Z","updatedAt":"2026-05-03T00:52:58.424Z","lastSeenAt":"2026-05-03T00:52:58.424Z","tsv":"'-12345678':229,245,264,300,305,340,343,407,412,573,576,622,642,1022 '-3':130 '/0':271 '/8':252 '/awsec2/latest/apireference/)':1227 '/awsec2/latest/userguide/)':1221 '/bin/bash':416 '/cli/latest/reference/ec2/)':1233 '/dev/sdf':630 '/v1/documentation/api/latest/reference/services/ec2.html)':1238 '/var/www/html/index.html':434 '0':360 '0.0.0.0':270 '0.05':580 '0123456789abcdef0':284,331,391,492,564 '1':129,345,347,553,976,1190 '10.0.0.0':251 '100':600 '1234567890abcdef0':521,628,886,1036,1057,1090,1113,1128,1145,1162,1184 '125':608 '1a':598 '2':986 '22':249,982 '3':994 '300':1212 '3000':606 '4':999 '400':202 '5':1003 '72':135 '80':268 '90':142 'acceler':112 'access':843 'acl':1005 'across':957 'add':459,734,754 'add-role-to-instance-profil':458 'address':376 'adjust':902 'ago':1192 'allow':230,979,1006 'amazon':30,152 'ami':9,151,283,330,390,491,507,526,533,563,757,766,773,782,792,1074 'ami-0123456789abcdef0':282,329,389,490,562 'anoth':784 'api':1223 'appropri':909 'attach':435,610,616,808,810 'attach-volum':615,807 'attack':865 'attribut':701 'author':237,256,730,750 'authorize-security-group-egress':749 'authorize-security-group-ingress':236,255,729 'auto':950 'autom':25 'avail':593,955 'availability-zon':592 'averag':1214 'aw':2,28,178,184,207,234,253,274,381,442,456,482,511,544,587,613,633,652,659,666,674,682,689,696,709,718,727,737,747,760,767,776,786,797,805,813,821,828,874,1012,1026,1049,1080,1102,1117,1134,1152,1166 'aws/ec2':1173 'az':959,1069 'backend':858 'backup':645 'balanc':963 'base':149 'bash':180,380,438,510,543,584,871,1008,1048,1075,1098,1148 'bastion/ssm':993 'batch':98 'best':70,73,835 'best-practic':72 'boto3':318,321,1234 'boto3.amazonaws.com':1237 'boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html)':1236 'boto3.resource':323 'c5.large':566 'c6i':97 'cach':105 'cannot':971 'capac':38,139,1067 'case':86 'categori':83 'caus':1062 'check':969,1009,1023,1076,1099,1163 'checklist':975 'chmod':201 'choos':908 'cidr':250,269 'cli':65,68,179,646,1229 'cli-refer':67 'cloud':33,41 'cloudwatch':1164,1167 'command':650,707,758,795 'commit':132,148 'commitment-bas':147 'common':60,63,173 'common-pattern':62 'comput':32,37,95 'concept':56,59,80 'configur':16,45,160 'connect':23 'consol':1115,1121,1138 'contain':156 'content':54 'control':168 'copi':779,781 'copy-imag':778 'core':55,58,79 'core-concept':57 'cost':921 'count':552 'cpu/memory':1147 'cpuutil':1177 'creat':181,187,204,210,439,445,506,514,585,590,631,636,712,715,770,772,800,802,824,826 'create-imag':513,769 'create-instance-profil':444 'create-key-pair':186 'create-security-group':209,711 'create-snapshot':635,823 'create-volum':589,799 'custom':525,532 'd':530,1189 'd3':109 'daili':644 'data':110,378,415 'databas':104 'date':527,1188,1203 'debug':1097 'delet':791,942 'demand':123 'deploy':956 'deregist':789 'deregister-imag':788 'describ':662,721,763,1015,1029,1083,1105 'describe-imag':762 'describe-inst':661,1028,1082 'describe-instance-status':1104 'describe-security-group':720,1014 'descript':120,220,531,643,651,708,759,796 'detach':816,818 'detach-volum':815 'detail':1150 'dev':93 'devic':629 'dimens':1178 'discount':136,143,150 'distribut':966 'docs.aws.amazon.com':1220,1226,1232 'docs.aws.amazon.com/awsec2/latest/apireference/)':1225 'docs.aws.amazon.com/awsec2/latest/userguide/)':1219 'docs.aws.amazon.com/cli/latest/reference/ec2/)':1231 'dt':1196,1207 'east':597 'eb':581,793,803,867,905,910,944,1070 'ebs-optim':904 'ec2':1,3,29,34,185,208,235,254,275,322,324,382,483,512,545,588,614,634,653,660,667,675,683,690,697,710,719,728,738,748,761,768,777,787,798,806,814,822,829,875,1013,1027,1081,1103,1118,1135,1153,1216,1222,1228,1235 'ec2.create':326 'echo':430 'egress':753 'elast':31,961 'enabl':428,860,894,1149 'encrypt':609,866 'end':1201 'end-tim':1200 'endpoint':893 'environ':94 'exampl':84 'f':366,371 'fault':928 'fault-toler':927 'firewal':167 'flexibl':146 'g5':114 'game':100 'general':87 'get':1114,1120,1129,1137,1169 'get-console-output':1119 'get-console-screenshot':1136 'get-metric-statist':1168 'gp3':604 'graphic':116 'group':18,165,206,212,214,224,239,242,258,261,297,404,706,714,717,723,726,732,742,752,849,915,952,978,1011,1017,1019 'group-id':241,260,1018 'group-nam':213 'guid':1218 'h':1197,1208 'health':968 'hello':431 'high':954,1146 'hostnam':433 'hour':1191 'hour/second':127 'http':233,888,892 'http-endpoint':891 'http-token':887 'httpd':423,426,429 'i-1234567890abcdef0':519,626,884,1034,1055,1088,1111,1126,1143,1160,1182 'i3':108 'iam':436,443,457,498,839 'iam-instance-profil':497 'id':227,243,262,281,298,303,368,388,405,410,489,518,620,625,640,883,1020,1033,1087,1110,1125,1142,1159 'imag':154,280,387,488,515,764,771,780,790 'image-id':279,386,487 'imageid':328,561 'imdsv2':861,873 'implement':967 'import':320 'inbound':169,735,745 'ingress':240,259,733,743 'instal':421 'instanc':8,15,26,81,163,177,273,278,286,310,325,327,350,358,359,367,385,393,440,446,449,462,465,486,494,499,509,517,541,549,551,612,624,648,656,658,663,665,670,673,678,681,686,688,693,695,700,703,775,812,820,846,859,878,882,899,907,925,933,936,974,987,998,1000,1024,1030,1032,1039,1058,1064,1077,1084,1086,1093,1095,1100,1106,1109,1124,1141,1156,1158 'instance-count':550 'instance-id':516,623,881,1031,1085,1108,1123,1140,1157 'instance-profile-nam':448,464 'instance-typ':285,392,493 'instance.id':369 'instance.public':374 'instance.reload':364 'instance.wait':361 'instanceid':1180 'instancetyp':332,565 'instead':841,1047 'insuffici':1066 'invalid':1073 'iop':605 'ip':373,375,985,990 'issu':1072,1133 'key':20,182,188,191,195,290,294,312,337,352,397,401,570,844,995 'key-nam':190,289,396 'keymateri':197 'keynam':334,567 'latenc':919 'launch':14,42,162,175,272,479,559,657 'launch-specif':558 'least':852 'lifecycl':27 'limit':1065 'list':664,724,765 'load':962 'low':918 'low-lat':917 'm':529,1195,1198,1206,1209 'm6i':90 'machin':5,153 'manag':6,19,50,583,649,1046 'match':997 'maxcount':346 'memori':101 'metadata':879 'metric':1165,1170,1175 'metric-nam':1174 'mincount':344 'ml':115 'modifi':699,702,831,877 'modify-instance-attribut':698 'modify-instance-metadata-opt':876 'modify-volum':830 'monitor':900,1151,1155 'monitor-inst':1154 'multipl':958 'my-custom-ami':523 'my-key':193,292,335,399,568 'my-key.pem':200,203 'name':192,215,291,313,353,398,451,467,474,501,522,1176,1179 'namespac':1172 'network':11,46,920,1004 'no-reboot':537 'on-demand':121 'one':556 'one-tim':555 'optim':96,102,107,906,922 'option':118,119,880 'os':157 'outbound':171,755 'output':198,1116,1122 'p4d':113 'pair':21,183,189,996 'pattern':61,64,174 'pay':124 'perform':895 'period':1211 'placement':914 'plan':145 'port':248,267,981 'practic':71,74,836 'prevent':863 'price':579 'principl':850 'print':365,370 'privat':855 'privileg':853 'process':99 'profil':441,447,450,455,463,466,471,481,500,505 'protocol':246,265 'provid':35 'public':372,989 'publicip':1042 'publicipaddress':1043 'purchas':117 'purpos':88 'python':319 'queri':196,1037,1091 'r6i':103 'reach':1063 'reason':1079 'reboot':539,685,687 'reboot-inst':684 'refer':66,69,77,78,647,1215,1224,1230 'region':785 'reliabl':948 'remov':744 'request':542,547 'request-spot-inst':546 'requir':872,890 'reserv':128,935,1038,1092 'resiz':36 'resize/modify':833 'resourcetyp':309,349 'rest':870 'restrict':847 'revok':740 'revoke-security-group-ingress':739 'right':897 'right-siz':896 'role':437,460,473,478,840 'role-nam':472 'rule':736,746,756 'run':277,363,384,485,655,680,1002 'run-inst':276,383,484,654 'save':144 'scale':951 'screenshot':1130,1139 'script':379 'secur':17,48,164,205,211,223,238,257,296,403,705,713,716,722,725,731,741,751,837,848,977,1010,1016 'security-group-id':295,402 'securitygroupid':338,571 'server':44,92,218,222,317,357,454,470,477,504,536 'session':1045,1053 'set':704 'sg':219,244,263,299,339,406,572,1021 'size':599,898 'skill' 'skill-ec2' 'snapshot':632,637,825,827,947 'softwar':158 'source-itsmostafa' 'specif':308,560 'spot':137,540,548,578,924 'spot-pric':577 'ssh':231,972,980 'ssm':1050 'ssrf':864 'start':425,669,671,1052,1061,1186 'start-inst':668 'start-sess':1051 'start-tim':1185 'state':940,1025,1040,1078 'state.name':1041 'statereason':1094 'statist':1171,1213 'status':1101,1107 'steadi':939 'steady-st':938 'stop':672,677,679 'stop-inst':676 'stop/terminate':931 'storag':51,106 'subnet':302,304,342,409,411,575,856 'subnet-id':301,408 'subnetid':341,574 'systemctl':424,427 'sz':1199,1210 't3':89 't3.micro':288,333,395,496 'tabl':52 'tag':307,311,351 'tag-specif':306 'tagspecif':348 'target':1054 'tcp':247,266 'templat':155 'termin':692,694 'terminate-inst':691 'text':199 'throughput':607 'time':557,1187,1202 'token':889 'toler':929 'topic-agent-skills' 'topic-agentic-ai' 'topic-aws' 'topic-claude-code' 'topic-claude-skills' 'topic-codex' 'topic-coding-agents' 'traffic':172,965,1007 'troubleshoot':22,75,76,970 'type':82,287,394,495,554,603,912 'u':1193,1204 'unreach':1096 'unus':138,932,943 'updat':418 'us':596 'us-east-1a':595 'use':12,85,838,854,903,913,923,934,949,960,992,1044 'user':377,414,1217 'user-data':413 'valu':314,354,1181 'virtual':4,43,166 'vol':621,641 'volum':582,586,591,602,617,619,639,794,801,804,809,817,832,834,868,911,945,1071 'volume-id':618,638 'volume-typ':601 'vpc':226,228 'vpc-id':225 'wareh':111 'web':91,217,221,316,356,453,469,476,503,535 'web-serv':315,355 'web-server-profil':452,468,502 'web-server-rol':475 'web-server-sg':216 'windows/gui':1132 'won':1059 'workload':930,941 'y':419,422,528,1194,1205 'year':131 'yum':417,420 'zone':594","prices":[{"id":"9a60b82e-d9f8-4a25-af66-85126d1d33b9","listingId":"1eaffe56-14dd-43b2-9006-5ebca6421e27","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"itsmostafa","category":"aws-agent-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:55:40.139Z"}],"sources":[{"listingId":"1eaffe56-14dd-43b2-9006-5ebca6421e27","source":"github","sourceId":"itsmostafa/aws-agent-skills/ec2","sourceUrl":"https://github.com/itsmostafa/aws-agent-skills/tree/main/skills/ec2","isPrimary":false,"firstSeenAt":"2026-04-18T21:55:40.139Z","lastSeenAt":"2026-05-03T00:52:58.424Z"}],"details":{"listingId":"1eaffe56-14dd-43b2-9006-5ebca6421e27","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"itsmostafa","slug":"ec2","github":{"repo":"itsmostafa/aws-agent-skills","stars":1085,"topics":["agent-skills","agentic-ai","aws","claude-code","claude-skills","codex","coding-agents"],"license":"mit","html_url":"https://github.com/itsmostafa/aws-agent-skills","pushed_at":"2026-04-27T09:45:24Z","description":"AWS Skills for Agents","skill_md_sha":"0f592a67661725d3663707afd2c49518e2fe252f","skill_md_path":"skills/ec2/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/itsmostafa/aws-agent-skills/tree/main/skills/ec2"},"layout":"multi","source":"github","category":"aws-agent-skills","frontmatter":{"name":"ec2","description":"AWS EC2 virtual machine management for instances, AMIs, and networking. Use when launching instances, configuring security groups, managing key pairs, troubleshooting connectivity, or automating instance lifecycle."},"skills_sh_url":"https://skills.sh/itsmostafa/aws-agent-skills/ec2"},"updatedAt":"2026-05-03T00:52:58.424Z"}}