[レポート] Cost-Driven AWS クラウドアーキテクチャデザインとコスト最適化方法 #jawsdays #jawsug

2018.03.10

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。サービスグループの武田です。

本日はJAWS-UG主催のイベント、JAWS DAYS 2018に参加しています。

先ほど「Cost-Driven AWS クラウドアーキテクチャデザインとコスト最適化方法」に参加しましたので、そのレポートを紹介します。

セッションの概要は紹介ページをご覧ください。

スピーカー

リュ・ハンジン(Ryu Hanjin)さんです。

韓国のAWSユーザーグループ、AWS-KRUG Datascienceで活動されている方です。

AWSの費用構造

AWSの費用構造は大きく分けて次の3つに分類される。

  • 割り当てたサイズに対して課金される(時間課金)
  • トラフィック(使ったリソース)
  • 無料

すべてのサービスについて最適化を考えることができるが、今回は次の3つのサービスに絞って紹介。

  • Amazon EC2
  • Amazon RDS
  • Amazon CloudFront

EC2の最適化

  • CloudWatchとAuto Scalingを組み合わせてトラフィックに最適化
  • 負荷テストを行い、リソース使用量に基づいてインスタンスタイプを最適化

  • オープンソースをOSを積極的に利用

  • Reserved Instanceを賢く利用
    • 現状として、1日15時間以上稼働させるサーバーはRIを利用
    • それより少ない場合はSTOP/STARTがよさそう

  • バッチやテストなどはSpot Instance
  • 昨年ハイバネートにも対応した

RDSの最適化

  • EC2はAuto Scalingで柔軟な構成ができたがRDSは難しい
  • どうしても一番高負荷な状態にサイズを合わせる必要がある

  • RDSもEC2と同じようにオープンソースを積極的に利用

Cache適用

  • いろいろなレイヤにキャッシュを導入する
  • DB(RDS)のキャッシュ
  • Web(EC2)のキャッシュ
  • CloudFrontによるキャッシュ

Serverless

  • 最後にServerless
  • EC2はAuto Scalingがあるとはいえ起動に時間がかかる
  • Serverlessのサービスであればこれらの問題を軽減できる

まとめ

  • トラフィックに対して柔軟に対応できるアーキテクチャとすることでコストも最適化できる
  • キャッシュは大事
  • それぞれのレイヤで最適化に対応する

感想

これからAWSを使っていこうという方に、参考になる内容だったのではないでしょうか。サービスはダウンさせないことが大事ですが、お金も無尽蔵にあるわけではないので、コスト最適化もクラウドを利用するうえで大事な課題ですね。

各サービスをうまく利用して、ビジネスに役立てていきましょう!

以上です。