LoginSignup
5
3

More than 5 years have passed since last update.

JAWS-UG コンテナ支部 #14  スライドと概要まとめ

Last updated at Posted at 2019-03-20

はじめに

以下のイベントとなります。
JAWS-UG コンテナ支部 #14 - connpass

スライドまとめと、自分が興味を引かれた部分を抜粋してます。
初めのLT2つの内容中心となります。
connpassで後日スライドがまとまって掲載されるようなので、そちら掲載されたら補填します

catabira.com における Amazon EKS 活用事例Kubernetes による継続的デリバリ編

登壇者:池内 孝啓@catabira(@iktakahiro)さん | Twitter
資料:catabira.com における Amazon EKS 活用事例Kubernetes による継続的デリバリ編 / eks-cd-usecase-at-catabira - Speaker Deck

コンテクスト紹介

ブロックチェーンシステムの監視、メトリクスのサービスをSaaSで提供
Golangを使用

概要

kubernetesは楽しい
CI/CDの考え方は変わらない
EKSはproduction使用できるフェーズです

技術スタック AWS構成

ノード編成が特殊
イーサリアムクライアントの方がツラミがたくさん
なので他のノードとは切り分けて運用している
image.png

  • ブロックチェーン ノード運用問題
    Parityというイーサリアムクライアントを使っている
    同期に時間がかかる
    ディスク容量を食う
    稀にデータが壊れる
    EC2とEBSでRDSっぽくなるよう運用しないといけない
    辛い スケールもよしなにしない

  • PersistentVolume
    AZまたげないので(EBS) 耐障害性弱い

  • Stateful SetsをLBの下に
    スケールするが運用の負が解消するわけではない

  • Amazon Managed BlockChain
    イーサリアム対応待機
    ノードの管理から解放されるかも

k8sと継続的デリバリ

継続的出荷 改善イテレーション高速で回す
今までとこの概念は同じ
マニフェストファイルをどう管理運用していくかがk8s特有

CircleCIによるマニフェスト適用更新の課題

  • 環境によってconfigMap変えたい 
  • deploymentにも反映させたい
    それ、Kustomizeでできる!!

Kustomizeとは

ymlの部分更新や結合をよしなにやってくれるコマンドツール
レプリカの数を環境で変えるだけとかなら生成できる

EKS k8sのtips

  • eksctl 
    EKSやノードグループの構築をよしなにやってくれるコマンドラインツール
    cloudformationは辛いぞ こちら導入時にとりあえずおすすめ
  • New Relic
    モニタリングに対応したマニフェストあり
    コンテナが期待数上がってるかの監視もできる
  • CloudAWatch Logs
    コンテナログを保全する
    取り急ぎまずぶち込む ログ監視はコンテナ運用で必須
    FluentedをDaemonSetとして駆動させるのも楽
  • Virginia Region
    みんなgithubとかのソースがどのリージョンにあるかは気にしないのに
    どうしてそんなに気にするのか
    レイテンシー問題がシビアでないならTokyoリージョンにないサービス試していこう
  • WorkerはPrivate Subnetに配置しSSMを使う

ECSとFargateを本番投入して得た悲喜交交

登壇者:あー。(@masa2129)さん | Twitter
資料: ECS Fargateを本番投入して得た悲喜交交 - Speaker Deck


掴みが最高です

コンテクスト紹介

マイクロアーキでサーバサイドkotolinでやってる

Fargate ECSについて

+サーバレス EC2の管理しなくていい
-起動が遅い sshで中に入れないので調査しづらい

ELBヘルスチェック kills EC2 task

  • 現象
    ある日ECSコンテナ突然立ち上がらなくなった
  • 原因
    タスクに対して複数コンテナを当てたら起動遅くなって、ヘルスチェックに引っかかったから殺された
  • 助け舟
    ヘルスチェックの猶予期間
  • Datadogのすすめ
    ヘルスチェック失敗イベントを取得、アラート設定をするのがとても楽
    Fargateはssh接続できない
  • 前提
    そもそもコンテナにsshすべきじゃない ログとかメトリクスの収集は周辺サービスを使うべき

メモリリークの原因調査で苦しむ

Remote JMXの調査は例外で詰む
ローカルで再現しようとするが無理、EC2で再現しない つみそう、、、

  • 助け舟
    救ってくれたのはSpring Boot Actuator
    heapdump取れる
  • 原因
    Datadogとspring Webfluxが共謀してお漏らししていた
  • 邪道
    sshdをコンテナにインストールする

まとめ

  • マイクロサービス サーバレス  コンテナ運用
    VMや物理サーバー運用してたやり方ツールが同じように価値を発揮できるとは限らない
  • いろんなツールに助けてもらいながらシステムを作る
    もはやログ収集メトリクス監視ツールの使用は必須

  • いろいろ言ったけどFargate好きです

以下の内容に歓喜


しかし今の対象EC2だけ、、


kotlinなどJVM系言語とコンテナ運用相性悪くて、結構辛いらしい


(技術選定としてjavaの知見が使えそうだったから選んだだけとのこと)

frontend for microservices with containers

登壇者: @inductor
資料:frontend for microservices with containers - Speaker Deck

Engineering life with containers on AWS

登壇者:@tnir
資料:Engineering life with containers on AWS - Speaker Deck

ETL処理をFargateを使って行う

登壇者:@HibinoHisashi
資料:未掲載

要約

EC2での運用はつらみ
S3-input-pluginとfargateの相性良くない
次回はEKSで

体当たりecs-cli w/ fargate!

登壇者:さわら(Hiroaki Ogasawara) さん
資料:体当たりecs-cli w/ fargate! - Google スライド

Fargateは何が嬉しいのか

登壇者:@shnagai さん
資料:Fargateは何がうれしいのか/ fargate-whats-nice - Speaker Deck

要約

Fargateは運用フェイズで安定する 
EC2のRIより高い リザーブドな購入待ち望んでいます
データプレーンとして認識した方が良い

Fargate+ECRでelastalertを構築

登壇者:やったん さん
資料:Fargate + ECR で elastalertを構築 - Speaker Deck

要約

ElasticSearchの監視にelastalert使ってる
dockerimage RESTAPIも用意されてる
SlackやSNSでの通知が用意
ただ、ルール設定が結構難しい 

Fargate Blue/Green Deplpy

登壇者:@koarakko
資料: 掲載なし
AWS CodeDeploy による AWS Fargate と Amazon ECS でのBlue/Greenデプロイメントの実装 | Amazon Web Services ブログ

要約

旧環境の退役をマネージドできる
戻すのが簡単なので結構おすすめ

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3