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

セルフホストランナーとインターネットとの間の転送量を削減している話

defaultcf
September 24, 2023

 セルフホストランナーとインターネットとの間の転送量を削減している話

2023年9月21日 GitHub Actions Meetup Tokyo #2 にて発表

defaultcf

September 24, 2023
Tweet

More Decks by defaultcf

Other Decks in Technology

Transcript

  1. 転送量対策 ▌Apache Maven n ワークフローでキャッシュする ▌Amazon Corretto n ランナーにキャッシュを含める ▌Docker

    Hub n プロキシを使ってキャッシュする ↓ ▌各種キャッシュによる転送量削減を試みる 10
  2. Apache Maven ▌Java のプロジェクト管理ツール ▌https://repo.maven.apache.org は公式の Maven のリポジトリ ▌開発チームはワークフロー内でビルドを⾛らせ、その際に依存関係のパッケージ を

    Maven からダウンロードしている ▌ワークフローでキャッシュを使っていないため、通信量を⾷っているんじゃないか︖ ▌確かめてみる 12
  3. Amazon Corretto ▌AWS が提供する OpenJDK ディストリビューション ▌Corretto 17 は 194

    MB ある ▌開発チームはワークフロー内で actions/setup-java を使って Corretto をダウンロードする ▌ダウンロードの度に通信が発⽣し、お⾦がかかっている ▌キャッシュを検討する 15
  4. どのように削減するか ▌② ECR の Pull Through Cache を使う n メリット:

    キャッシュサーバーの構築・運⽤が不要 n デメリット: ユーザーにコード中のイメージ名を変更してもらう必要があ る 22
  5. まとめ ▌VPC フローログを分析してランナーからインターネットへの転送量を分析し た ▌対策を検討して⼀部実施した n Apache Maven のパッケージをキャッシュするようにした n

    actions/setup-java のキャッシュ機能を活⽤して Corretto をラン ナーに予め⼊れるようにした n Docker Hub からのイメージ転送量削減について検討した 26