Upgrade to Pro — share decks privately, control downloads, hide ads and more …

挑戦、Code兄弟 - 絶望編 -

Kento Suzuki
November 16, 2022

挑戦、Code兄弟 - 絶望編 -

2022/11/15(火)
[秋田] オフライン開催 フリーテーマでAWSを語る会 [初心者大歓迎]
登壇資料

Kento Suzuki

November 16, 2022
Tweet

More Decks by Kento Suzuki

Other Decks in Technology

Transcript

  1. ௅ઓɺ$PEFܑఋ
    [秋⽥ ] オフライン開催 フリーテーマでAWSを語る会
    + " 8 4 r 6 ( 5 0 ) 0 , 6
    ઈ๬ฤ
    CodePipeline CodeDeploy
    CodeBuild
    CodeCommit
    2022-11-15

    View Slide

  2. Who am I ?
    名前︓鈴⽊健⽃
    所属︓アイレット株式会社
    お仕事︓ AWSのインフラ構築・運⽤
    経歴︓
    ・新卒 3 年⽬(エンジニア歴 = 社会⼈歴)
    ・2022 APN ALL AWS Certifications Engineer
    ・2022 APN AWS Top Engineer
    @k_suzuki_pnx

    View Slide

  3. View Slide

  4. This story
    "84ͷ $PEFܑఋͰ
    $*$%ʹ௅ઓͨ͠࿩

    View Slide

  5. What is CI/CD
    ・Continuous Integration/Continuous Delivery
    (継続的インティグレーション/継続的デリバリー)の略
    ・⼀番分かりやすかった説明
    Continuous Integration(CI)
    Code > Build > Test > Code > Build > Test ・・・ のサイクルを⾼速に回して、
    開発スピードと品質の担保を実現する
    Continuous Delivery(CD)
    CI に加えて変更内容をステージング環境などに⾃動的に反映して、
    リリース可能な状態に持っていく
    Continuous Deploy(CD)
    CD の中でも⾃動的に本番環境にリリースを⾏う
    https://blog.spacemarket.com/code/ci-cd-codepipeline/

    View Slide

  6. CI/CD on AWS
    ・Code兄弟とも呼ばれる CICD をサポートするサービスが存在する
    AWS
    CodeCommit
    AWS
    CodeBuild
    AWS
    CodeDeploy
    AWS
    CodePipeline
    ※ 他にも AWS CodeStar というサービスがあるが、それは今回触らないので割愛

    View Slide

  7. AWS CodeCommit / AWS CodeBuild
    AWS
    CodeCommit
    AWS
    CodeBuild
    ・フルマネージド型の ソース管理サービス
    ・スケーラブルでセキュア、既存の Git ツールともシームレスに連携できる
    ・⽉々のアクティブユーザ数、APIリクエスト数、利⽤容量による課⾦体系
    https://aws.amazon.com/jp/blogs/news/aws-hands-on-for-beginners-10/
    $PEFγϦʔζೖ໳ϋϯζΦϯΛެ։͠·ͨ͠ʂ
    .POUIMZ"84)BOETPOGPS#FHJOOFST೥݄߸
    ・ソースコードをコンパイル、テストを実⾏ し、デプロイ可能な
    ソフトウェアパッケージを作成できるフルマネージド型のビルドサービス
    ・ビルド⽤のサーバをプロビジョニングする必要がなくなる
    ・利⽤した分数のみお⽀払い

    View Slide

  8. AWS CodeDeploy / AWS CodePipeline
    AWS
    CodeDeploy
    AWS
    CodePipeline
    https://aws.amazon.com/jp/blogs/news/aws-hands-on-for-beginners-10/
    $PEFγϦʔζೖ໳ϋϯζΦϯΛެ։͠·ͨ͠ʂ
    .POUIMZ"84)BOETPOGPS#FHJOOFST೥݄߸
    ・様々なコンピューティングリソース (EC2, Lambda, オンプレ環境など)に対して
    デプロイ を⾏う
    ・AutoScaling する構成に対しても、連動して⾃動でデプロイする
    ・AWS 上のリソース対象としたデプロイの場合は料⾦がかからない
    ・フルマネージド型の 継続的デリバリーサービス
    ・ソースコードの変更をトリガに、ビルド、デプロイといった
    ⼀連の流れを⾃動的に実⾏する
    ・アクティブなパイプライン数で料⾦が決まる

    View Slide

  9. プロローグ( なぜ CI/CD に挑戦?)
    ・CI/CD というワードがよく出てくる
    (ex. 業務、勉強会)
    ・なんとなくしか分からない
    ・実際に触ってみれば何か掴める︖
    ・業務で必要になった

    View Slide

  10. First Step
    ॳ৺ऀ޲͚ެࣜϋϯζΦϯ

    View Slide

  11. AWS Hands-on for Beginners
    ・初⼼者向けハンズオン
    ・22 種類(2022/11/12時点)
    https://aws.amazon.com/jp/aws-jp-introduction/aws-jp-webinar-hands-on/
    "84ॳ৺ऀ޲͚ϋϯζΦϯ

    View Slide

  12. AWS Hands-on for Beginners (CI/CD)
    https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-cicd-2020-reg-event-LP.html?trk=aws_blog_k
    AWS Hands-on for Beginners
    AWS Code サービス群を活⽤して、CI/CD のための構成を構築しよう︕
    ・Codeサービス群のハンズオン
    ・デプロイ先︓S3とEC2

    View Slide

  13. Let’s Try !!
    良かった点
    ・Code 兄弟それぞれの簡単な使い⽅が理解できる
    ⼤変だった点
    ・ハンズオン動画のコンソールが古い
    → ある程度 AWS に慣れていないと厳しい
    →「AWS︓中級者、Code 兄弟初⼼者向けハンズオン」

    View Slide

  14. Next Step
    +"846(ॳ৺ऀࢧ෦
    $*$%ϋϯζΦϯ

    View Slide

  15. コンテナサービスをCI/CDパイプラインでデプロイしよう
    https://zenn.dev/shigeru_oda/books/5e5f5d8d3ddf3ba68bb7
    <+"84%":4>ϋϯζΦϯ
    ʙίϯςφαʔϏεΛ$*$%ύΠϓϥΠϯͰσϓϩΠ͠Α͏ʙ
    ・JAWS DAYS 2022にて
    オンラインで実施されたハンズオン
    → 参加できなかった
    ・JAWS DAYSでは最後までやることが出来ず、
    後⽇、初⼼者⽀部 & 千葉⽀部合同イベントが開催
    → 参加できた︕
    ・VPC の作成から始まる
    ・操作はほとんど AWS CLI

    View Slide

  16. Let’s Try !!
    良かった点
    ・VPCを⼀から作成するところから始まる
    → 初⼼者でも始められる
    ・CICDだけでなく、AWS CLI や ECS, Blue/Green Dploy も盛り込まれている
    → 幅広く学ぶことができる
    ⼤変だと思う点
    ・AWS CLI を使うため、ハードルが⾼い
    ・超⼤作なので時間がかかる
    → ハンズオン当⽇は5時間枠

    View Slide

  17. Result
    CICDが分かった︕

    View Slide

  18. ここで調子に乗る
    Lambda も
    CICD
    できるのでは
    ついでに Blue / Greenもしたい

    View Slide

  19. これが 絶 望 の始まり

    View Slide

  20. Lambda の CICD
    ・初⼼者向けのハンズオンなど存在しない
    ・思った以上に情報が整理されていない
    ・Blue / Green デプロイがしんどそう…
    ・使い慣れていないツールを覚える必要がありそう
    → AWS SAM 、AWS CDK 、コンテナ Lambda など

    View Slide

  21. ໛ࡧͨ݁͠Ռ

    View Slide

  22. Detail ①

    View Slide

  23. Detail ②

    View Slide

  24. 思ったこと
    良かった点
    ・Blue/Green デプロイへの理解が深まる
    ・Lambda の Alias や バージョンと仲良くなれる
    ⼤変だと思う点
    ・仕組みの理解
    ・管理

    View Slide

  25. まとめ
    -BNCEB Ͱ $*$% ͢Δ
    ॳ৺ऀ޲͚ͷϋϯζΦϯ͕ཉ͍͠ʂ
    ベストプラクティスがよく分からない…

    View Slide

  26. https://cloudpack.jp/event/web8.html
    ৄࡉϖʔδ
    ݄೔ ਫ
    ɺ໷࣌
    ΦϯϥΠϯ։࠵
    前職では⾦融系の業務SEとして上流〜下流まで⼀通り経験してきた中で、
    特定のサービスだけではなくクラウド全体の知⾒を深めたいと考え、
    アイレットへ転職してきました。
    アイレットで働いてきた中で、実際の業務内容や
    実際の環境など織り交ぜながら魅⼒をお話しできればと思います。
    クラウドでの SI を専⾨に⾏うアイレットに転職し、
    それまで使ったことのなかったクラウドのサービスを使うことが多くなりました。
    それまではクラウド利⽤は⽬的達成のための⼿段でしかありませんでしたが、
    お客様がクラウドを利⽤するための構築が⽬的、
    つまりクラウドそのものが⽬的に変わりました。
    その中でどのように学び、業務を遂⾏したかについてお話しできればと思います。
    ΞΠϨοτΤϯδχΞʹΑΔ -5
    クラウドが⼿段から⽬的へ
    クラウドへ気軽にチャレンジできる環境

    View Slide