JAWS-UGコンテナ支部 #4に参加してきた #jawsug #jawsug_ct
コンニチハ、千葉です。
JAWS-UGコンテナ支部 #4に参加してきました!
場所は、株式会社サイバーエージェントさんのセミナールームをおかりしました!!100人でも余裕のスペースで、スクリーンも3つあり、どの席に座っても見やすかったです。
それでは、レポートをお送りします!
「好きです ECR (仮)」 @orih_y さん
そもそもECRをなぜ作ったのか?というところからECRと、自前で用意するDockerレポジトリの違い等についてのお話でした。
ECRとは?
- プライベートなイメージを置く場所が欲しかったのでサービス化した
- ECRとは、フルマネージドなDockerレジストリ
- デフォルトでHTTPSなのでセキュリティも高い!
- IAMでpullやpushのアクセスを制御できる
- バックエンドはS3なので可用性、堅牢性ともに高い
ECRとDocker Registryの違い!
- ECRの場合はタグ名で、ECRのエンドポイントを指定する(タグ名にアカウントIDとかレポジトリ名を入れる)
- ECR登場の前はどうしていたか?
- dockerレジストリを自前で運用してた
- レジストリのバックエンドをS3とかにすると、dockerレジストリの起動オプションがかなりあった(運用が大変)
パーミッションの設定
- IAMやAWSアカウントレベルでアクセスの制御が可能
価格
- Docker Hub、自前でレジストリ(EC2+S3)より断然安い!
機能比較
- webフック等がない(jenkinsと連携)
まとめ
- 早く東京に来て欲しい!!
資料はアップされないとのことで、記念写真をパシャリ
ECRは本当に運用が楽になるので、早く東京に来て欲しいです!!!
「お前のDockerイメージはまだ重い〜体脂肪一桁のDockerイメージを目指して〜」 株式会社サイバーエージェント @stormcat24 さん
- Dockerの減量に特化した話でした。1GBのdockerにpullにどれくらいかかる?60秒はおそい!
- コンテナイメージが太るとビルド、CI、ダウンロード、アップロードの時間がアップ!生産性が落ちて、twitterする時間が増える!なので、イメージを減量していく必要がある!
- どうやって減量するか?
- Dockerイメージのレイヤー(ファイルシステム)を減らす
- Dockerファイル等で設定を外出しする→レイヤーを1つにまとめる
- 産業廃棄物(開発中にでるゴミ)を減らす
- yumやapt-getのゴミ
- アプリのソース
- git
- 成果物だけ残す!
- ボリュームマウントを利用する(ホストのボリュームを使う)
- 公式イメージを使うべき?
- 自分でカスタマイズしたほうが減量できる
- scratchというイメージ:lsコマンドもないかなりの軽量、ECSエージェントでも使われている。他にもBusyBox、Alpine Linuxなどがある
- 注意点
- 減量を極めていくとデプロイが早くなるが、職人芸になってくる。トレードオフ
- ImageLayer.io
- dockerのどこで容量がくっているか?を診断してくれるツール
- アプリケーションレベルでの減量
- 不要モジュール削除
- 静的ファイルなどは外部に出す
アプリ含めた減量を考慮していく必要があるとのことでした! Alpineというイメージを使うとnginxのイメージが150MBから20MBまで減量することができたそうです。 公式イメージを使うよりも減量ができそうです。
「実践ECS-CLI(デモ)」 @pottavaさん
[デモ] https://github.com/jawsug-container/example-voting-app
docker-composeを使ったデモでした。
今まで、複数コンテナを立ち上げる場合は、コンテナ1をrun、コンテナ2をrunみたいに自分でシェルを書く必要がありました。
docker-composeを使うと、YAMLファイルを書いてコマンド一発で、複数コンテナを起動、停止、削除まで実施することができます。これは、とてつもなく便利!だと思いました。
みなさんも、デモをすることでdocker-composeの威力を感じられるのではないかと思います!
「ECSを使ったAutoScalingの実装Tips」 クラスメソッド株式会社 千葉 淳
私もお話してきました。ECSはAutoScalingに対応していないのですが、CloudWatch Eventsを使ってAutoScalingに対応したというお話です。
ネックなのはAutoScalingに5分かかってしまうことです。これを、あと2分は早くしたい。
最後に
みなさんプロダクションでも使われているようで、慣れるとEC2感覚で使えるようです。慣れるために、ローカル環境を全てdockerにしてみようかなと思いました。
この後のLT大会も盛り上がりました。トニーモリスミートアップに参加した話はとても興味深かったです。
LT大会の資料や様子はこちら
コンテナ支部の運営のみなさま、参加されたみなさま、ありがとうございました!