Blog

NIFTY Tech Talk #3 マルチクラウド管理ノウハウ公開(AWS、ニフクラ)に登壇しました!

はじめに

こんにちは!新卒入社4年目の小松です。主にお客様が初めて@niftyをご利用になる際の無料ID会員登録システム、いろいろなサービスをご利用になる際のログインシステムの開発・運用を担当しています。
先日「マルチクラウド管理ノウハウ公開(AWS、ニフクラ)」に登壇しましたので、その様子を紹介していきます!

イベント概要

NIFTY Tech Talk は、ニフティ株式会社の社員が主催するトークイベントです。
本イベントではニフティ社員が業務を通じて学んだことを発信しています。
第三回目となる今回は、「クラウドコスト」に関するテーマで開催しました。
ニフティでは、主にAWSとニフクラ、少しGCPを利用したマルチクラウドを管理しています。
  • テーマ1:「コストダウンの取り組み」
  • テーマ2:「コスト可視化の取り組み」
  • テーマ3:「コスト管理の取り組み」
イベントの詳細についてはこちらの記事でも紹介しておりますので、ぜひご覧ください。
また、今回の Tech Talk のアーカイブを YouTube にアップロードしております。
こちらもご覧いただけますと幸いです。

内容レポート

各テーマから一部抜粋して、どのような内容だったかご紹介したいと思います。

オープニング

今回はTech Talk初のYouTube Liveで開催しました。 はじめにニフティの会社紹介、登壇者の自己紹介から始まりました。
今回は最後にニフティポイントのプレゼントもありました!
今回の登壇者
  • 小松 勇貴:会員システムグループ グループ長
  • 福田 紫穂:インフラシステムグループ マネージャー
  • 河野 曜平:インフラシステムグループ インフラチーム
  • 小松 初:基幹システムグループ サービスインフラチーム
  • 深田 健太:会員システムグループ メールチーム

ニフティでのクラウド利用状況

ニフティでは現在、AWS・ニフクラ・GCPを利用しています。アカウント数は、AWS約240、ニフクラ約150、GCPが少数あり、これを社員のエンジニア150人で管理しています。
過去3年分のクラウドコストを見てみると増加傾向にあるのと、クラウドの予算と実績の乖離も増加傾向であったため、全社的にクラウドコストダウンとコスト管理強化に取り組みました。

テーマ1:「コストダウンの取り組み」

まず1つ目のテーマは、「コストダウンの取り組み」です。
実際に社内で取り組んだAWS、ニフクラのクラウドコストダウン方法を一部紹介しました。
初歩的なものから紹介しているので、何か参考になるものがあれば幸いです。
紹介した取り組み一覧です。
  • 不要サーバ停止
  • スペック見直し(サーバ、ディスク)
  • 料金プランの変更
  • 利用時間外のリソース停止
  • Fargate Spotの利用
  • AWSによる推奨事項の活用
  • AWS RI/SPの適用
  • Amazon CloudFront Security Savings Bundleの適用
  • AWSの通信量の節減
  • CloudWatchログの保持期間設定
例えば、全クラウド共通でコストダウン効果が大きいものとしては、利用時間外のリソース停止があります。ここではAWS Lambdaとニフクラ、AWSのそれぞれのSDKを用いて、スケジューリングを行う方法を紹介しました。なおニフクラの場合は月額課金ではなく、従量課金にしておく必要があります。

工夫した点

工夫したことの一部にはチーム全員でクラウドコストダウンを取り組む方法として、スクラム開発で行った話を紹介しました。
ニフティでは、スクラム開発を導入するチームも増えてきています。

テーマ2:「コスト可視化の取り組み」

2つ目のテーマでは、「コスト可視化の取り組み」です。
継続的にクラウドコストダウンをするために、マルチクラウドのコスト可視化に取り組んだ話を紹介しました。
各ベンダーから提供されている生データをそのまま分析するのは手間なので、AWSとニフクラの請求情報をRedashでグラフ表示させた話をしました。
AWS、ニフクラ、それぞれの請求データ収集方法も話していますので、気になる方はアーカイブの方をご覧いただけますと幸いです。
さらに、フィルターを充実させることにより、期間ごと、プロダクトごと、部署ごとにフィルターをかけることができて、分析しやすくなりました。
今後は機械学習など用いて、予測額の精度を上げていく取り組みを行っていきます。
またGCPなどにも対応予定になっています。

工夫した点

AWS為替レートの取得で工夫した点を紹介しました。
フォーマット変更に弱い、AWSのPDFベースの請求書からデータ取得をやめ、AWS CURからデータを取得するようにしました。
このためにAWS Lambdaを実行する必要がありますが、さらにSlackワークフローを用いるように工夫したことにより、アカウントにログインせずとも、誰でも請求データを作成できるようになりました。

テーマ3:「コスト管理の取り組み」

最後のテーマは「コスト管理の取り組み」です。
適正なコストを維持するための、コスト管理の仕組みを紹介しました。
各アカウント単位で月次のクラウドコスト見通し額を立て、月末実績と一定以上の乖離があれば、差額と理由を報告する仕組みを導入した話をしました。
アカウントごとに見通しと実績に一定以上の乖離があれば、アラートが飛ぶ仕組みもあり、コスト見直しのきっかけになっています。
見通し額などの修正をする場合は現在Slackワークフローで申請するようになっていますが、もっと申請の手間をなくすためのプラットフォームを開発しています。

利用者側からの感想

  • アラートによって実際に誤請求に気づけた
  • AWS、ニフクラの全アカウントにアラート設定をしてくれているので、手間がかからず助かっている
  • アラートが来た場合は原因調査もするためクラウドコスト意識は上がった
などの感想があり、実際にクラウドコスト意識向上に役立っています。

大変だった点

経理が円で管理しているのに合わせて、AWSも円で管理していたが、円安影響を受けアラートが大量に出てしまった話をしました。
これにより、「円安影響のため」といった無意味な見通し額修正の申請が大量にされてしまい、AWSはドルで受け付けるようにシステムの改修をしました。

まとめ

今回の Tech Talk では、ニフティでのマルチクラウドコスト管理方法、クラウドコストダウン方法を紹介しました。
1 時間という短い枠だったので、今回話しきれなかったものもありますが、参考にできるものがあれば幸いです。
初のYouTube Liveで開催でしたが、コメントくださった方もいました。ありがとうございました。
今後も NIFTY Tech Talk は継続して実施していきますので、ぜひご参加ください。

We are hiring!

ニフティでは、さまざまなプロダクトへ挑戦するエンジニアを絶賛募集中です! ご興味のある方は以下の採用サイトよりお気軽にご連絡ください! Tech TalkやMeetUpも開催しております! こちらもお気軽にご応募ください!