AWS DevDay Online Japanの登壇資料です。 AWS CDKにこれからコントリビュートしてみたい方向けの資料です。 実際にコントリビュートした際に考えたことや困った部分などを紹介しているので良ければ参考にしてください。
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withAWS CDKʹίϯτϦϏϡʔτ͢ΔͨΊͷ۩ମతͳํ๏ࠤ౻ஐथΫϥεϝιου גࣜձࣾB - 0 62 0 . 1 0 . 2 0 2 0
View Slide
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withࣗݾհ- ࠤ౻ஐथ- Ϋϥεϝιουגࣜձࣾ- CXࣄۀຊ෦ʢIoTνʔϜͱࣗࣾαʔϏε։ൃʣ- લ৬ɿSIerͷSEΛ4ऑ- ݱࡏɿαʔόʔαΠυΤϯδχΞ- ͖ͳAWSαʔϏεɿLambdaɺCDK@tmk2154@tomoki10
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withΞδΣϯμ- ରͱ͢Δࢹௌऀ- ίϯτϦϏϡʔτ͢Δͱྑ͍͜ͱ- AWS CDKͷߏͱৄࡉ- ίϯτϦϏϡʔςΟϯάΨΠυͷઆ໌- ࣮ࡍʹίϯτϦϏϡʔτͨ͠ྲྀΕ- ·ͱΊ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withରͱ͢Δࢹௌऀ- AWS CDK or େ͖ΊͷOSSʹίϯτϦϏϡʔτͯ͠Έ͍ͨਓΤϯδχΞͬͯΔΜͩ͠Ұ͙Β͍ͬͯΈ͍͔ͨͤͬͩ͘͠υΩϡϝϯτ͚ͩ͡Όͳͯ͘ιʔείϛοτ͍ͨ͠- AWS CDK෦ߏΛগ͠Γ͍ͨదٓઆ໌ೖΕ·͕͢ɺAWS CDKͷBlackBeltΛݟ͍ͯΔͱ͔Γ͍͔͢ඪ- ʮ͜ΕͳΒࣗͰग़དྷͦ͏ʂʯͱࢥͬͯΒ͏͜ͱ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withίϯτϦϏϡʔτ͢Δͱྑ͍͜ͱ- ษڧʹͳΔීஈCDKΛ͏ࡍʹߏΛཧղ͍ͯ͠Δͱগ͠ૣ࣮͘Ͱ͖ΔCloudFormationͷ੍͔CDKͷ͔ͷ۠ผ͕͖͍ͭ͢- Կͷػೳ͕Ͱ͖Δͷ͔͍ͪૣ͘ΕΔઌൃද͞ΕͨCLF͔ΒCDKͷϚΠάϨʔγϣϯv2ͷৄࡉΛઌʹΕΔ- ࣗͷιʔε͕ҙ֎ͳͱ͜Ͱग़ͨΓͯ͠໘ന͍
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with- Building Real-time Backends with AWS AppSync & CDKCDK Dayͷ༷ࢠhttps://www.youtube.com/watch?v=qJutZqXMdgM&t=4616s
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withAWS CDKͷߏͱৄࡉ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withAWS CDK(Cloud Developer Kit)ͱ- ͍׳ΕͨݴޠͰAWSϦιʔεΛϓϩϏδϣχϯάͰ͖ΔπʔϧΩοτ- ݱࡏTS/JSɺPythonɺJavaɺC#Ͱ༻Մೳ(ࠓޙGo?)πʔϧͷ෦ͷ։ൃTypeScriptϝΠϯ- ϓϩάϥϛϯάݴޠͰϦιʔεཧ͕Ͱ͖Δ→ਅͷIaCπʔϧ(ݸਓͷײͰ͢)- ͍ͣΕ CDK for TerraformͰGCPAzureཧ? AWS CloudDevelopment Kit
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withAWS CDKͷݸਓతʹࢥ͏ར(BlackBeltΑΓҰ෦Ҿ༻)- ΤσΟλͰܕνΣοΫɺαδΣετɺ༷ࢀর͕Ͱ͖Δ→WebυΩϡϝϯτͳ͠Ͱ༷ͷ֬ೝ࣮͕Մೳ- Ұൠʹίʔυྔ͕ݮΔ→SQS+Lambda+SNS͕CloudFormationͷ࣮ͩͱ340ߦఔɹCDKͩͱ100ߦఔ˞※ʮMoving from CFN YAML to CDK - Benefits, how to do it in prod and moreʯɹhttps://www.youtube.com/watch?v=qJutZqXMdgM&t=12485s- ෳελοΫؒͷґଘ͕ؔهड़Ͱ͖Δ→؆қͳίʔυͰAPI Gateway+LambdaͳͲΛผελοΫʹॻ͚ΔͳͲ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withAWS CDKΞϓϦέʔγϣϯͷߏ- App- CloudFormationςϯϓϨʔτੜͱσϓϩΠʹ༻͞ΕΔཁૉ- ελοΫؒͷґଘؔΛఆٛ- Stack- CloudFormationͰ͍͏ελοΫ- σϓϩΠͷ࠷খ୯Ґ- Construct- StackͰੜ͢ΔAWSϦιʔε- Construct LibraryͰఆٛҾ༻ݩ:https://aws.amazon.com/jp/blogs/aws/boost-your-infrastructure-with-cdk/
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withConstructͷߏ- L1 (Low Level) ConstructCloudFormationͷϦιʔεͱ1ର1ͰରԠ (ࣗಈੜ)- L2 (High Level) ConstructσϑΥϧτՃͷؔΛ࣮ͯ͠L1 ConstructΛநԽɹ- L3 Construct (Patterns or etc…)ෳϦιʔεL2 ConstructΛ͞ΒʹநԽͯ͠ར༻͢Δ߹Ҿ༻ݩ:https://aws.amazon.com/jp/blogs/aws/boost-your-infrastructure-with-cdk/
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withTIPS: Constructͷߏ(AppSyncͷ۩ମྫ)- ϕʔεͱͳΔιʔεGithubϦϙδτϦɿhttps://github.com/aws/aws-cdk্هϦϙδτϦͷ aws-cdk/packages/@aws-cdk/aws-appsync@aws-cdkԼʹ֤AWSϦιʔε༻ͷύοέʔδ͕͋Δ- L1 (Low-Level) Constructaws-appsync/lib Լͷ appsync.generated.ts ϑΝΠϧϏϧυ͠ͳ͍ͱੜ͞Εͳ͍(GitHub্Ͱݟ͑ͳ͍)ͷͰ Gitpod ͳͲͰ֬ೝ- L2 (High-Level) Constructgraphqlapi.tsɺschema-base.ts ͳͲ͍͔ͭ͘ͷϑΝΠϧʹ͔Ε͍ͯΔ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withίϯτϦϏϡʔςΟϯάΨΠυͷઆ໌
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withίϯτϦϏϡʔςΟϯάΨΠυͱ- OSSߩݙ͍ͨ͠ਓ͚ʹઃܭ࣮ํࣜΛڞ༗͢ΔυΩϡϝϯτhttps://github.com/aws/aws-cdk/blob/master/CONTRIBUTING.md#partial-build-toolshttps://github.com/aws/aws-cdk/blob/master/CONTRIBUTING.md
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withίϯτϦϏϡʔςΟϯάΨΠυͷ༰• PRΛૹΔ·Ͱஈ֊͝ͱʹΔ͖͜ͱͳͲ͕ॻ͔Ε͍ͯΔɹࠓճҎԼͷ3ͭΛத৺ʹհ- ڥߏங- issue͔Β࣮Ϛʔδ·ͰͷྲྀΕ- ֤छπʔϧͷհ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withڥߏஙGitpodɹGitHub͔ΒϫϯΫϦοΫͰڥߏஙͯ͑͠ΔWebIDE(ࠓճհ)ɹˠιʔεͷ֬ೝͪΐͬͱͨ͠मਖ਼Ͱ༗༻DockerɹDockerΠϝʔδ͔Βڥ࡞ɹˠܧଓతͳ։ൃͰ༗༻ϩʔΧϧڥɹNode.jsJavaͷόʔδϣϯΛ߹Θͤͯߏஙɹˠڥͷཧ͕େมͳͷͰଟඇਪ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withGitpodͱ- GitHub͔ΒϫϯΫϦοΫͰڥߏஙͯ͑͠ΔWebIDE- VS Code ϥΠΫͳ։ൃڥ͕Web্Ͱ͑Δ- ॳظͷϏϧυઃఆ͋ΔͷͰϫϯΫϦοΫͰ࣮͕࢝ΊΒΕΔ- 1ϲ݄Ͱ50࣌ؒ·Ͱແྉ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withTIPS: GitpodΛCDKͷ։ൃͰ͏߹ͷҙ- Gitpodॳճىಈ1࣌ؒऑ͔͔ΔɹશମϏϧυ͕ΔͷͰ্ཱ͕ͪΔ·Ͱ͕͍ɻ1ճϏϧυ͕௨Ε࠶ىಈ࣌ఔͰಈ࡞Մೳɹ 2ճҎ߱ͷىಈGitpodͷը໘Ͱߦ͏ɻ(ઌ΄ͲͷϘλϯΛԡ͢ͱຖճ৽͍͠Πϯελϯε͕Ͱ͖Δ)- ్தͰϏϧυ͕͚͜ΔͱผͷϦιʔεͷ͍ͤͰςετ͕௨Βͳ͍࣌͋ΔɹରͷσΟϨΫτϦʹͯ scripts/buildup(ޙड़) Ͱؔ࿈͢ΔϦιʔεΛ࠶Ϗϧυ͢Δͱଟେৎɹ ࠷ѱ৽͍͠GitpodͷڥΛ্ཱͪ͛Δ- Gitpod্ͷAccess Control※ͰݖݶΛ༩͑ͳ͍ͱPushͰ͖ͳ͍ɹGitpodͷWebUIͰʮwrite public reposʯͷݖݶΛ༩͑Δ͜ͱ※https://gitpod.io/access-control/
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withissue͔Β࣮Ϛʔδ·ͰͷྲྀΕ- ίϯτϦϏϡʔςΟϯάΨΠυΛϕʔεʹগ͠ม͍͑ͯ·͢- issueΛཱͯΔ/୳͢- ઃܭ(Φϓγϣϯ)- ࣮(Magic)‣ ࣮ɺ୯ମ/݁߹ςετ‣ ಈ࡞֬ೝ- ίϛοτ࡞ϧʔϧΛ֬ೝ- PRͷ࡞- ϨϏϡʔ/ϚʔδίϯτϦϏϡʔςΟϯάΨΠυͷྲྀΕ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withissueΛཱͯΔ/୳͢- طଘͷissueΛ֬ೝͯ͠ɺ৽͍͠Ͱ͋ΕissueΛཱͯΔɹணखͰ͖ͦ͏Ͱ͋Εissueʹॻ͘- طଘͷissueͰߩݙͰ͖ͦ͏ͳ༰Λ୳͢ɹeffort/smallɺgood first issue ϥϕϧ͕͍͍ͯΔissueൺֱత؆୯ɹAWSϦιʔεͷվमͷ߹ʮ@aws-cdk/aws-xxxʯͷλάΛ୳͢Feature Request ͷྫlabel ݕࡧ݁Ռ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withઃܭ- த~େنͳมߋͷ߹͋Β͔͡ΊઃܭΛߦ͏ɹઃܭΨΠυϥΠϯΛ֬ೝͷ্Ͱissueʹίϝϯτ͢Δɹˠઃܭࢥ͕͋ͬͯͳ͍ͱमਖ਼ͩΒ͚ʹ… ࠷ॳΘ͔Γ͍͢issue͔Βணखͷํ͕ྑ͍͔- ઃܭΨΠυϥΠϯͷ֬ೝ༗༻CDKશମͷઃܭࢥʹ͍ͭͯॻ͔Ε͍ͯ·͢ʢগ͍͠ʣhttps://github.com/aws/aws-cdk/blob/master/DESIGN_GUIDELINES.md
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with࣮(Magic)- ҰൠతͳίʔσΟϯάελΠϧͰ࣮ɹ2 space indentɺԣ෯120จࣈͳͲৄࡉΨΠυࢀর- ͯ͢ͷมߋʹ୯ମςετ͕ඞཁɹtestԼͷιʔεʹ୯ମ/݁߹ςετΛՃ͢Δ(JestͰ࣮)- ίϝϯτՃ߹ʹΑͬͯඞཁʢमਖ਼͠ͳ͍ͱLintͰwarningʹͳΔʣɹ֎෦͔Βݺͼग़͢ࡍͷύϥϝʔλมߋͳͲAPIͷมߋREADMEΛߋ৽ɹύϥϝʔλՃͳͲͷ߹jsdocsߋ৽
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with࣮(୯ମςετ)• ςετ࣮ʹJestΛ༻(Ұ෦ݹ͍ͷnode-unit)- JavaScript/TypeScriptͰ͑ΔςεςΟϯάϑϨʔϜϫʔΫ- ଞͷϑϨʔϜϫʔΫ(JUnitͳͲ)Λͬͨ͜ͱ͕͋Ε͔Γ͍͢• ୯ମςετͷߏɹҎԼͷςετ͕େ- StackΛੜͯ͠ɺStackʹConstructΛ࡞- Stackʹఆͨ͠Resourceؚ͕·Ε͍ͯΔ͔νΣοΫ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with• StackΛੜͯ͠ɺStackʹConstructΛ࡞࣮(୯ମςετ: appsync.test.tsͷ߹)let stack: cdk.Stack;let api: appsync.GraphqlApi;beforeEach(() => {stack = new cdk.Stack(); // ීஈͷbinԼͷ࣮ͱಉ༷api = new appsync.GraphqlApi(stack, 'api', { // libԼͱಉ༷authorizationConfig: {},name: 'api',schema:appsync.Schema.fromAsset(path.join(__dirname,'appsync.test.graphql')),});});
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with• ςετ͍ͨ͠ConstructΛ࡞• Stackʹఆͨ͠Resourceؚ͕·Ε͍ͯΔ͔νΣοΫ࣮(୯ମςετ: appsync.test.tsͷ߹)test('appsync should configure pipeline … contents’, () => {// WHENnew appsync.Resolver(stack, 'resolver', {api: api,typeName: 'test',fieldName: 'test2',pipelineConfig: ['test', 'test'],});// THENexpect(stack).toHaveResourceLike('AWS::AppSync::Resolver', {Kind: 'PIPELINE',PipelineConfig: { Functions: ['test', 'test'] },});});
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with• ෳαʔϏεʹލΔมߋCLFΛͬͨ৽͍͠ػೳΛ࡞Δ࣌ʹඞཁ• ݁߹ςετͷछྨ- CloudFormationςϯϓϨʔτΛੜͯ͠ൺֱcdk synthΛ࣮ߦͯ͠testԼͷ *.expected.json ϑΝΠϧͱൺֱ- σϓϩΠͯ͠ݕূyarn integ ίϚϯυΛ࣮ߦ͢ΔͱAWSΞΧϯτʹσϓϩΠʢAWSͷೝূใઃఆඞཁʣ࣮(݁߹ςετ)
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with• λΠτϧҎԼͷจݴͰ࢝ΊΔfeat(module): titlefix(module): titlerefactor(module): titlechore(module): title• มߋ͕ࣗ໌Ͱͳ͍߹֬ೝ༰Λهࡌ• ॏେͳมߋ͕͋Δ߹هࡌίϛοτίϛοτϝοηʔδ࡞ͷϕʔεʮConventional Commitsʯhttps://www.conventionalcommits.org/ja/v1.0.0-beta.4/
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with• GitHubͷը໘্ͳͲ͔ΒͰPull RequestΛ࡞ɹීஈGitHubϑϩʔͳͲͰ։ൃ͍ͯ͠Δ߹ͦΜͳʹมΘΒͳ͍• PRνΣοΫϦετʹैͬͯηϧϑνΣοΫ- ୯ମςετՃ͔ͨ͠- jsdocsॻ͍͔ͨ- READMEదٓߋ৽͔ͨ͠ etc…Pull Request࡞
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with• ϝϯςφ͔ΒϨϏϡʔΛड͚ΔɹPRʹରͯ͠ࢦఠ͕͋Εదٓमਖ਼͢Δɹૣ͍ͱPR࡞ͨ͠ʹϨϏϡʔ༰͕ίϝϯτ͞ΕΔ• ιʔεΛमਖ਼ͯ͠Pushमਖ਼ʹ͕ͳ͚Εϝϯςφ͕approve͢Δ※ଞͷमਖ਼͕ฒߦͰ͍ͬͯͯςετ͕ίέΔ߹͋ΔͷͰͦͷࡍमਖ਼͕ඞཁ→ྃϨϏϡʔ/Ϛʔδ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with• Linter- ESLint- pkglint- awslint- prlint• scripts/buildup• cfn2tsTIPS: ෦ͷπʔϧʢҰ෦ൈਮʣ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with• ESLintɹtoolsͷ eslintrc.js ͷઃఆ͕શମʹөɻGitpodͰESLint PluginͷՃͰܯࠂΛग़ͤΔ• pkglintɹtoolsͷ rules.ts ͷઃఆʹԠͯ͡ɺυΩϡϝϯτܗࣜ License ͷ߹ੑΛݕূ• awslintɹaws construct library༻ͷlinterɻઃܭΨΠυϥΠϯʹ४ڌ͍ͯ͠Δ͔Λݕূɹ(ExperimentalͳύοέʔδͩͱJSDoc͕ͪΌΜͱ͍ͯͳͯ͘warn͕ग़ͯΔ͜ͱ)• prlint(ϕʔλ)ɹPRͷ໋໊نଇίϝϯτʹԠͯ͡ඞཁͳ߲͕Γ͍ͯΔͷ͔ݕূTIPS: ෦ͷπʔϧʢLinterʣ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with• scripts/buildupɹύοέʔδͷσΟϨΫτϦͰ࣮ߦ͢Δͱɺؔ࿈͢Δύοέʔδ͚ͩ࠶ϏϧυͰ͖ΔɹॳճϏϧυେମ1࣌ؒ͘Β͍͔͔ͬͯίέΔ͜ͱ͕͋ΔͷͰ͑ΔTIPS: ෦ͷπʔϧʢscript/buildupʣ࣮ࡍʹॳճىಈͨ͠ࡍͷ݁Ռ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with• CloudFormationϦιʔε͔ΒTSͷίʔυΛੜͰ͖Δπʔϧɹ***.generated.tsϑΝΠϧ͜ͷπʔϧͰੜ͞Ε͍ͯΔɻɹL1 ConstructͷରԠ͚͚ͩʹૣ͍ͷ͜ͷπʔϧͷ͓͔͛ʢChatbotͳͲʣ• Ϗϧυ࣌ʹ jsonϑΝΠϧ ͔Β TSϑΝΠϧΛੜɹ@aws-cdk/cfnspec ԼʹϏϧυͷࡍੜ͞ΕΔ specification.json Λݟ͍ͯΔʁTIPS: ෦ͷπʔϧʢcfn2tsʣ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with࣮ࡍίϯτϦϏϡʔτͨ͠ࡍͷྲྀΕ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with- issueΛ୳͢/ίϝϯτ͢Δ- Fork/Gitpodઃఆ- ࣮- ୯ମ/݁߹ςετ࡞- Branch࡞/Push࣮ࡍίϯτϦϏϡʔτͨ͠ࡍͷྲྀΕ- Pull Request࡞- ϨϏϡʔ/मਖ਼- ϝϯςφ͕Ϛʔδ※͋͘·Ͱࢀߟɹ͜ͷ௨ΓͰͳͯ͘େৎͰ͢
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with- issueΛ୳͢issueΛ୳͢/ίϝϯτ͢Δ- issueʹίϝϯτ͢Δ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with- ϦϙδτϦ͔ΒFork͢Δ- Forkͨ͠ϦϙδτϦͰGitpodΛىಈFork/Gitpodઃఆ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with࣮- Gitpod্ͰιʔεΛ֬ೝ࣮ͯ͠
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with୯ମ/݁߹ςετ- package.jsonΛ֬ೝͯ͠ςετʢ yarn build+test ͷ࣮ߦ݁Ռ ʣɹಈ࡞͕Θ͔Βͳ͍࣌ɺҙਤతʹςετΛյͯ͠ӨڹൣғΛ֬ೝ- ݸਓ༻ͷAWSڥͰಈ࡞֬ೝ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with- Gitpod্ͰBrunch࡞ͯ͠commitͯ͠PushɹGitΛ༻ͨ͠ීஈͷ։ൃͱಛʹมΘΒͳ͍Ͱ͢ʢ Gitpodͷݖݶ͚ͩҙʂ ʣBrunch࡞/Push
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with- GitHub্ͰPull RequestΛ࡞Pull Request࡞
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with- ҎԼͷݪҼͰϦδΣΫτɹ1ίϛοτͰPR࡞ɺػೳՃͳͷʹREADMEมߋͳ͠mergify bot ͷlintͰ͔ΕΔ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with- ΤϥʔͷݪҼΛमਖ਼ͯ͠࠶Push͢Εྃmerging bot ͷlintͳͲͰ͔ΕΔ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with- ϝϯςφͷํ͔Βࢦఠ͕དྷΔͷͰमਖ਼ϨϏϡʔ/मਖ਼
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with- ϝϯςφͷํ1ਓҎ্͔Βapprove͞ΕΕϚʔδϝϯςφ͕Ϛʔδ……
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with·ͱΊ
© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership with• AWS CDKͷߏͱৄࡉΛհɹCDKAWSʹཹ·Βͣൃల͢ΔՄೳੑ͕͋Δʂ Δ͔͠ͳ͍ɺ͜ͷϏοάΣʔϒʹʂ• ίϯτϦϏϡʔςΟϯάΨΠυͷઆ໌ɹΓํίϯτϦϏϡʔςΟϯάΨΠυʹશͯॻ͍ͯ͋Δɻಡ͏ʂ• ࣮ࡍίϯτϦϏϡʔτͨ͠ࡍͷྲྀΕͷհɹࣦഊͨ͠༰ؚΊͯίϯτϦϏϡʔτ·Ͱͷશମ૾Λհ→໌͔Β͋ͳͨAWS CDKͷίϯτϦϏϡʔλʔʹͳΖ͏ʂʂʂ·ͱΊ
Thank you!© 2020, Amazon Web Services, Inc. or its affiliates. All rights reserved.In Partnership withTomoki Sato[email protected]