AWS App Runner支持使用自定义域名来访问您的应用程序,并使用TLS证书对其进行保护。为了保证域名的真实性,需要进行DNS验证。在配置DNS和证书验证时,您可以通过以下步骤来完成:
登录AWS控制台并打开AWS App Runner。
选择您的应用程序并点击“域名”选项卡。
在“自定义域名”下输入您想要使用的域名,并点击“验证”。
在弹出窗口中,选择您希望使用进行验证的DNS提供商,并根据提示进行操作。
如果DNS验证成功,则可以配置TLS证书。在“TLS证书”下选择“使用自定义证书”,并上传证书文件和私钥文件。
以下是一个使用Python SDK实现的示例代码,用于执行域名验证和TLS证书配置:
import boto3
# Set up the App Runner client
client = boto3.client('apprunner')
# Update the DNS record for the custom domain with your DNS provider
response = client.associate_custom_domain(
ServiceArn='arn:aws:apprunner:us-west-2:123456789012:service/MyService',
DomainName='example.com'
)
# Wait for the DNS update to propagate
response = client.wait_until(
'domain_name_associated',
ServiceArn='arn:aws:apprunner:us-west-2:123456789012:service/MyService',
DomainName='example.com'
)
# Upload the TLS certificate for the custom domain
with open('example.com.crt', 'rb') as f:
certificate = f.read()
with open('example.com.key', 'rb') as f:
key = f.read()
response = client.update_service(
ServiceArn='arn:aws:apprunner:us-west-2:123456789012:service/MyService',
SourceConfiguration={
'AuthenticationConfiguration': {
'ConnectionArn': 'arn:aws:apprunner:us-west-2:123456789012:connection/MyConnection',
'AccessRoleArn': 'arn:aws:iam::123456789012:role/MyRole'
},
'AutoDeploymentsEnabled': True,
'CodeRepository': {
'RepositoryUrl': 'https://github.com/myorg/myrepo',
'SourceCodeVersion': {
'Type': 'BRANCH',
'Value': 'main'
}
},
'