Esta documentación es para la versión 1 de AWS CLI. Para obtener documentación relacionada con la versión 2 de AWS CLI, consulte la Guía del usuario de la versión 2.
En los siguientes ejemplos de código, se muestra cómo realizar acciones e implementar escenarios comunes usando AWS Command Line Interface con Shield.
Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.
En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.
Temas
Acciones
En el siguiente ejemplo de código, se muestra cómo utilizar associate-drt-log-bucket
.
- AWS CLI
-
Para autorizar al DRT acceder al bucket de Amazon S3
En el siguiente ejemplo de
associate-drt-log-bucket
, se crea una asociación entre el DRT y el bucket de S3 especificado. Esto permite que el DRT acceda al bucket en nombre de la cuenta.aws shield associate-drt-log-bucket \ --log-bucket
flow-logs-for-website-lb
Este comando no genera ninguna salida.
Para obtener más información, consulte Configuración del soporte de AWS Shield Response Team (SRT) para responder a eventos DDoS en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener detalles sobre la API, consulte AssociateDrtLogBucket
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar associate-drt-role
.
- AWS CLI
-
Para autorizar al DRT a mitigar los posibles ataques en su nombre
En el siguiente ejemplo de
associate-drt-role
, se crea una asociación entre el DRT y el rol especificado. El DRT puede usar el rol para acceder a la cuenta y administrarla.aws shield associate-drt-role \ --role-arn
arn:aws:iam::123456789012:role/service-role/DrtRole
Este comando no genera ninguna salida.
Para obtener más información, consulte Configuración del soporte de AWS Shield Response Team (SRT) para responder a eventos DDoS en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte AssociateDrtRole
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-protection
.
- AWS CLI
-
Para habilitar la protección AWS Shield Avanzado para un solo recurso de AWS
En el siguiente ejemplo de
create-protection
, se habilita la protección Shield Avanzado para la distribución de AWS CloudFront especificada.aws shield create-protection \ --name
"Protection for CloudFront distribution"
\ --resource-arnarn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8
Salida:
{ "ProtectionId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" }
Para obtener más información, consulte Cómo agregar y configurar protecciones de recursos con Shield Advanced en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte CreateProtection
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar create-subscription
.
- AWS CLI
-
Para habilitar la protección AWS Shield Avanzado para una cuenta
En el siguiente ejemplo de
create-subscription
, se habilita la protección Shield Avanzado para la cuenta.aws shield create-subscription
Este comando no genera ninguna salida.
Para obtener más información, consulte Configuración de AWS Shield Advanced en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte CreateSubscription
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar delete-protection
.
- AWS CLI
-
Para eliminar la protección AWS Shield Avanzado de un recurso de AWS
En el siguiente ejemplo de
delete-protection
, se elimina la protección AWS Shield Avanzado especificada.aws shield delete-protection \ --protection-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
Este comando no genera ninguna salida.
Para obtener más información, consulte Eliminar la protección de AWS Shield Avanzado desde un recurso de AWS en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte DeleteProtection
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-attack
.
- AWS CLI
-
Para recuperar una descripción detallada de un ataque
En el siguiente ejemplo de
describe-attack
, se muestran los detalles del ataque DDoS con el ID de ataque especificado. Puede obtener los ID de ataque ejecutando el comandolist-attacks
.aws shield describe-attack --attack-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE22222
Salida:
{ "Attack": { "AttackId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", "ResourceArn": "arn:aws:elasticloadbalancing:us-west-2:123456789012:loadbalancer/testElb", "SubResources": [ { "Type": "IP", "Id": "192.0.2.2", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 11786208.0, "N": 12, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.3", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 9821840.0, "N": 10, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.4", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 7857472.0, "N": 8, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.5", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 1964368.0, "N": 2, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "2001:DB8::bcde:4321:8765:0:0", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 1964368.0, "N": 2, "Unit": "BPS" } ] } ], "Counters": [] }, { "Type": "IP", "Id": "192.0.2.6", "AttackVectors": [ { "VectorType": "SYN_FLOOD", "VectorCounters": [ { "Name": "SYN_FLOOD_BPS", "Max": 982184.0, "Average": 982184.0, "Sum": 1964368.0, "N": 2, "Unit": "BPS" } ] } ], "Counters": [] } ], "StartTime": 1576024927.457, "EndTime": 1576025647.457, "AttackCounters": [], "AttackProperties": [ { "AttackLayer": "NETWORK", "AttackPropertyIdentifier": "SOURCE_IP_ADDRESS", "TopContributors": [ { "Name": "198.51.100.5", "Value": 2024475682 }, { "Name": "198.51.100.8", "Value": 1311380863 }, { "Name": "203.0.113.4", "Value": 900599855 }, { "Name": "198.51.100.4", "Value": 769417366 }, { "Name": "203.1.113.13", "Value": 757992847 } ], "Unit": "BYTES", "Total": 92773354841 }, { "AttackLayer": "NETWORK", "AttackPropertyIdentifier": "SOURCE_COUNTRY", "TopContributors": [ { "Name": "United States", "Value": 80938161764 }, { "Name": "Brazil", "Value": 9929864330 }, { "Name": "Netherlands", "Value": 1635009446 }, { "Name": "Mexico", "Value": 144832971 }, { "Name": "Japan", "Value": 45369000 } ], "Unit": "BYTES", "Total": 92773354841 }, { "AttackLayer": "NETWORK", "AttackPropertyIdentifier": "SOURCE_ASN", "TopContributors": [ { "Name": "12345", "Value": 74953625841 }, { "Name": "12346", "Value": 4440087595 }, { "Name": "12347", "Value": 1635009446 }, { "Name": "12348", "Value": 1221230000 }, { "Name": "12349", "Value": 1199425294 } ], "Unit": "BYTES", "Total": 92755479921 } ], "Mitigations": [] } }
Para obtener más información, consulte Visibilidad de los eventos de DDoS en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte DescribeAttack
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-drt-access
.
- AWS CLI
-
Para obtener una descripción de las autorizaciones de las que dispone el DRT para mitigar los ataques en su nombre
En el siguiente ejemplo de
describe-drt-access
, se recuperan las autorizaciones de rol y bucket de S3 de las que dispone el DRT, que le permiten responder a posibles ataques en su nombre.aws shield describe-drt-access
Salida:
{ "RoleArn": "arn:aws:iam::123456789012:role/service-role/DrtRole", "LogBucketList": [ "flow-logs-for-website-lb" ] }
Para obtener más información, consulte Configuración del soporte de AWS Shield Response Team (SRT) para responder a eventos DDoS en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte DescribeDrtAccess
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-emergency-contact-settings
.
- AWS CLI
-
Para recuperar las direcciones de correo electrónico de emergencia que tenga archivadas con el DRT
En el siguiente ejemplo de
describe-emergency-contact-settings
, se recuperan las direcciones de correo electrónico archivadas en el DRT de la cuenta. Estas son las direcciones con las que debe contactar el DRT al responder a un presunto ataque.aws shield describe-emergency-contact-settings
Salida:
{ "EmergencyContactList": [ { "EmailAddress": "ops@example.com" }, { "EmailAddress": "ddos-notifications@example.com" } ] }
Para obtener más información, consulte Cómo funcionan AWS Shield y Shield Advanced<https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html> en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte DescribeEmergencyContactSettings
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-protection
.
- AWS CLI
-
Para recuperar los detalles de una protección AWS Shield Avanzado
En el siguiente ejemplo de
describe-protection
, se muestran detalles sobre la protección Shield Avanzado con el ID especificado. Puede obtener los ID de protección ejecutando el comandolist-protections
.aws shield describe-protection \ --protection-id
a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
Salida:
{ "Protection": { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "1.2.3.4", "ResourceArn": "arn:aws:ec2:us-west-2:123456789012:eip-allocation/eipalloc-0ac1537af40742a6d" } }
Para obtener más información, consulte Cómo agregar y configurar protecciones de recursos con Shield Advanced en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener detalles sobre la API, consulte DescribeProtection
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar describe-subscription
.
- AWS CLI
-
Para recuperar los detalles de la protección AWS Shield Avanzado de la cuenta
En el siguiente ejemplo de
describe-subscription
, se muestran detalles sobre la protección Shield Avanzado proporcionada para la cuenta.aws shield describe-subscription
Salida:
{ "Subscription": { "StartTime": 1534368978.0, "EndTime": 1597613778.0, "TimeCommitmentInSeconds": 63244800, "AutoRenew": "ENABLED", "Limits": [ { "Type": "GLOBAL_ACCELERATOR", "Max": 1000 }, { "Type": "ROUTE53_HOSTED_ZONE", "Max": 1000 }, { "Type": "CF_DISTRIBUTION", "Max": 1000 }, { "Type": "ELB_LOAD_BALANCER", "Max": 1000 }, { "Type": "EC2_ELASTIC_IP_ALLOCATION", "Max": 1000 } ] } }
Para obtener más información, consulte Cómo funcionan AWS Shield y Shield Advanced en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte DescribeSubscription
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar disassociate-drt-log-bucket
.
- AWS CLI
-
Para eliminar la autorización para que el DRT obtenga acceso a un bucket de Amazon S3 en su nombre
En el siguiente ejemplo de
disassociate-drt-log-bucket
, se elimina la asociación entre el DRT y el bucket de S3 especificado. Una vez completado este comando, el DRT ya no podrá acceder al bucket en nombre de la cuenta.aws shield disassociate-drt-log-bucket \ --log-bucket
flow-logs-for-website-lb
Este comando no genera ninguna salida.
Para obtener más información, consulte Configuración del soporte de AWS Shield Response Team (SRT) para responder a eventos DDoS en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte DisassociateDrtLogBucket
en la Referencia de la comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar disassociate-drt-role
.
- AWS CLI
-
Para eliminar la autorización para que el DRT mitigue posibles ataques en su nombre
En el siguiente ejemplo de
disassociate-drt-role
, se elimina la asociación entre el DRT y la cuenta. Tras esta llamada, el DRT ya no podrá acceder a su cuenta ni administrarla.aws shield disassociate-drt-role
Este comando no genera ninguna salida.
Para obtener más información, consulte Configuración del soporte de AWS Shield Response Team (SRT) para responder a eventos DDoS en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte DisassociateDrtRole
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar get-subscription-state
.
- AWS CLI
-
Para recuperar el estado actual de la suscripción a AWS Shield Avanzado de la cuenta
En el siguiente ejemplo de
get-subscription-state
, se recupera el estado de la protección Shield Avanzado para la cuenta.aws shield get-subscription-state
Salida:
{ "SubscriptionState": "ACTIVE" }
Para obtener más información, consulte Cómo funcionan AWS Shield y Shield Advanced en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte GetSubscriptionState
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-attacks
.
- AWS CLI
-
Para recuperar los resúmenes de los ataques de AWS Shield Avanzado
En el siguiente ejemplo de
list-attacks
, se recuperan resúmenes de los ataques de la distribución de AWS CloudFront especificada durante el período de tiempo especificado. La respuesta incluye los ID de ataque que puede proporcionar al comandodescribe-attack
para obtener información detallada sobre un ataque.aws shield list-attacks \ --resource-arns
arn:aws:cloudfront::12345678910:distribution/E1PXMP22ZVFAOR
\ --start-timeFromInclusive=1529280000,ToExclusive=1529300000
Salida:
{ "AttackSummaries": [ { "AttackId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E1PXMP22ZVFAOR", "StartTime": 1529280000.0, "EndTime": 1529449200.0, "AttackVectors": [ { "VectorType": "SYN_FLOOD" } ] } ] }
Para obtener más información, consulte Visibilidad de los eventos de DDoS en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte ListAttacks
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar list-protections
.
- AWS CLI
-
Para recuperar los resúmenes de protección de AWS Shield Avanzado
En el siguiente ejemplo de
list-protections
, se recuperan resúmenes de las protecciones que están habilitadas para la cuenta.aws shield list-protections
Salida:
{ "Protections": [ { "Id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Name": "Protection for CloudFront distribution", "ResourceArn": "arn:aws:cloudfront::123456789012:distribution/E198WC25FXOWY8" } ] }
Para obtener más información, consulte Cómo agregar y configurar protecciones de recursos con Shield Advanced en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte ListProtections
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-emergency-contact-settings
.
- AWS CLI
-
Para definir las direcciones de correo electrónico de emergencia que tenga archivadas con el DRT
En el siguiente ejemplo de
update-emergency-contact-settings
, se definen dos direcciones de correo electrónico con las que el DRT debe contactar cuando responda a un presunto ataque.aws shield update-emergency-contact-settings \ --emergency-contact-list
EmailAddress=ops@example.com
EmailAddress=ddos-notifications@example.com
Este comando no genera ninguna salida.
Para obtener más información, consulte Cómo funcionan AWS Shield y Shield Advanced en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener información sobre la API, consulte UpdateEmergencyContactSettings
en la Referencia de comandos de la AWS CLI.
-
En el siguiente ejemplo de código, se muestra cómo utilizar update-subscription
.
- AWS CLI
-
Para modificar la suscripción a AWS Shield Avanzado de la cuenta
En el siguiente ejemplo de
update-subscription
, se permite la renovación automática de la suscripción a AWS Shield Avanzado de la cuenta.aws shield update-subscription \ --auto-renew
ENABLED
Este comando no genera ninguna salida.
Para obtener más información, consulte Cómo funcionan AWS Shield y Shield Advanced en la Guía para desarrolladores de AWS Shield Avanzado.
-
Para obtener detalles sobre la API, consulte UpdateSubscription
en la Referencia de comandos de la AWS CLI.
-