LocalStack扩展:中断
项目描述
LocalStack中断扩展
[!注意] LocalStack中断扩展不再受支持。请迁移到LocalStack混沌API。
此LocalStack扩展可以模拟任何AWS区域或服务的中断。
先决条件
- LocalStack Pro
- Docker
- Python
安装
在安装扩展之前,请确保您已登录LocalStack。如果不是,请使用以下命令登录
localstack auth login
然后您可以使用以下命令安装此扩展
localstack extensions install localstack-extension-outages
配置
扩展通过API端点进行配置。配置由一系列贪婪评估的规则组成。每个规则包含两个属性:服务名称和区域。您可以在这两个属性中使用*
通配符。
使用以下POST请求启动指定服务/区域对的故障
curl --location --request POST 'http://outages.localhost.localstack.cloud:4566/outages' \
--header 'Content-Type: application/json' \
--data '
[
{
"service": "kms",
"region": "us-east-1"
},
{
"service": "s3",
"region": "us-*"
},
{
"service": "lambda",
"region": "*"
}
]'
激活后,受影响的服务和区域的API调用将返回HTTP 503服务不可用错误。
在上面的示例中,以下受影响
- us-east-1区域中的KMS
- 所有美国区域的S3(us-east-1、us-east-2、us-west-1、us-west-2、us-gov-east-1和us-gov-west-1)
- 所有区域中的Lambda
可以通过在配置中使用空列表来停止中断。以下请求将清除当前配置
curl --location --request POST 'http://outages.localhost.localstack.cloud:4566/outages' \
--header 'Content-Type: application/json' \
--data '[]'
要检索当前配置,请执行以下GET调用
curl --location --request GET 'http://outages.localhost.localstack.cloud:4566/outages'
要将新的服务/区域规则对添加到配置中,请执行以下PATCH调用
curl --location --request PATCH 'http://outages.localhost.localstack.cloud:4566/outages' \
--header 'Content-Type: application/json' \
--data '[{"service": "transcribe", "region": "us-west-1"}]'
要从配置中删除服务/区域规则对,请执行以下DELETE调用
curl --location --request DELETE 'http://outages.localhost.localstack.cloud:4566/outages' \
--header 'Content-Type: application/json' \
--data '[{"service": "transcribe", "region": "us-west-1"}]'
许可证
(c) 2024 LocalStack