【レポート)】 数千人のアクティブな開発者が使用するCI / CDシステムで、Amazon EFSとJFrog Artifactoryを使って何百万ものアーティファクトをサポートする方法を学ぶ #reinvent #STG314

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

コンニチハ、千葉です。

re:Invent2017のセッションレポートをお届けします。

EFSとJFrog Artifactoryを利用したアプリケーション管理に関するセッションとなります。

前提知識

前提となる、Amazon EFSとJFrogについて簡単にまとめます。

EFSとは

EFSとはAWSサービスの1つで、EC2間でファイル共有できるストレージです。容量の管理は不要で、自動的にスケールします。NFSv4プロトコル対応です。因みにEFSはオンプレからもマウントできます。

https://aws.amazon.com/jp/efs/

JFrog Artifactoryとは

JFrog Artifactoryとはアーティファクト リポジトリマネージャーです。 市場的にはアーティファクト リポジトリマネージャーはJFrog Artifactoryが唯一の存在みたいです。具体的なイメージとしてGitHubはファイルレベルのリポジトリですが、JFrog Artifactoryではバイナリ(コンパイル後のファイルやzipなど)レベルでのリポジトリを提供します。

https://www.jfrog.com/artifactory/

セッションレポート

アジェンダ

  • AWS各ストレージとEFSの概要
  • JFlogとArtifactoryの概要
  • HERE Technologiesでの事例

AWS各ストレージとEFSの概要

ストレージソリューションを選択するときの何を考えるか

  • インターフェース(どのようにアクセスするか)、権限モデル(ユーザー/グループ)、正確性(データはどう表現され更新されるか)
  • 機能とパフォーマンス
  • コスト

ストレージの3タイプ

  • ファイルストレージ
  • Blockストレージ
  • オブジェクトストレージ

ファイルストレージは一般的なストレージ

ファイルストレージはext4などのファイルシステムをさす

  • インターフェース:OS APIでのマルチクライアントアクセス
  • 正確性:強力な一貫性、ロック機構、ディレクトリ構造
  • 権限モデル:read/write/execute、OSにロギング

ファイルストレージと他のストレージの比較

  • ファイルストレージ:マルチアタッチ
  • Blockストレージ:仮想ディスクなど。AWSでいうとEBS。シングルアタッチ。
  • オブジェクトストレージ:APIによるアクセス。一般的にはインターネット越しでのアクセスが多い。AWSでいうとS3。

パフォーマンスの比較

EFS以前の構成

  • ファイルサーバ、ストレージボリュームが必要
  • 可用性、堅牢性の確保のため冗長化が必要

主なEFSの機能

  • 高可用性
  • 高堅牢性
  • 高パフォーマンス
  • フルマネージド

EFSカスタマー

セキュリティモデルと機能

  • VPC、セキュリティグループ、NACLによるネットワークアクセス制御
  • POSIXパーミッションによる権限管理
  • IAMによるアクセス制御
  • KMSによる暗号化

EFSコスト

  • 利用コミットなし
  • ストレージのプロビジョニングが不要(自動で拡張する)
  • ストレージ利用料金のみでの料金。それ以外料金はかからない(管理用のEC2も不要)

EFS以前の構成

  • EC2のインスタンスコスト
  • EBSのコスト
  • AZ間のデータ転送コスト

EFSのTCO

500GBストレージの場合、EC2利用時と比べEFSは75%のコスト削減

現在利用できるリージョン

日本は入ってないですが、Comming Soon!?

EFS File Syncの紹介

これは、先週くらいのアップデートで追加された機能ですね

OSコピーコマンドより5倍の速度でEFSへコピーできます。

JFlogとArtifactoryの概要

JFlog Artifactoryのタイプ

JFlogとArtifactoryはバイナリを管理できる。 2タイプありSaaSタイプと、オンプレミスやAWS上に自分で構築できる

JFrogは一般的なバイナリレポジトリ

Artifactoryの管理

  • チェックサムベースのストレージ
  • データは追加のみ
  • 不要ファイルの管理

データの冗長化

ディスクレベルでの冗長化

リージョンレベルでの冗長化

HERE Technologiesでの事例

HERE Technologiesは、ドイツのBMW、ダイムラーおよびアウディが所有するネット地図サービス会社です。 Artifactoryを使ってアプリを管理しています。

Artifactoryの高可用性なアーキテクチャ

ロードバランサを利用し冗長性を行なっている

また、DR対策としてリージョン間でのレプリケーションを行なっている

以前は、ツールごとにリポジトリを管理していたが、今はArtifactoryでインスタンス上に集約している。

以前は、ファイルストレージとしてEC2 + EBSで運用していたが、現在はEFSに以降している。

  • タイムアウトの問題がない
  • 自動でスケールする
  • 使ったぶんだけの料金
  • 静的DNSでのアクセス

EFS/NFS/S3のパフォーマンス比較

バックアップ

  • CI/CDをトリガーにS3バックアップ
  • 週次でS3へバックアップし1週間保管、それ以降は365日Galcierへ保管
  • 日時でEFSへバックアップ

まとめ

EFSを利用した事例でした。はやく日本もGAして欲しい!!