接入教程
1. 登录 AWS 控制台并进入 App Runner 服务。
2. 选择从容器镜像或源代码仓库创建新服务。
3. 配置服务名称、运行环境和资源设置。
4. 设置自动部署和监控选项。
5. 点击部署,等待几秒即可启动服务。
6. 通过提供的 URL 访问运行中的应用。
使用Python创建App Runner服务
import boto3
client = boto3.client('apprunner', region_name='us-east-1')
response = client.create_service(
ServiceName='my-app-runner-service',
SourceConfiguration={
'ImageRepository': {
'ImageIdentifier': 'public.ecr.aws/nginx/nginx:latest',
'ImageConfiguration': {},
'ImageRepositoryType': 'ECR_PUBLIC'
}
},
InstanceConfiguration={
'Cpu': '1 vCPU',
'Memory': '2 GB',
'InstanceRoleArn': 'arn:aws:iam::123456789012:role/AppRunnerInstanceRole'
}
)
print(f"Service created: {response['Service']['ServiceArn']}")
使用PHP列出App Runner服务
<?php
require 'vendor/autoload.php';
use Aws\AppRunner\AppRunnerClient;
use Aws\Exception\AwsException;
$client = new AppRunnerClient([
'region' => 'us-east-1',
'version' => 'latest'
]);
try {
$result = $client->listServices([
'MaxResults' => 10
]);
foreach ($result['ServiceSummaryList'] as $service) {
echo "Service: " . $service['ServiceName'] . "\n";
echo "Status: " . $service['Status'] . "\n\n";
}
} catch (AwsException $e) {
echo "Error: " . $e->getMessage() . "\n";
}
?>
使用JavaScript暂停App Runner服务
const { AppRunnerClient, PauseServiceCommand } = require('@aws-sdk/client-apprunner');
const client = new AppRunnerClient({
region: 'us-east-1'
});
const params = {
ServiceArn: 'arn:aws:apprunner:us-east-1:123456789012:service/my-service'
};
const command = new PauseServiceCommand(params);
async function run() {
try {
const data = await client.send(command);
console.log(`Service paused: ${data.Service.ServiceName}`);
console.log(`Status: ${data.Service.Status}`);
} catch (err) {
console.error('Error:', err);
}
}
run();
常见问题
App Runner支持哪些源代码仓库?
App Runner支持直接从GitHub、GitLab、Bitbucket等源代码仓库部署,也支持从Amazon ECR公共或私有仓库部署容器镜像。
App Runner服务如何计费?
App Runner按实际使用的vCPU和内存资源计费,采用按秒计费模式。服务空闲时可能产生最低费用,具体费率请参考AWS官方定价页面。
App Runner支持自动扩缩容吗?
是的,App Runner提供自动扩缩容功能,可以根据流量负载自动调整实例数量,确保应用性能的同时优化成本。
Aitishiku.com