Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
自社WEBサービスのAWS活用と継続的改善 -入社4ヶ月目の視点-
Search
mamemoyashi
July 31, 2024
Technology
220
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
自社WEBサービスのAWS活用と継続的改善 -入社4ヶ月目の視点-
mamemoyashi
July 31, 2024
Other Decks in Technology
See All in Technology
AI時代だからこそ推したい!Gitコマンド再入門
munakata
0
170
しろおびから始める!ログ活用の第一歩
shumei_ito
0
860
会社説明資料
persolserverworks
0
9.7k
パッチ更新でterraform initが落ちた日
grimoh
1
120
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
220
Cognition AI Japan - ウェビナー2_テストQA_運用監視
cogakira
0
130
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
230
AI時代のPRレビューにどう向き合うか?
kairim0
1
160
初対面のメンバーがチームを組み、Claude Codeでゼロからサービスをリリース
mkdev10
1
120
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
270
自作バイナリを動かす「入口」8選
puhitaku
2
1.3k
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
1.1k
Featured
See All Featured
First, design no harm
axbom
PRO
2
1.3k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
610
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
490
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
980
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Speed Design
sergeychernyshev
33
2.1k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
710
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
260
Art, The Web, and Tiny UX
lynnandtonic
304
22k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Transcript
自社WEBサービスのAWS活用と継続的改善 〜入社4ヶ月目の視点〜
前提 本セッションの話す内容と資料について、下記をご留意ください。 ❏ 2024年7月29日時点の情報であること ❏ 入社して4ヶ月の社員が話をすること
自己紹介 ❏ 株式会社グッドバトン ❏ 梅西 一秀(うめにし かずひで) ❏ 2024年4月入社
❏ 3児の父親 ❏ システム・サービス開発歴:21年(AWS歴:6年)
会社紹介 ❏ 会社名:株式会社グッドバトン ❏ 設立:2017年7月7日 ❏ 事業内容 ❏ 病児保育室の検索・予約サービス
❏ 病児保育室の経営コンサルティング
あずかるこちゃん 病児保育ネット予約サービス
開発環境 ❏ インフラ:AWS、Line、SendGrid、Rollbar、Datadog、ImageFlux ❏ バックエンド:Ruby ❏ フロントエンド:TypeScript、React、(jQuery) ❏ データベース:Aurora(MySQL)、ElastiCache(Redis) ❏
バージョン管理:GitHub ❏ CI/CD:CircleCI ❏ ドキュメント:Notion、Figma、GoogleDrive ❏ チケット管理:Notion、GitHub ❏ コミュニケーション:Slack、Zoom、Discord
サービス構成
改善できていること
改善できていること(1/4) ※Amazon ECS に最適化された Linux AMI メタデータを取得する: https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/retrieve-ecs-optimized_AMI.html ❏ ECS
on EC2 から ECS Fargate に移行 ❏ EC2の管理コスト削減し、可用性を向上できた ❏ EC2のリソース管理がなくなり、最適化されている ❏ AMI交換含むパッチ適用の考慮(※)がなくなった
改善できていること(2/4) ❏ デプロイが自動化できている ❏ DBスキーマ更新はDBマイグレーション機能を利用している ❏ データ洗い替えは Rakeタスク(※)で実施している ①ビルド・イメージをECRにプッシュ ②DBマイグレーション実行タスク起動
③ホールド(追加) ④WEB・バッチのタスクをデプロイ ⑤Rakeタスクの実行 push trigger ※Rake は Make によく似た機能を持つ Ruby で書かれたシンプルなビルドツール https://docs.ruby-lang.org/ja/latest/library/rake.html より抜粋
改善できていること(3/4) ❏ 不要なAWSの設定やリソースの変更・削除(1/2) ❏ ローカルからのRDSアクセスを、踏み台によるSSHポートフォワーディングから SSMのポートフォワーディングに変更 引用:https://aws.amazon.com/jp/blogs/news/use-port-forwarding-in-aws-systems-manager-session-manager-to-connect-to-remote-hosts-jp/ # TASK_ID=3b72eca0146e45f9af3be8e2a6414075 TASK_ID=$(aws
ecs list-tasks --cluster ${CLUSTER} \ --service ${SERVICE} | jq -r '.taskArns[0]' | awk -F'/' '{print $NF}') # CONTAINER_ID=3b72eca0146e45f9af3be8e2a6414075-3215599361 CONTAINER_ID=$(aws ecs describe-tasks \ --cluster ${CLUSTER} --task ${TASK_ID} \ jq -r --arg N ${CONTAINER_NAME} '.tasks[0].containers[] | select(.name == $N).runtimeId') # ポートフォワーディング接続 aws ssm start-session \ --target ecs:${CLUSTER}_${TASK_ID}_${CONTAINER_ID} \ --document-name AWS-StartPortForwardingSessionToRemoteHost \ --parameters '{"host":["'${DB_ENDPOINT}'"],"portNumber":["3306"], "localPortNumber":["'${DB_LOCAL_PORT}'"]}'
❏ 不要なAWSの設定やリソースの変更・削除 ❏ Cloud Watch Logs のサブスクリプション フィルター削除 実行コストを無視できないよ 改善できていること(4/4)
. . . ログ出力
改善したいこと
改善したいこと(1/5) ❏ バックエンドとフロントエンドの分離 ❏ 運用・管理コストを削減できる ❏ メンテナンス性とパフォーマンスが向上できる
改善したいこと(2/5) ❏ セキュリティを強化する ❏ Amazon GuardDuty Malware Protection for Amazon
S3の導入検討 S3 バケットにアップロードされた新しいオ ブジェクトにマルウェアがないか継続的 に評価し、見つかったマルウェアを隔離 または排除するためのアクションを実行 できます。Amazon GuardDuty Malware Protection は、Amazon Web Services (AWS) が開発した、業界をリードする複 数のサードパーティーマルウェアスキャ ンエンジンを使用して、Amazon S3 のス ケール、レイテンシー、耐障害性を低下 させることなくマルウェアを検出します 引用元:https://aws.amazon.com/jp/blogs/news/introducing-amazon-guardduty-malware-protection-for-amazon-s3/
改善したいこと(3/5) ❏ コストを最適化する ❏ S3の Intelligent-Tiering の設定 ✓ ライフサイクル設定との比較や併用の検討したほうが良いかもしれない... 🤔
引用元:https://aws.amazon.com/jp/s3/storage-classes/intelligent-tiering/
❏ Auroraインスタンスクラスと下記パラメータ設定値の見直し ❏ WEBサーバー(Nginx)リクエスト最大数 ❏ アプリサーバー(Puma)リクエスト最大数 ❏ Railsのコネクションプーリング最大数 ❏ Auroraのコネクション最大数
改善したいこと(4/5) 引用元:https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/AuroraMySQL.Managing.Performance.html#AuroraMySQL.Managing.MaxConnections
❏ S3バケットのプリフィックス設計を見直す ❏ 1prefixあたり以下の上限があり、超えると 503 エラーになる ❏ PUT/COPY/POST/DELETE:3,500 リクエスト/秒 ❏
GET/HEAD:5,500 リクエスト/秒 改善したいこと(5/5) 引用元:https://pages.awscloud.com/rs/112-TZM-766/images/AWS-01_Storage_AWS_Summit_JP_2024.pdf 参考:https://repost.aws/ja/knowledge-center/http-5xx-errors-s3
まとめ ❏ 弊社とそのサービスを紹介 ❏ サービスの改善していること・改善したいことを一部紹介 ❏ 関連サービスや技術等で相談し合える仲間を探してます!
ご清聴ありがとうございました