tourze / aws-lightsail-bundle
Lightsail
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:symfony-bundle
Requires
- php: ^8.1
- ext-hash: *
- aws/aws-sdk-php: ^3.269
- doctrine/collections: ^2.3
- doctrine/dbal: ^4.0
- doctrine/doctrine-bundle: ^2.13
- doctrine/orm: ^3.0
- doctrine/persistence: ^3.1 || ^4
- easycorp/easyadmin-bundle: ^4
- knplabs/knp-menu: ^3.7
- nesbot/carbon: ^2.72 || ^3
- psr/log: ^3|^2|^1
- symfony/config: ^6.4
- symfony/console: ^6.4
- symfony/dependency-injection: ^6.4
- symfony/doctrine-bridge: ^6.4
- symfony/form: ^6.4
- symfony/http-foundation: ^6.4
- symfony/http-kernel: ^6.4
- symfony/routing: ^6.4
- tourze/doctrine-timestamp-bundle: 0.0.*
- tourze/easy-admin-menu-bundle: 0.1.*
- tourze/enum-extra: 0.1.*
Requires (Dev)
- phpstan/phpstan: ^2.1
- phpunit/phpunit: ^10.0
This package is auto-updated.
Last update: 2025-06-03 04:14:25 UTC
README
用于 Symfony 应用程序的 AWS Lightsail 集成包,提供易于使用的界面,用于管理 Lightsail 资源。
功能特点
- 完整的 AWS Lightsail 资源管理
- 基于 EasyAdmin 的直观管理界面
- 支持多 AWS 账户凭证管理
- 自动同步 AWS Lightsail 资源
安装
composer require tourze/aws-lightsail-bundle
注册 Bundle
# config/bundles.php return [ // ... AwsLightsailBundle\AwsLightsailBundle::class => ['all' => true], ];
配置环境变量
在 .env
或 .env.local
文件中添加以下配置:
AWS_ACCESS_KEY_ID=你的AWS访问密钥ID
AWS_SECRET_ACCESS_KEY=你的AWS访问密钥
AWS_REGION=你的默认区域(例如: us-east-1)
创建数据库表
执行数据库迁移命令创建所需的表:
php bin/console doctrine:schema:update --force
或者使用迁移:
php bin/console doctrine:migrations:diff php bin/console doctrine:migrations:migrate
使用方法
访问管理界面
安装完成后,访问以下 URL 进入管理界面:
https://你的网站/admin/aws-lightsail
添加 AWS 凭证
第一步是在管理界面中添加 AWS 凭证,这样才能管理 Lightsail 资源。
管理 Lightsail 资源
管理界面支持以下资源管理:
- 实例(虚拟服务器)
- 磁盘和快照
- 静态 IP
- 域名和 DNS 管理
- CDN 分发
- 存储桶
- 数据库
- 证书
- 负载均衡器
- 容器服务
- 告警和监控
编程 API
除了管理界面外,还可以通过 PHP 代码直接使用 API:
// 获取实例服务 $instanceService = $container->get(AwsLightsailBundle\Service\InstanceService::class); // 获取所有实例 $instances = $instanceService->getAllInstances(); // 启动实例 $instanceService->startInstance('instance-name'); // 停止实例 $instanceService->stopInstance('instance-name'); // 创建快照 $snapshotService = $container->get(AwsLightsailBundle\Service\SnapshotService::class); $snapshotService->createSnapshot('instance-name', 'snapshot-name');
路由配置
如果需要自定义管理界面路径,可以在 config/routes.yaml
中添加:
aws_lightsail_admin: resource: '@AwsLightsailBundle/Controller/Admin/' type: annotation prefix: /custom-path/aws-lightsail
支持的 Lightsail 功能
- 实例管理:创建、启动、停止、重启、删除
- 磁盘管理:创建、挂载、卸载、删除
- 快照管理:创建、删除、从快照恢复
- 网络管理:静态 IP、域名配置、负载均衡
- CDN 分发:创建、配置缓存行为、重置缓存
- 数据库管理:MySQL 和 PostgreSQL 数据库
- 存储桶管理:创建、配置访问权限、CORS 设置
- 监控告警:基于指标创建告警