Slide 4
Slide 4 text
AWS Infrastructure Composerの推しポイント その1
3
• 既存CloudFormationテンプレートを構成図のように視覚化できる!
<ないとき> <あるとき>
{
"Resources": {
"TESTMyLambdaFunctionServiceRole6FF4D431": {
"Type": "AWS::IAM::Role",
"Properties": {
"AssumeRolePolicyDocument": {
"Statement": [
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": {
"Service": "lambda.amazonaws.com"
}
}
],
"Version": "2012-10-17"
},
"ManagedPolicyArns": [
{
"Fn::Join": [
"",
[
"arn:",
{
"Ref": "AWS::Partition"
},
":iam::aws:policy/service-role/AWSLambdaBasicExecutionRole"
]
]
}
]
},
"Metadata": {
"aws:cdk:path": "CdkHelloWorldStack/TESTMyLambdaFunction/ServiceRole/Resource"
}
},
"TESTMyLambdaFunction8E16014C": {
"Type": "AWS::Lambda::Function",
"Properties": {
"Code": {
"S3Bucket": "cdk-hnb659fds-assets-111111111111-ap-northeast-1",
"S3Key": "fe7e1908d59e783c3f2793117673f2e93c85f0ce91cd99bed0239de3d41e8d3b.zip"
},
"Handler": "index.handler",
"Role": {
"Fn::GetAtt": [
"TESTMyLambdaFunctionServiceRole6FF4D431",
"Arn"
]
},
"Runtime": "nodejs20.x"
},
"DependsOn": [
"TESTMyLambdaFunctionServiceRole6FF4D431"
],
"Metadata": {
"aws:cdk:path": "CdkHelloWorldStack/TESTMyLambdaFunction/Resource",
"aws:asset:path": "asset.fe7e1908d59e783c3f2793117673f2e93c85f0ce91cd99bed0239de3d41e8d3b",
"aws:asset:is-bundled": false,
"aws:asset:property": "Code"
}
},
"MyApiGateway04A753E5": {
"Type": "AWS::ApiGateway::RestApi",
"Properties": {
"Name": "MyApiGateway"
},
"Metadata": {
"aws:cdk:path": "CdkHelloWorldStack/MyApiGateway/Resource"
}
},
"MyApiGatewayDeployment44AAC0313efdafc08b1d170892a3a89794c0f77f": {
"Type": "AWS::ApiGateway::Deployment",
"Properties": {
"Description": "Automatically created by the RestApi construct",
"RestApiId": {
"Ref": "MyApiGateway04A753E5"
}
},
"DependsOn": [
"MyApiGatewayitemsGETBDFA38EE",
"MyApiGatewayitemsPOST3EB9C420",
"MyApiGatewayitemsAC8CBE57"
],
"Metadata": {
"aws:cdk:path": "CdkHelloWorldStack/MyApiGateway/Deployment/Resource"
}
},
"MyApiGatewayDeploymentStageprodEBC77C1B": {
"Type": "AWS::ApiGateway::Stage",
"Properties": {
"DeploymentId": {
"Ref": "MyApiGatewayDeployment44AAC0313efdafc08b1d170892a3a89794c0f77f"
},
"RestApiId": {
"Ref": "MyApiGateway04A753E5"
},
"StageName": "prod"
},
"Metadata": {
"aws:cdk:path": "CdkHelloWorldStack/MyApiGateway/DeploymentStage.prod/Resource"
}
},
"MyApiGatewayitemsAC8CBE57": {
"Type": "AWS::ApiGateway::Resource",
"Properties": {
"ParentId": {
"Fn::GetAtt": [
"MyApiGateway04A753E5",
"RootResourceId"
]
},
長いコードを読んで
構成把握、参照が
壊れていないかチェック
構成が図で示されるので構成が一目でわかる
定義漏れがないかの確認も簡単
Composerで表示
VSCodeで開いた画面