LocalStack是一款专业的本地AWS云堆栈。如果你需要部署云应用你一定不能错过LocalStack。您可以部署ACM,API网关,DynamoDB,Elasticsearch Services等资源,以便开发云服务和云应用程序,软件提供模拟框架,您可以在计算机上创建测试环境,此环境提供真正的AWS云相同功能和API,您可以运行Lambda函数,将数据存储到DynamoDB表,通过Kinesis流提供事件,并将应用程序放在API网关后面,等等。所有这一切都在当地的计算机上发生,而无需与云对话进行交谈,本地易于执行云服务,软件还支持物联网,Kinesis数据分析,Lambda层和集装箱图像,Kafka(MSK)托管的流等。 API帮助您部署更多云服务功能!
软件特色:
什么是lopalstack?
LocalStack为开发云应用程序提供易于使用的测试/模拟框架。它在本地计算机上启动了一个测试环境,提供了与真正的AWS云环境相同的功能和API。
是的,它是正确的 - 可以运行Lambda函数,将数据存储到DynamoDB表,通过Kinesis流提供事件,并将应用程序放在PI网关后面,等等。所有这些都发生在您当地的计算机上,而无需与云交谈。
图说明了由LocalStack支持的有效的开发/测试和部署管道。
1,您的应用程序在本地开发人员计算机上完全开发。 localstack在本地容器中配置所有必需的“云”资源。
2.更改通常按下运行自动化测试的连续集成服务器。 LocalStack在连续集成服务器环境中配置了所有必要的“云”资源。
3.一旦所有测试变为绿色,您可以切换,然后将应用程序部署到真正的AWS云环境。
毋庸置疑,这取得了极其有效的发展周期和团队合作。上传应用程序代码不再笨重运行快速测试。无需在AWS上昂贵的测试资源中花费任何钱!
安装方法:
安装
LocalStack易于安装,可以高度配置。
先决条件
Docker:安装localstack的推荐方法是使用Docker
python:安装所需的LocalStack命令行界面(CLI)
安装
安装localstack的最简单方法是通过pip:
pip安装lopalstack.
然后,您可以列出可用的命令:
lopalstack - 帮助
注意:如果在成功安装本地施用后无法使用该命令,请确保PIP配置有包含二进制文件的文件夹$路径。
环境环境
要使用Pro服务,您需要使用API键进行有效订阅。您的API键在订阅页面上列出,可以使用环境变量激活localstack_api_key。
示例:要使用API键键123,请使用环境中的以下命令:
导出localstack_api_key = key123
重要提示:如果要发布任何命令,日志或屏幕截图(例如,在Github或Community Slack Channel中),请务必从输出中隐藏或删除本地静电_API_KEY变量!
启动
要在本地Docker环境中启动LocalStack平台,请执行以下操作:
服务= ... localstack start
环境变量服务是逗号分隔的服务列表,我们建议使用要启动的服务列表(例如Services = Lambda,S3,Cognito,RDS)来保持较低的内存,并优化性能。
在Docker中运行撰写
或者,您可以使用Docker撰写来启动LocalStack。以下是docker-compose.yml可以用作起始点的示例配置文件(请务必填写localstack_api_key,并且端口范围对应您要启动的服务):
注意:确保将持久临时文件夹已安装/ tmp / localstack到容器,因为启用了API密钥缓存,允许您脱机(请参阅此部分)获取更多详细信息。
配置
有关LocalStack的常规配置选项列表,请参阅公共github存储库中的自述文件:https://github.com/localstack/lo
Calstack.
此外,ocalStack Process提供了以下配置,可以配置为环境变量:
dns_address:本地DNS服务器应绑定到IP地址(默认值:) 0.0.0.0.0。它可以配置为避免端口冲突(如果DNS服务器已在localhostport上运行)53.设置为0或false,以避免DNS端口的完全曝光。
dns_resolve_ip:应该将AWS主机名解析为透明执行模式IP地址(默认值:) 127.0.0.1。如果您的代码在Docker中运行,则应配置为解析Docker桥接网络地址,例如DNS_RESOLVE_IP = 172.17.0.1。
dns_server:保留DNS服务器,用于解析非AWS DNS名称(默认值:) 8.8.8.8。
dns_local_name_patterns:逗号分隔的正则表达式模式列表,用于本地分辨率的DNS名称(例如,'。* CloudFront \ .NET')。可以用来在白名单中包含一些主机名来解析为本地端点,并将任何不匹配的AWS主机名分析到其真正的DNS条目。
CloudFront_static_ports:是否分配每个CloudFront(例如,localhost:4511)使用单独的端口而不是本地解析主机名(例如,abc123.netfront.net)。如果您不想使用本地DNS服务器,这可能很有用。
smtp_host / smtp_user / smtp_past / smtp_user / smtp_pass / smtp_email:smtp配置(主机,用户名,密码和发送器地址)在平台电子邮件中使用(例如,发送Cognito注册确认代码)
Enforce_IAM:处理客户端请求时执行IAM安全策略(默认值:FALSE)
autoStart_Util_Containers:您是否自动启动实用程序容器(例如,EMR Spark / Hadoop,Athena的Presto)
disable_events:mark以禁用匿名使用事件的发送(默认值:) false。 (请注意,这将禁用Web仪表板和所有分析。)
service_instances_ports_start- service_instances_ports_end:创建的服务实例开始和结束,例如,WebSocket的API,RDS实例等(默认值:4510-4530)。
软件优势:
LocalStack在本地计算机上启动以下核心云API。
注意:从版本开始0.11.0,默认情况下,所有API均由单边级服务公开,默认情况下,对HTTP:// localhost上的此边缘服务访问:4566:
ACM.
API网关
CloudFormation.
CloudWatch.
CloudWatch日志
DynamoDB.
DynamoDB Streams.
EC2
Elasticsearch服务
EventBridge(CloudWatch Events)
消防水带
我是
kinesis.
KMS.
lambda.
红移
Route53.
S3.
秘密管理员
SES.
SNS.
SQS.
SSM.
继职业
STS.
除了上面的外,LocalStack Pro版本还支持其他API和高级功能,包括:
放大
API Gateway V2(WebSockets支持)
应用自动播放
appsync.
雅典娜
批
冰球
CloudTrail.
Cognito.
ECS / ECR / EKS
elasticach.
ELB / ELBV2.
EMR.
冰川/ S3选择
IAM安全策略执行
IOT.
Kinesis数据分析
lambda层和容器图像
Kafka(MSK)管理流
MediaStore.
海王星图表DB.
QLDB.
RDS / Aurora无服务器
timestream
转移
XRAY.
大多数服务的高级持久支持
互动UIS管理资源
测试报告仪表板
......还有更多的来!
软件特色:
lopalstack-fachang本地aws云堆栈
开发和测试您的云,没有离线服务器应用程序!
LocalStack为开发云应用程序提供易于使用的测试/模拟框架。
目前,重点主要放在AWS云堆栈上。
实现高效的开发和测试循环。应用程序可以在几秒钟内部署在Docker中。
为各种尺寸的开发团队节省大量成本。没有云基础设施。
通过持续集成提高软件质量。停止推出未满款的变化。