Install
$ agentstack add skill-eliecer2000-kiro-bootstrap-aws-cloudfront ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
AWS CloudFront
Skill para configurar Amazon CloudFront como CDN: distribuciones, origins (S3, API Gateway, ALB), cache behaviors, SSL/TLS, WAF, invalidaciones, Lambda@Edge y mejores prácticas de rendimiento.
Principios fundamentales
- HTTPS obligatorio:
ViewerProtocolPolicy: redirect-to-httpssiempre. - Origin Access Control (OAC) para S3 origins. Nunca hacer buckets públicos para servir contenido.
- Cache policies explícitas por path pattern. No depender de defaults.
- WAF habilitado en distribuciones de producción.
- Invalidaciones con moderación. Preferir versionado de assets (hash en filename).
Distribución con S3 origin (CDK)
const distribution = new cloudfront.Distribution(this, 'CDN', {
defaultBehavior: {
origin: origins.S3BucketOrigin.withOriginAccessControl(bucket),
viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS,
cachePolicy: cloudfront.CachePolicy.CACHING_OPTIMIZED,
compress: true,
},
defaultRootObject: 'index.html',
priceClass: cloudfront.PriceClass.PRICE_CLASS_100,
minimumProtocolVersion: cloudfront.SecurityPolicyProtocol.TLS_V1_2_2021,
});
Distribución con API Gateway origin (CDK)
const apiOrigin = new origins.HttpOrigin(
`${api.restApiId}.execute-api.${cdk.Aws.REGION}.amazonaws.com`,
{ originPath: '/prod' }
);
distribution.addBehavior('/api/*', apiOrigin, {
viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.HTTPS_ONLY,
cachePolicy: cloudfront.CachePolicy.CACHING_DISABLED,
originRequestPolicy: cloudfront.OriginRequestPolicy.ALL_VIEWER_EXCEPT_HOST_HEADER,
allowedMethods: cloudfront.AllowedMethods.ALLOW_ALL,
});
Cache policies recomendadas
| Tipo de contenido | Cache Policy | TTL | |---|---|---| | Assets estáticos (JS, CSS, imágenes) | CACHINGOPTIMIZED | 1 año (versionado por hash) | | HTML pages | Custom: 5 min | 300s | | API responses | CACHINGDISABLED | 0 (pass-through) | | Media (video, audio) | CACHING_OPTIMIZED | 1 año | | Fonts | Custom: 1 año | 31536000s |
Invalidaciones
# Invalidar archivos específicos
aws cloudfront create-invalidation \
--distribution-id E1234567890 \
--paths "/index.html" "/css/*"
# Invalidar todo (costoso, evitar)
aws cloudfront create-invalidation \
--distribution-id E1234567890 \
--paths "/*"
- Primeras 1000 invalidaciones/mes gratis. Después $0.005 por path.
- Preferir versionado de assets (
app.abc123.js) sobre invalidaciones. - Invalidaciones tardan 5-10 minutos en propagarse globalmente.
WAF con CloudFront (CDK)
const webAcl = new wafv2.CfnWebACL(this, 'WebACL', {
scope: 'CLOUDFRONT',
defaultAction: { allow: {} },
rules: [
{
name: 'AWSManagedRulesCommonRuleSet',
priority: 1,
overrideAction: { none: {} },
statement: {
managedRuleGroupStatement: {
vendorName: 'AWS',
name: 'AWSManagedRulesCommonRuleSet',
},
},
visibilityConfig: {
sampledRequestsEnabled: true,
cloudWatchMetricsEnabled: true,
metricName: 'CommonRuleSet',
},
},
],
visibilityConfig: {
sampledRequestsEnabled: true,
cloudWatchMetricsEnabled: true,
metricName: 'WebACL',
},
});
Anti-patrones a evitar
- ❌ S3 buckets públicos como origin (usar OAC).
- ❌ HTTP sin redirect a HTTPS.
- ❌ Cache de contenido dinámico/personalizado sin cache key adecuada.
- ❌ Invalidaciones masivas frecuentes (usar versionado de assets).
- ❌ Sin WAF en producción.
- ❌ TTL demasiado largo en HTML (usuarios ven versiones viejas).
- ❌ Sin custom error pages (403, 404).
- ❌ Price class ALL cuando el tráfico es solo regional.
Checklist de revisión CloudFront
- [ ] HTTPS obligatorio (redirect-to-https).
- [ ] OAC configurado para S3 origins.
- [ ] Cache policies explícitas por path pattern.
- [ ] WAF habilitado en producción.
- [ ] Custom error pages configuradas (403, 404, 500).
- [ ] Compresión habilitada (gzip/brotli).
- [ ] Price class adecuada al tráfico geográfico.
- [ ] Logging habilitado a S3 bucket.
- [ ] TLS 1.2+ como versión mínima.
- [ ] Assets versionados por hash (no depender de invalidaciones).
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: eliecer2000
- Source: eliecer2000/kiro-bootstrap
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.