「awsを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜
DESCRIPTION
TRANSCRIPT
![Page 1: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/1.jpg)
AWSを活用して少人数で複数のサービスを運用するコツ
株式会社 ソニックガーデン安達 輝雄
![Page 2: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/2.jpg)
自己紹介
開発しているサービス
@interu 安達輝雄
アプリケーションの開発+
インフラの構築/運用
http://interu.hatenablog.com
![Page 3: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/3.jpg)
SonicGarden
エンジニア:5名
![Page 4: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/4.jpg)
開発/運用サービス一覧自社サービス
パートナーシップモデル
・データ販売サイト・ドキュメント配信・Flash動画生成サービス
・植物栽培キッド販売サイト・SEO関連サービス ・・・etc
![Page 5: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/5.jpg)
いくつものサービスを
たった5人のエンジニアでどうやって
開発 / 運用 してる?
![Page 6: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/6.jpg)
Answer.
DevOpsand
AWS/Herokuand
自動化/共通化/効率化
![Page 7: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/7.jpg)
:5 : 5
利用比率
![Page 8: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/8.jpg)
今日はJAWS-UG。
Herokuの話はすべて割愛!
![Page 9: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/9.jpg)
そろそろ本題に
SonicGardenはサービス運用について
どのように考えているか?
![Page 10: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/10.jpg)
SonicGardenのMission
開発 > 運用
![Page 11: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/11.jpg)
SonicGarden流サービス運用ポリシー
構築/運用コストは抑えつつ安定したサービスを提供する
![Page 12: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/12.jpg)
運用コストをどのように抑える?
![Page 13: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/13.jpg)
構築/運用コストを抑える
航空業界の
LCC的発想
![Page 14: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/14.jpg)
構築/運用コストを抑える
● 機体を1つのシリーズに統一● 研修/教育コストを抑えれる● パイロットなら誰でも運転できる
※ 機体毎に免許取得が義務付けられている
● システムの自動化● チェックイン等を全てシステム化● 通常フローで人を介すサービスをしない
LCC
![Page 15: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/15.jpg)
構築/運用コストを抑える
● OS/ディストロを統一
SonicGarden
- ミドルウェア導入/設定- セキュリティ設定など基本設定を行ったテンプレートAMIを作成し、アプリのみを入れ替えてサービス
構築/運用コストの削減
![Page 16: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/16.jpg)
安定したサービスの提供
● システムの自動化
SonicGarden
- EBSスナップショットの取得- 実データをS3にバックアップ- AMIの定期作成 ...etc
安定した品質を全サービスで提供
![Page 17: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/17.jpg)
LCC的発想以外にも...
![Page 18: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/18.jpg)
新しいディストロの採用
● 新しいパッケージを利用可能● アプリケーションF/Wに追従しやすい
● パッケージがメンテされている● Security Fix / Bug Fixをすぐに適用できる
運用コストを削減
2年で全乗り換え
![Page 19: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/19.jpg)
ディストロの置き換えは大変では?
![Page 20: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/20.jpg)
Railsのバージョンアップに伴いAPサーバを新しいディストロに切り替え
Ruby 1.8.7 ⇛ 1.9.3
![Page 21: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/21.jpg)
リプレースまでの過程
(0)新環境構築
(1)新環境単体でテスト
(2)新環境に本番データを利用して動作確認
(3)新環境を本番DBに接続し限定ユーザで試用
(4)新環境を本番環境に切り替え
EBSの活用
EC2の活用
![Page 22: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/22.jpg)
リプレースまでの過程
(0)新環境構築
(1)新環境単体でテスト
(2)新環境に本番データを利用して動作確認
(3)新環境を本番DBに接続し限定ユーザで試用
(4)新環境を本番環境に切り替え
![Page 23: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/23.jpg)
リプレースまでの過程
(0)新環境構築
(1)新環境単体でテスト
(2)新環境に本番データを利用して動作確認
(3)新環境を本番DBに接続し限定ユーザで試用
(4)新環境を本番環境に切り替えELB/Route53/Elastic IPの活用
![Page 24: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/24.jpg)
その他、効率化を目的に
いくつか取り組んでいることを紹介
![Page 25: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/25.jpg)
① バックアップ
![Page 26: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/26.jpg)
① バックアップ
データ/ログのバックアップを取得するのは当たりまえ
バックアップ処理中のエラー検出も当たりまえ
![Page 27: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/27.jpg)
① バックアップ
本当にバックアップを取得できてる??
![Page 28: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/28.jpg)
① バックアップバックアップしたものが
存在するかを確認する方が確実
だけど・・・複数サービスを運用していると
全てを確認するのは一苦労
![Page 29: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/29.jpg)
① バックアップ
AWS Backup Checker指定した期間内のバックアップが存在するかをAWSのAPIを利用してチェック - EBS snapshot - S3 - AMI
![Page 30: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/30.jpg)
![Page 31: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/31.jpg)
アプリケーションログ、システムログ、アプリケーションデータ
データディスクのスナップショット
![Page 32: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/32.jpg)
Coming Soon.
![Page 33: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/33.jpg)
② AWS障害対策
![Page 34: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/34.jpg)
AWSは障害が少なくて非常に助かってます!
が、
障害を0にはできないのが現実
![Page 35: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/35.jpg)
過去に遭遇した大規模障害
● 2011年4月
us-eastでEBS障害http://interu.hatenablog.com/entry/20110425/1303731515
● 2012年6月
us-eastで電源障害・API障害
![Page 36: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/36.jpg)
障害からの学び
EBS障害が発生すると● EBS bootのAMIは起動不可● EBS上のデータへのアクセス不可
![Page 37: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/37.jpg)
障害からの学び
⇛ DR対策できあがり
● Instance storeタイプのAMIを
別Regionに作成しておく● データも別RegionのS3にバックアップ
![Page 38: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/38.jpg)
で、何を効率化したの?
![Page 39: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/39.jpg)
● 定期EBS snapshot取得スクリプト● EBS boot型AMI作成スクリプト● Instance store型AMIを別Regionに
作成するスクリプト ※要AKIの準備
https://github.com/interu/management_utilities
![Page 40: 「AWSを活用して少人数で複数のサービスを運用するコツ」〜jawsug in nagoya〜](https://reader034.vdocuments.mx/reader034/viewer/2022051108/5465eb08b4af9f443f8b4e33/html5/thumbnails/40.jpg)
Fin.