• 検索結果がありません。

アプリケーションの再設計 - メッセージ基盤

ドキュメント内 PowerPoint プレゼンテーション (ページ 31-56)

XII. 管理プロセス

5. アプリケーションの再設計 - メッセージ基盤

• コミュニケーションアプリゆえ、主機能となるチャットの役割が重要

• データベースに求められる要件

高スケーラビリティ

高信頼性

高可用性

• AWS DynamoDB の採用のポイント

規模に関係なく数ミリ秒台のパフォーマンスを実現

全データを標準で暗号化

フルマネージドのため、標準でオートスケーリングや継続的バックアップに対応

5. アプリケーションの再設計 - メッセージ基盤

Amazon ECS の運用

• ECS (Elastic Container Service)

コンテナ化されたアプリケーションを本番環境で実行するオーケストレーションサービス

• ECS

2

つの起動方法をサポート

• EC2: ECS

内部で

EC2

を利用

• Fargate:

インスタンス管理はフルマネージド

同様のサービスとしては

Kubernetes (k8s)

がある

• AWS

では

EKS (Elastic Kubernetes Service)

として提供

Amazon ECS の運用

• メタップスでは 2016 年より Amazon ECS の運用を開始

• ECS の運用状況

稼働システム数

: 26

クラスタ

: 50

サービス

:

200

Amazon ECS - クラスタ構成

• アプリケーションクラスタから集約したログをログクラスタで分析

• ログレベルに合わせて重要なメッセージは Slack に通知

• 整形したログを Elasticsearch や S3 に配送

ログの可視化 - Kibana

ECS 運用 Tips- 設計

• サービスディスカバリの活用 (AWS Cloud Map)

コンテナ間通信を

DNS

で解決

• サービスは機能単位で分割

疎結合な構成。サービス間は

API

で通信

パスベースルーティングを用いたフォワード

サービスごとのタスク数、リソース割当を調整

• 集約ログ

ログクラスタとアプリケーションクラスタの関係性は

1:n

ECS 運用上の工夫 - デプロイ

• デプロイツール「 genova 」を内製で開発。 OSS で公開

• https://github.com/metaps/genova

• 特徴

• GitHub

と連携し、

ECS

タスクの作成からイメージビルド、

ECR

へのイメージプッシュ

• Run task

の実行や、サービス・タスクスケジュールのデプロイをサポート

• CLI

デプロイのほか、

GitHub Push

による自動デプロイ、

Slack

を用いた対話形式のデプロイをサ ポート

Fargate の運用 - 課題

• SSH が出来ない

• docker exec

ができないため、メモリリークなどの問題が発生した際のトラブルシュートが困難

• ログドライバが Fluentd をサポートしていない

サポートするログドライバは

CloudWatch Logs

Splunk

のみ

• 2019

9

6

日、「

Amazon ECS and AWS Fargate FireLens Preview Program

」という形でパブリック プレビューが公開

• FireLens

ドライバ経由で

Fluentd / Fluentd Bit

に対応

セキュリティ対策の観点

• 課題

人為的ミスの防止

誤ったセキュリティグループの設定

• Amazon S3

に対する不適切なバケットポリシーの適用など

攻撃に対するリソースの保護

プログラムの脆弱性を突いた攻撃

(XSS

OS

コマンドインジェクションなど

)

• DDoS

攻撃など

• 解決策

• AWS

セキュリティオートメーションツールの導入

(AWS WAF

Amazon GuardDuty

など

)

外部による脆弱性診断など

すぐに始められるセキュリティ対策

概要 概算時間

Well-Architected Tool

アーキテクチャのレビュー

1

時間

Trusted Advisor の実行

セキュリティやパフォーマンスの観点から

AWS

の推奨設定をレポート

5

GuardDuty の有効化

機械学習によるンマイニング、

AWS

リソースの異常検知

(

コイ

SSH

ブルートフォースなど

) 5

CloudTrail の有効化 AWS

アカウントのアクティビティを監視

5

Config の有効化 AWS

リソースの変更を監視

5

WAF の有効化 Web

アプリケーションに対する攻撃をブロッ

クするファイアウォール。

DDoS

攻撃にも対応

10

Inspector の有効化 EC2

に診断用エージェントをセットアップして

30

インフラのイベント監視

• AWS の各種サービスから出力されるログを Lambda で分析

• WAF

の攻撃検知

コンプライアンス違反のリソース

• EC2

リタイアメント通知

• 重要度の高いイベントは Slack に通知

• 監視ツールは Serverless Framework で実装

• ログは Amazon Elasticsearch Service に配送

イベント監視の通知

re:shine - 株式会社メタップス

• 双方向のフリーランスマッチングプラットフォーム

• フリーランスや、副 ( 複 ) 業者向け

3

日から可能、フリーランス型正社員という新しい雇用形態

すべて無料のフリーランスマッチングプラットフォーム

• 企業向け

フリーランスを活用したい企業のサポート

費用は紹介手数料の

5%

のみ

(

無料キャンペーン中

)

miime - 株式会社メタップスアルファ

• ゲームのキャラクターやアイテムを始めとしたデジタルアイテム (NFT) をユーザー同士で売買する場を提供

• ブロックチェーンを活用することで、売買が成立してすぐに支払いとデ

ジタルアイテム (NFT) の所有権移転が同時に実行される仕組みを実現

チケットペイ - 株式会社メタップスペイメント

• チケット販売サービス

• 初期契約料、イベント登録料、紙代など全て無料

• インフラ構成管理の導入により、オンプレから Amszon ECS に移行

Capy パズル CHAPTCHA - Capy 株式会社様

• Web サイト、スマートフォンアプリなどにおける Bot からの攻撃に対策するクラウド型サービス

国内外の権威あるカンファレンスでの受賞は

10

以上

• Capy が提供する JavaScript をサイトに貼り付け、

API 連携に必要な情報を POST するだけで導入可能

• インフラ基盤をマルチクラウド化

• ECS

を始め、インフラ監視基盤やデプロイツールを導入

総括 - 構成管理の重要性

• コード再利用によるインフラ構築コストの削減

• コード共有に伴う技術共有の活発化

• エンジニアのインフラスキルの向上

総括 - 構成管理の改善イテレーション

メタップスにおける今後の課題 - SRE

• SRE: Site Reliability Engineering

• ミッション

ソフトウェア主導によるサービス品質の向上

• 主な仕事

インフラの設計、構築

運用の最適化、自動化

システムの監視、障害対応

• 課題

アプリケーション監視

(APM)

メタップスにおける今後の課題 - ESC

• ESC: Engineer Steering Committee

• ミッション

組織的なエンジニアリングの最適化

• 役割

全社的な開発

/

運用方針の決定

• 課題

エンジニアの働きやすい環境づくり

エンジニアの成長サイクルの確立

全社的なメディア露出の強化

SRE としてメタップスグループのインフラ基盤を支えてくれる方、

エンジニアとしてサービスに興味を持ってくださった方 ! 是非話を聞きにきてください !

[email protected]

ドキュメント内 PowerPoint プレゼンテーション (ページ 31-56)

関連したドキュメント