{"id":1424,"date":"2020-11-22T10:10:00","date_gmt":"2020-11-22T02:10:00","guid":{"rendered":"http:\/\/host.lunartheme.com\/furion\/?p=1424"},"modified":"2020-11-28T08:29:41","modified_gmt":"2020-11-28T00:29:41","slug":"introduction","status":"publish","type":"post","link":"https:\/\/9incloud.com\/aws\/cdk\/introduction","title":{"rendered":"10 \u5206\u9418\u5feb\u901f\u4e86\u89e3 AWS CDK \u76f8\u95dc\u540d\u8a5e"},"content":{"rendered":"\n
\u4ee5\u4e0b\u7684\u89e3\u91cb\uff0c\u662f\u57fa\u65bc AWS CDK \u5b98\u65b9\u6587\u4ef6\uff0c\u548c\u4f7f\u7528 CDK Typescript \u7684\u89d2\u5ea6\uff0c\u4f86\u89e3\u91cb\u9019\u4e9b\u76f8\u95dc\u540d\u8a5e<\/p>\n\n\n\n
\u6700\u57fa\u790e\u7684\u51fd\u5f0f\u5eab (\u6216\u7406\u89e3\u6210\u6700\u57fa\u790e\u7684\u96f2\u5143\u4ef6)\uff0c CDK App\u3001Stack \u548c\u4e00\u5207\u5f15\u5165 @aws-cdk \u4e2d\u7684 Resources\uff0c\u90fd\u662f\u7e7c\u627f\u5b83\u4f86\u7684<\/p>\n<\/li>\n
\u5340\u5206 L1 Construct\u3001L2 Construct\u3001Patterns Construct<\/p>\n
cfn<\/code> \u958b\u982d\u4f86\u547d\u540d\uff0c\u4f8b\u5982 cfnBucket\uff0cL1 \u662f\u4ee5 CloudFormation \u70ba\u57fa\u5e95\uff0c\u800c\u4e8b\u5be6\u4e0a\uff0cCDK \u90fd\u662f\u4ee5 CloudFormation \u70ba\u57fa\u5e95\u4f86\u904b\u4f5c\uff0c\u76f8\u5c0d\u7684\uff0c\u6240\u6709 CloudFormation \u7684\u597d\u8655\uff0cCDK \u5e7e\u4e4e\u90fd\u6709<\/li>\n- L2 Construct \u70ba\u9ad8\u968e\u7684 Construct\uff0c\u5982\u540c\u9ad8\u968e\u7684\u7a0b\u5f0f\u8a9e\u8a00\u6703\u6bd4\u4f4e\u968e\u7684\u7a0b\u5f0f\u8a9e\u8a00\u4f7f\u7528\u4e0a\u4f86\u7684\u65b9\u4fbf\uff0c\u56e0\u70ba\u96b1\u85cf\u4e86\u8a31\u591a\u7d30\u7bc0\uff0c\u4e5f\u5c31\u662f\u9810\u8a2d\u4e00\u4e9b\u8a2d\u5b9a\u503c\uff0c\u76f8\u5c0d\u65bc L1 Construct\uff0cL1 Construct \u5c31\u50cf\u7de8\u5beb CloudFormation \u4e00\u6a23\uff0c\u6240\u6709\u7684\u53c3\u6578\u90fd\u5fc5\u9700\u8981\u8a2d\u5b9a<\/li>\n
- Patterns Construct \u5c31\u66f4\u70ba\u9ad8\u968e\uff0c\u4f8b\u5982\u5b98\u65b9\u6587\u4ef6\u6240\u4ecb\u7d39\u7684 \bApplicationLoadBalancedFargateService<\/strong><\/em><\/a>\uff0c\u5df2\u7d93\u4e0d\u662f\u50cf L2 \u4ee5 Resource \u70ba\u55ae\u4f4d\uff0c\u800c\u662f\u4ee5 Service \u70ba\u55ae\u4f4d\uff0c\u4e5f\u5c31\u662f\u591a\u7a2e Resources \u4f86\u7d44\u5408\u6210\u4e00\u500b\u53ef\u7528\u7684\u670d\u52d9<\/li>\n<\/ul>\n<\/li>\n
- \n
\u82e5\u8981\u958b\u767c\u81ea\u5bb6\u516c\u53f8 CDK library\uff0c\u5efa\u8b70\u90fd\u7528 Construct \u7684\u65b9\u5f0f\uff0c\u4ee5\u65b9\u4fbf\u5728\u516c\u53f8\u5167\u90e8\u5171\u7528<\/p>\n<\/li>\n<\/ul>\n<\/div>\n\n\n\n
\u00a0<\/p>\n
Stacks<\/h4>\n\n- AWS CDK \u90e8\u7f72\u7684\u57fa\u672c\u55ae\u4f4d (\u4e5f\u5c31\u662f CloudFormation \u4e2d\u7684 stack)<\/li>\n
- \u4e00\u500b App \u4e2d\u53ef\u4ee5\u6709\u591a\u500b Stack<\/li>\n
- \u540c\u6642\u5be6\u4f8b\u5316\u4e8c\u500b\u76f8\u540c\u7684 Stack \u6642\uff0c\u4f7f\u7528\u6307\u4ee4 cdk synth \u5408\u6210 CloudFormation \u6642\uff0c\u9084\u662f\u6703\u8996\u70ba\u5169\u500b\u7368\u7acb\u7684 Stack \u4f86\u90e8\u7f72<\/li>\n
- \u4e00\u500b Stack \u6700\u591a\u53ea\u80fd\u6709 500 \u500b Resource<\/li>\n<\/ul>\n<\/div>\n\n\n\n
\u00a0<\/p>\n
Apps<\/h4>\n\n- Construct tree \u4e2d\u7684\u6700\u9802\u5c64\uff0c\u4e5f\u5c31\u662f root (CDK \u4e2d\u6240\u6709\u985e\u5225\u90fd\u4f86\u81ea\u65bc Construct\uff0c\u518d\u4e00\u5c64\u4e00\u5c64 pass scope \u4e0b\u53bb\uff0c\u5f62\u6210 Construct Tree)<\/li>\n
- \u4f7f\u7528 cdk deploy \u6307\u4ee4\u6642\uff0c\u6709\u4e00\u9023\u4e32 App \u904b\u884c\u7684\u751f\u547d\u9031\u671f\uff0c\u53ef\u53c3\u8003 App lifecycle<\/a><\/strong><\/em> \uff0c\u5176\u4e2d\u7b2c 4 \u500b Synthesis \u4e5f\u5c31\u662f\u751f\u6210 CloudFormation template \u7684\u6642\u671f<\/li>\n
- \u4f7f\u7528 cdk deploy \u6307\u4ee4\u6642\uff0c\u5be6\u969b\u4e0a\u6703\u53bb\u8b80\u53d6 cdk.json \u4e2d\u7684 key \u70ba "app" \u7684\u503c\uff0c\u4e5f\u53ef\u4ee5\u4f7f\u7528
--app<\/code> \u53c3\u6578\u4f86\u53d6\u4ee3\u5be6\u969b\u8981\u904b\u884c\u90e8\u7f72\u7684\u6307\u4ee4<\/li>\n<\/ul>\n<\/div>\n\n\n\n
\n\u00a0<\/p>\n
\u57fa\u672c\u4e0a\u5c0d Apps\u3001Stacks\u3001Construct \u6709\u6700\u57fa\u672c\u7684\u8a8d\u8b58\u5f8c\uff0c\u5c31\u53ef\u4ee5\u52d5\u624b\u4f86\u4f7f\u7528 cdk \u4e86\uff0c\u5982\u4e0b\u5716\u6240\u793a<\/p>\n
<\/p>\n