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

AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)

AWS Graviton 環境への CI _ CD パイプラインを CircleCI で実現しよう (AWS Fargate 編)

最新のコンテナアプリケーション開発環境でパフォーマンス向上とコスト削減を両立する~AWS Fargate 編~
https://pages.awscloud.com/APAC_PARTNER_OE_ipc_CircleCI_2022_WebinarSeries-0616_LP.html

AWS Graviton プロセッサを採用した AWS Fargate を使用し、どのようにコンテナアプリケーション開発の CI/CD パイプラインを構築できるのか、AWS Graviton に対応した CircleCI の CI/CDツールを使用し、デモを交えて具体的にご説明いたします。

Tadashi Nemoto

June 26, 2022
Tweet

More Decks by Tadashi Nemoto

Other Decks in Technology

Transcript

  1. 1
    AWS Graviton 環境への
    CI / CD パイプラインを
    CircleCI で実現しよう
    (AWS Fargate 編)
    CircleCI 合同会社
    カスタマーエンジニアリング部 ソリューションズエンジニア
    根本 征

    View Slide

  2. 2
    ⾃⼰紹介
    ● 名前︓根本 征 / Tadashi Nemoto
    ● ポジション︓Solutions Engineer
    ● 経歴
    ○ フリマアプリ企業で
    Software Engineer in Test
    ○ AI スタートアップ企業で
    DevOps エンジニア

    View Slide

  3. 3
    このセッションでは
    ● CircleCI の ARM コンピューティングサポートによる、
    AWS Graviton 環境への CI/CD パイプラインの構築⽅法
    をご紹介します
    ● OpenID Connect を使った、AWS へのセキュアな CI/CD
    パイプラインの構築⽅法をご紹介します
    ● その他、CircleCI を使った開発⽣産性の⾼い
    CI/CD の使い⽅についてご紹介します。

    View Slide

  4. 4
    アジェンダ
    ● CircleCI について
    ● CircleCI の ARM サポート × AWS Graviton 環境への
    CI/CD パイプライン
    ● OpenID Connect による AWS へのセキュアな接続
    ● CircleCI with AWS Graviton2(AWS Fargate) デモ
    ● まとめ

    View Slide

  5. 5
    アジェンダ
    ● CircleCI について
    ● CircleCI の ARM サポート × AWS Graviton 環境への
    CI/CD パイプライン
    ● OpenID Connect による AWS へのセキュアな接続
    ● CircleCI with AWS Graviton2(AWS Fargate) デモ
    ● まとめ

    View Slide

  6. 6
    CircleCI について

    View Slide

  7. 7
    CircleCIのミッションは
    「世界中のだれもが、思い浮かんだア
    イデアをすぐにソフトウェアとして配
    信できるように⽀援する」ことです

    View Slide

  8. 8
    従業員数
    600 ⼈以上
    利⽤組織数
    22万以上の組織
    調達額
    3億1,550万ドル
    開発者ユーザー
    170 万⼈以上
    CircleCI の紹介
    サンフランシスコ
    (アメリカ)
    デンバー(アメリカ)
    東京(⽇本) トロント(カナダ)
    ボストン(アメリカ) ロンドン(イギリス)

    View Slide

  9. 9
    ソフトウェア開発に「継続性」を取り⼊れられたお客様(⼀部)

    View Slide

  10. 10
    開発 オーケストレーション 運⽤
    コラボレーション
    ソースコード管理
    + さまざまなパートナーとの
    インテグレーション
    ツールチェインにおけるCircleCIのポジション
    デリバリ
    ビルド • テスト • デリバリ
    実⾏
    モニタリング • 運⽤
    本番環境へのリリース
    コードコミット
    VCS⾮依存を今後サポート予定
    (プレビュー)

    View Slide

  11. 11
    ソフトウェアの変更を常にテストし
    ⾃動で本番環境にリリース可能な状態にしておく
    ソフトウェア開発の⼿法
    CI/CD(継続的インテグレーション/継続的デリバリー)とは

    View Slide

  12. 12
    Continuous Integration(継続的インテグレーション)
    ● コードの変更を迅速かつ安全
    にマージできる
    ○ ビルド
    ○ コード解析
    ○ ⾃動化されたテスト
    ○ 脆弱性チェック
    ● 効果
    ○ ⼿戻りの防⽌
    ○ リリース品質の向上
    ○ ⻑期的なコスト削減

    View Slide

  13. 13
    Continuous Delivery(継続的デリバリー)
    ● コードの変更を迅速かつ
    安全に展開・配信する
    ● 効果
    ○ ⼈⼿によるミスの防⽌
    ○ 素早いユーザーへの
    価値提供

    View Slide

  14. 14
    CircleCI を選ぶべき3つの特徴
    最速でデプロイできる
    プラットフォーム性能
    競合サービスよりも
    ビルド〜デプロイ
    プロセスを素早く⾏い、
    リードタイム
    を短縮できます
    開発⽣産性を向上させる
    強⼒な機能
    SHHデバッグ機能など
    CircleCI の強⼒な機能を
    活⽤して、開発⽣産性
    を向上させることが
    できます
    データに基づく意思決定
    を⾏えるインサイト機能
    CircleCI は ⾼い可視性を
    備えているため、
    データを活かしてより
    適切な判断ができるよう
    になります

    View Slide

  15. 15
    最速でデプロイできるプラットフォーム性能
    CircleCI なら、競合サービスよりもビルド〜デプロイ
    プロセスを素早く⾏い、リードタイムを短縮できます。
    関連機能:
    ● 多種多様な実⾏環境とフリート
    (リソース クラスは今後さらに拡張予定)
    ● 同時実⾏と並列処理のスケーリング (同時実⾏数は最⼤
    80 件) により、組織の開発効率を⾼めビルド速度を向上
    できる
    ● テスト分割によりビルド速度をさらに⾼められる
    製品レベルの Web アプリを⽤いた⽐較テスト例

    View Slide

  16. 16
    スピード・開発⽣産性・可視化を向上させる強⼒な機能
    ● カスタムリソース
    ○ 最適なパフォーマンスを発揮し、
    スピードを向上するリソースを選択できます
    (Docker, Linux, macOS, Windows など)
    ● テスト分割
    ○ 複数のコンテナでテストを⾃動で分割し、
    RSpec、Cucumber、Django、Node などの多
    くのテストを実⾏できます
    ● SSH デバッグ
    ○ ビルドコンテナにSSH接続して、ログファイル、
    実⾏中のプロセス、ディレクトリパスを表⽰します。
    ● Insights ダッシュボード
    ○ 当社の豊富なデータを活かして、エンジニアリングについてよ
    り適切な判断ができるようになります。

    View Slide

  17. 17
    CircleCI with AWS

    View Slide

  18. 18
    アジェンダ
    ● CircleCI について
    ● CircleCI の ARM サポート × AWS Graviton 環境への
    CI/CD パイプライン
    ● OpenID Connect による AWS へのセキュアな接続
    ● CircleCI with AWS Graviton2(AWS Fargate) デモ
    ● まとめ

    View Slide

  19. 19
    CircleCI の ARM サポート ×
    AWS Graviton 環境への
    CI/CD パイプライン

    View Slide

  20. 20
    CircleCI の ARM コンピューティングサポート

    View Slide

  21. 21
    CircleCI の ARM コンピューティングサポート

    View Slide

  22. 22
    CircleCI の ARM コンピューティングサポート
    https://circleci.com/docs/ja/2.0/using-arm

    View Slide

  23. 23
    CircleCI で ARM 開発を⾏うメリット
    ビジネスの未来につながる
    ARM の普及は急速に進んでいるの
    で、AWS Graviton プロセッサマシ
    ンでビルドを⾏うことにより、
    次世代のデバイスに対応する準備を
    整えられます。
    パフォーマンスと効率を向上
    AWS Graviton プロセッサなら、
    消費電⼒もコストも抑えたまま
    パフォーマンスを⼤幅に向上
    できます。
    場所を問わず開発できる
    AWS Graviton2 などの
    ARM インフラストラクチャで、
    開発したシステムのテストや
    デプロイが簡単に⾏えるように
    なります。

    View Slide

  24. 24
    https://aws.amazon.com/jp/blogs/news/announcing-aws-graviton2-support-for-
    aws-fargate-get-up-to-40-better-price-performance-for-your-serverless-containers

    View Slide

  25. 25
    https://aws.amazon.com/jp/blogs/news/announcing-aws-graviton2-support-for-
    aws-fargate-get-up-to-40-better-price-performance-for-your-serverless-containers

    View Slide

  26. 26
    Amazon EC2 のコストパフォーマンスを40%向上させる
    AWS Graviton によるコスト最適化⼊⾨(AWS Summit 2022)

    View Slide

  27. 27
    ARM コンピューティング環境で CI を実⾏可能

    View Slide

  28. 28
    Amazon EC2 のコストパフォーマンスを40%向上させる
    AWS Graviton によるコスト最適化⼊⾨(AWS Summit 2022)

    View Slide

  29. 29
    arm64 Docker イメージを簡潔にビルドすることが可能

    View Slide

  30. 30
    CircleCI × AWS Graviton2 事例
    AWS Gravtiton2 とCircleCI を採⽤することでコストの 50% 削減と
    パフォーマンス強化を両⽴できるというなら、もはや賭けではありません。
    「採⽤しない理由」を探すのが⼤変です。
    https://circleci.com/case-studies/honeycomb/

    View Slide

  31. 31
    アジェンダ
    ● CircleCI について
    ● CircleCI の ARM サポート × AWS Graviton 環境への
    CI/CD パイプライン
    ● OpenID Connect による AWS へのセキュアな接続
    ● CircleCI with AWS Graviton2(AWS Fargate) デモ
    ● まとめ

    View Slide

  32. 32
    OpenID Connect による
    AWS へのセキュアな接続

    View Slide

  33. 33
    これまでの AWS への認証⽅法

    View Slide

  34. 34
    OpenID Connect による AWS への認証⽅法

    View Slide

  35. 35
    OpenID Connect による AWS への認証⽅法

    View Slide

  36. 36
    OpenID Connect による AWS への認証⽅法(CircleCI Orbs)

    View Slide

  37. 37
    https://circleci.com/ja/blog/openid-connect-identity-tokens
    https://dev.classmethod.jp/articles/circleci-
    supported-oidc-so-i-tried-linking-it-with-aws/

    View Slide

  38. 38
    アジェンダ
    ● CircleCI について
    ● CircleCI の ARM サポート × AWS Graviton 環境への
    CI/CD パイプライン
    ● OpenID Connect による AWS へのセキュアな接続
    ● CircleCI with AWS Graviton2(AWS Fargate) デモ
    ● まとめ

    View Slide

  39. 39
    CircleCI with AWS Graviton2
    (AWS Fargate) デモ

    View Slide

  40. 40
    デモの内容
    ● https://github.com/tadashi0713/circleci-graviton-fargate-demo
    ● ARM VM 上で⾃動化されたテストの実⾏(継続的インテグレーション)
    ● CircleCI の ARM VM を使って、arm64 Docker イメージをビルド
    ● OpenID Connect を使った AWS への認証
    ● arm64 Docker イメージを Amazon ECR に Push
    ● AWS Fargate(AWS Graviton2)の ECS タスク・サービスを更新
    ● CircleCI の CI/CD における機能を紹介
    ○ CircleCI Orbs、SSH デバッグ、Insights ダッシュボード

    View Slide

  41. 41
    デモのアーキテクチャー

    View Slide

  42. 42
    アジェンダ
    ● CircleCI について
    ● CircleCI の ARM サポート × AWS Graviton 環境への
    CI/CD パイプライン
    ● OpenID Connect による AWS へのセキュアな接続
    ● CircleCI with AWS Graviton2(AWS Fargate) デモ
    ● まとめ

    View Slide

  43. 43
    まとめ

    View Slide

  44. 44
    このセッションのまとめ
    ● CircleCI の ARM コンピューティングサポートにより、
    AWS Graviton 環境への CI/CD パイプラインを
    簡潔に作成することが可能
    ● OpenID Connect を使うことによって、
    AWS への CI/CD パイプラインをセキュアにすることが可能
    ● CircleCI の機能を活⽤して、CI/CD における
    スピード・⽣産性を向上することが可能
    ○ CircleCI Orbs、SSH デバッグ、Insights ダッシュボード

    View Slide

  45. 45
    Thank you!

    View Slide