$30 off During Our Annual Pro Sale. View Details »

AWS CDKについて / about AWS CDK

cohalz
January 25, 2019

AWS CDKについて / about AWS CDK

YAPC::Tokyo 2019 前夜祭 LTソン

cohalz

January 25, 2019
Tweet

More Decks by cohalz

Other Decks in Programming

Transcript

  1. AWS CDKʹ͍ͭͯ
    YAPC::Tokyo 2019 લ໷ࡇ LTιϯ
    id:cohalz

    View Slide

  2. ࣗݾ঺հ
    • id:cohalz / @cohalz
    • גࣜձࣾ͸ͯͳ SRE(ژ౎)
    • Perlະܦݧ

    View Slide

  3. AWS CDKฉ͍ͨ͜ͱ͋Δਓ

    View Slide

  4. AWS CDK࢖ͬͯΔਓ

    View Slide

  5. AWS CDKͱ͸
    • https://awslabs.github.io/aws-cdk/
    • AWSެࣜͷϑϨʔϜϫʔΫ
    • TypeScriptͰCloudFormationϦιʔεΛॻ͍ͯσϓϩΠ
    • ։ൃऀϓϨϏϡʔ ͷஈ֊

    View Slide

  6. Ϟνϕʔγϣϯ
    • ڊେͳYAMLಡΈॻ͖͍ͨ͠Ͱ͔͢ʁ
    • CFnͰෳࡶͳ෼ذͯ͠ͳ͍Ͱ͔͢ʁ

    View Slide

  7. TypeScript
    • ܕʹΑΔิ׬
    • ߴ౓ͳϩδοΫͷ࣮ݱ
    • ϥΠϒϥϦͷ૊Έ߹Θͤ

    View Slide

  8. ར఺ͦΕ͚ͩʁ

    View Slide

  9. CDK Construct Library
    • ҰൠతͳύλʔϯΛϥΠϒϥϦͱͯ͠ఏڙ
    • ར༻ऀͷهड़ྔΛେ෯ʹ࡟ݮ
    • ެࣜϥΠϒϥϦͷଞʹࣗ࡞΋౰વՄೳ

    View Slide

  10. ࣮ࡍͷίʔυ
    const vpc = new ec2.VpcNetwork(this, 'MyVpc', { maxAZs: 2 });
    const cluster = new ecs.Cluster(this, 'Cluster', { vpc });
    const fargateService = new ecs.LoadBalancedFargateService(this, "FargateService", {
    cluster,
    image: ecs.ContainerImage.fromDockerHub("amazon/amazon-ecs-sample"),
    });

    View Slide

  11. σϓϩΠπʔϧ
    • cdk deploy
    • TypeScriptΛॻ͍ͯͦͷ··σϓϩΠͰ͖Δ
    • cdk diff
    • ਓ͕ؒಡΊΔมߋ఺Λग़͢

    View Slide

  12. ηΩϡϦςΟ
    • IAMͱSecurity GroupͷมߋΛܯࠂ

    View Slide

  13. CDKͷϝϦοτ
    • SRE͔Β
    • ϦιʔεΛςϯϓϨʔτͱͯ͠ఏڙ͠΍͍͢
    • ΞϓϦέʔγϣϯΤϯδχΞ͔Β
    • TypeScriptͩͱ৮Γ΍͍͢
    • ηΩϡϦςΟͷܯࠂ΋خ͍͠

    View Slide

  14. େมͳ͜ͱ΋͋Δ
    • Construct Libraryͱ΍͍ͬͯ͘
    • தͰԿΛ΍ͬͯΔͷ͔֬ೝ͢Δͷ͸೉͍͠
    • ར༻ऀগͳ͍ͷͰ৘ใ͕ͳ͍
    • ؾ͕͍ͭͨΒ೔ຊਓτοϓͷίϯτϦϏϡʔλʹͳͬͯͨ

    View Slide

  15. ·ͱΊ
    • YAMLͰ͸ͳ͘TypeScriptͷ࣌୅
    • CDKͷπʔϧ܈͸ຊ౰ʹศར
    • ։ൃऀϓϨϏϡʔதͳͷͰར༻͸஫ҙ

    View Slide