SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
AWSコスト管理をちゃんとしたくて
やったこと
2019/02/16
@cuzic
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
1自己紹介
Tomoya Kawanishi a.k.a cuzic
ENECHANGE株式会社 チーフエンジニア
エンジニア、積極採用してます!
Ruby関西の中のひと
みなさん、登壇お願いします!
Otemachi.rb の中のひと
2月20日(水) Otemachi.rb #14 を開催します
各線東京駅・大手町駅・日本橋駅・三越前駅至近
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
事業部制を採用する ENECHANGE 2
低圧事業部 一般のご家庭、小規模の事業所など向けの電気の比較・切替サービス
高圧事業部 ビル、工場など向けの電気の切替サービス
プラットフォーム事業部 電力会社向けに、顧客獲得プラットフォームを提供
SIM事業部 格安SIM の比較・切替サービス
・ 事業部単位に、大幅に権限を委譲し、個々の事業部で独立採算で収益管理する
・ 意思決定の迅速化、意思疎通の円滑化、意欲の向上などの効果が期待できる
一般的な事業部制の特徴、メリット
費用と事業部との関連付けが必要
多くの事業を展開する ENECHANGE
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
エンジニア費用を例にした原価計算の例 3
・ 開発エンジニアは各事業部に所属
・ 工数管理の上、エンジニア費用を計上
エネチェンジ
の事業部制
低圧(家庭・商店)
高圧(ビル・工場)
プラットフォーム
Simchange
(例) エンジニア
費用の原価
プロフィットセンター コストセンター
コーポレート(人事、経理ほか)
インフラエンジニアは、コーポレート
に所属。
・ プロジェクトに紐づいた活動は
直接原価として各事業部で計上
共通費として計上
全社共通費として各事業部に配賦
では、 AWS費用はどう扱うか?
事業部別の原価計算の例
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
事業部別コスト管理の定石 4
事業部
低圧(家庭・商店)
高圧(ビル・工場)
プラットフォーム
Simchange
AWSアカウント
低圧用アカウント
高圧用アカウント
プラットフォーム用アカウント
Simchange 用アカウント
コーポレート 全社共通アカウント
AWS ではアカウントを分割しても、請求・支払いは親アカウントへの一元化が可能。
メリット: 事業部別に明確にコストを把握できる
デメリット: 事業部をまたぐような作業をするとき、運用上の手間がかかる
※ 運用面のデメリットは、AWS Organization などの機能を使うことで緩和可能
事業部別コスト管理の定石は AWS アカウントの分割
アカウント分割の概要・メリット・デメリット
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
ENECHANGE では単一AWSアカウントで管理 5
ENECHANGEは、単一の AWSアカウントを全社で使用
事業部
低圧(家庭・商店)
高圧(ビル・工場)
プラットフォーム
Simchange
AWSアカウント
コーポレート
全社共通
アカウント
・ 当初は、事業部の数は多くなく、分ける必然性が大きくなかった。
・ 創業当初は事業部制ではなく、職能別組織だった。
・ その当時は、Organization がなく、運用上の手間・煩雑さが無視できないと感じた
・ あとからアカウントを分割することは可能ではあるが、作業負荷も大きく現実には困難。
単一アカウントとした理由
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
用語の整理と、目標 6
できる限り多くのリソース費用を
直課
させる!
直課
該当のリソースのコストを直接その事業部に関連付けて集計
すること
配賦
一定の配賦基準に基づいて、該当のリソースの費用を各事
業部に紐づけること
エネチェンジでの AWS 費用の配賦の際は、直課した費用の比率で配賦率を決定
ほかの主要なコスト配賦基準としては
・ 所属人員の頭割り
・ 各事業部の売上の比率
などで決定する方法があります。
目標
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
コスト配分タグを利用したコスト把握 7
コスト
配分タグ
リソース(EC2、EBS、AMI、ELB、RDS など)に付与された
どの事業部(プロジェクト)の費用かを識別するためのタグ
AWS費用の多くはコスト配分タグで事業部に直課可能
・ Reserved Instance
・ Data Transfer
・ サポート費用
⇒ 直課できない費用は、各事業部に配賦して事業部ごとの AWSコストを計算
コスト配分タグで、分類できない費用の例
・ 割引(AWS Activate プログラム)など
・ 消費税
・ コスト配分タグがついていないリソース
コスト配分タグを付与する仕組みを構築し、
タグのないリソースを極力減らす
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
エネチェンジのコスト配分タグの付与の仕組み 8
EC2 EBS
スナップ
ショット
AMI
ENI EIP
EC2
手動で、1個ずつタグを付与。
ASG なども適切にタグ付けされるように設定
EBS、AMI
など
EC2 と同じタグを自動付与するスクリプトを作成。
定期的に EC2 の状態と同期させる
・ AutoScalingGroup などのリソースを
再生成したときは、タグの再設定も必要
・ DataPipeline で定期実行。
定期実行する理由・方法
・ EC2 を起点に各リソースの関係を、
ツリー構造と見立て、トポロジカルソート
・ このツリー構造を元にタグ情報を伝搬
内部動作の解説
タグ付けスクリプトを定期実行し、省力化
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
トポロジカルソートとは
グラフ理論でのアルゴリズムの1つ。
依存関係を順に処理したいときとかに使える
Ruby には標準ライブラリの tsort がある
9
トポロジカルソート(英: topological sort)とは、グラフ理論に
おいて、有向非巡回グラフ(英: directed acyclic graph,
DAG)の各ノードを順序付けして、どのノードもその出力辺の
先のノードより前にくるように並べることである。
Wikipedia での説明
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
トポロジカルソートの利用例
Set#divide
Rubygems
Bundler
Ruby on Rails ( Rails::Railtie )
initializer の before、after などの
順序を正しく処理するために使われている
Rukawa
@joker1007 さん作の Ruby 製ワークフローエンジン
10
require 'set'
numbers = Set[1, 3, 4, 6, 9, 10, 11]
set = numbers.divide { |i,j| (i - j).abs == 1 }
p set # => #<Set: {#<Set: {1}>,
# #<Set: {11, 9, 10}>,
# #<Set: {3, 4}>,
# #<Set: {6}>}>
Set#divide の使用例
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
処理内容
①: aws describe-instances コマンドで、
・EC2 と EBS と ENI の関係を取得
・EC2 に付与されたタグをすべて取得
②: aws describe-snapshots コマンドで、
EBS と スナップショット ID の関係を取得
③: aws describe-images コマンドで、
AMI と スナップショットID の関係を取得
④: ①~③の結果生成されたグラフ構造を元に、
関連する EC2 に付与されたタグを EBS、ENI、スナッ
プショット、AMI にも同様に付与する
11
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
tsort の使い方 (1/3)
tsort_each_node:グラフの各ノードを巡回するメソッド
tsort_each_child:引数のノードの子ノードを順次処理するメ
ソッド
12
class AwsTSort
include TSort
def tsort_each_node
@edges.each_key do |key|
yield key
end
end
def tsort_each_child(node)
@edges.fetch(node, []).each do |child|
yield child
end
end
…
end
TSort の使用例(定義)
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
tsortの使い方(2/3)
今回は Hash でグラフ構造を表現
tsort 自体は任意のオブジェクトを使えるが Hash が便利
Tree に見立てると、key が親、value が子の関係。
13
@edges = Hash.new{|h, key| h[key] = []}
each_tag_ebs_eni do |instance_id, tags, ebs, eni|
@edges[instance_id].push *ebs
@edges[instance_id].push *eni
…
end
each_ebs_snapshot do |volume_id, snapshot_id|
@edges[volume_id].push snapshot_id
end
each_snapshot_ami do |snapshot_id, ami_id|
@edges[snapshot_id].push ami_id
end
TSort の使用例(グラフ構造の構築)
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
tsort の使い方 (3/3)
each_strongly_connected_component_from で、
強連結結合のノードを順に取得できる
今回の例だと、あるインスタンスを親とする子孫全部を
取り出すということができる。
14
def resources_from(start)
[].tap do |resources|
each_strongly_connected_component_from(start) do |nodes|
resources.push *nodes # nodes は Array
end
resources.delete(start)
end
end
TSort の使用例(強連結結合の取得)
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
15リソースへのタグ付成功!
さまざまなリソースにタグ付けすることができた!
だ、け、ど、
実行してみたところ、わりと時間がかかった
5分くらい
もっと速くしたい!
aws コマンドの実行に時間を要しているのは明らか
aws コマンドを並列実行するともっと速くできる!
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
処理内容
遅いのは、AWS リソースの情報取得のところと、
タグ付のところ
特に、タグ付のところが遅かった
16
グラフ構造の構築
トポロジカルソート
AWS リソースのタグ付
AWS リソース一覧の取得
(AWS コマンドの発行)
AWS コマンドを 4回発行
describe-instances
describe-network-interfaces
describe-images
describe-snapshots
AWS コマンドを リソースの数、
タグの数に応じて、繰り返し実行
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
リソース一覧の取得(メインスレッド側)
Threadを使った内部実装は意識させない設計
引数: aws コマンドの引数
ブロック引数: aws コマンドの実行結果(標準出力)の各行
Thread#join を各スレッドで実行。情報取得終了を待つ
17
def each_ebs_snapshot
query = "Snapshots[].[VolumeId, SnapshotId]"
aws_lookup(%(ec2 describe-snapshots --query "#{query}")) do |line|
volume_id, snapshot_id = line.chomp.split("¥t")
yield volume_id, snapshot_id
end
end
ワーカスレッドで
実行される
def join_lookup_threads
@lookup_threads.each &:join
end
呼び出すとき
各スレッドの終了を待つとき
@lookup_threads は
ワーカスレッドの配列
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
リソース一覧の取得(ワーカスレッド側)
スレッド内では Thread.new の引数だけを使用
そのスレッド内でのローカルコピーが作られる
他のスレッドでの更新が原因での不具合とかが起きない
aws コマンドを実行し、出力結果を1行ごとに
ブロック引数として呼び出し元に渡す
1つのコマンドを1つのスレッドで実行
あとで待ち合わせするため Thread を配列に保持
18
def aws_lookup(command)
@lookup_threads << Thread.new(command) do |cmd|
cmdline = "aws #{cmd} --output text"
IO.popen(cmdline, "r+") do |io|
io.each_line do |line|
yield line
end
end
end
end
Thread 中で使う
command を引数と
している
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
タグ付(メインスレッド側)
タグ付けでは、異なるリソースを対象に繰り返し AWS
コマンドを発行する
ワーカスレッドで、AWSコマンドを並行実行する
スレッド間通信には Queue を使用する
Ruby 2.3以降は組み込みライブラリ
Queue#enq を利用
出力結果は使用しない
AWSコマンドの成功/失敗も気にしない(Fire and Forget)
複数リソースに対するタグ付けを1回で処理
shellwords ライブラリの Array#shelljoin メソッドを使用
19
def create_tags(resources, tags)
return if tags.empty?
args = ["--resources", resources.shelljoin, "--tags", tags.shelljoin]
@aws_queue.enq %(ec2 create-tags #{args.shelljoin})
end
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
AWS リソースのタグ付(ワーカスレッド側)
Queue#deq で、キューからオブジェクトを取り出せる
while command = queue.deq は Thread 処理でよく使うイデ
ィオム
nil 以外の場合、ループの中の処理を行う
nil を受け取るとループから抜ける
20
def start_aws_thread
Thread.start do |t|
while command = @aws_queue.deq
cmdline = "aws #{command}"
system cmdline
end
end
end
end
nil 以外の場合はループの中を実行
nil のときは、ループを抜ける
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
タグ付(メインスレッド側) 開始と終了
ワーカスレッドを開始すると、配列に保持する
ワーカスレッドを終了するため、nil を Queue に渡す
それぞれの Thread が終了するのを join で待つ
21
# ワーカスレッドの開始
def start_tagging_threads
@thread_num.times do
@tagging_threads << start_aws_thread
end
end
# ワーカスレッドの終了
def join_tagging_threads
@thread_num.times do
@aws_queue.enq nil
end
@tagging_threads.each &:join
end
スタートしたスレッドを配列に保持
ワーカスレッドの数だけ nil をキューに送信
ワーカスレッドの終了を join で待つ
第85回Ruby関西勉強会 発表資料 「AWSコスト管理をちゃんとしたくてやったこと」
22まとめ
事業部制はメリットが多い
調整コストの低下、意思決定の迅速化
AWS を事業ごとに管理するのは大変
まずはリソースと事業部を紐づける(直課する)ところから
紐づけを1つずつするのは大変
tsort を使って、連鎖的にタグを自動的に設定する
thread を使ってタグ付け作業を高速化
23
ご清聴ありがとう
ございました

Contenu connexe

Tendances

3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話Koichiro Takashima
 
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 FallYoshitaka Kawashima
 
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013Kinji Akemine
 
フリーでやろうぜ!セキュリティチェック!
フリーでやろうぜ!セキュリティチェック!フリーでやろうぜ!セキュリティチェック!
フリーでやろうぜ!セキュリティチェック!zaki4649
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなKentaro Matsui
 
Redmineをつかったスクラム開発のはじめの一歩
Redmineをつかったスクラム開発のはじめの一歩Redmineをつかったスクラム開発のはじめの一歩
Redmineをつかったスクラム開発のはじめの一歩kiita312
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container ServiceAWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container ServiceAmazon Web Services Japan
 
継続的インテグレーションとテストの話
継続的インテグレーションとテストの話継続的インテグレーションとテストの話
継続的インテグレーションとテストの話Preferred Networks
 
ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方akira6592
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceToru Makabe
 
「Ansible on Azure入門」資料
「Ansible on Azure入門」資料「Ansible on Azure入門」資料
「Ansible on Azure入門」資料Hidetoshi Hirokawa
 
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data PipelineAWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data PipelineAmazon Web Services Japan
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いたAkihiro Kuwano
 
実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記Hiroyuki Ohnaka
 
全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition
全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition 全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition
全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition __john_smith__
 
Aws amplify studioが変えるフロントエンド開発の未来とは v2
Aws amplify studioが変えるフロントエンド開発の未来とは v2Aws amplify studioが変えるフロントエンド開発の未来とは v2
Aws amplify studioが変えるフロントエンド開発の未来とは v2Koitabashi Yoshitaka
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Masahito Zembutsu
 
AWSが誕生するまでの秘話
AWSが誕生するまでの秘話AWSが誕生するまでの秘話
AWSが誕生するまでの秘話Yasuhiro Horiuchi
 

Tendances (20)

3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
3 Amigosの考え方で、独立したQAチームがアジャイルテストチームになるまでの話
 
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
思考停止しないアーキテクチャ設計 ➖ JJUG CCC 2018 Fall
 
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
モデルベースドテスト入門 -テスト詳細設計を自動化しよう- #stac2013
 
フリーでやろうぜ!セキュリティチェック!
フリーでやろうぜ!セキュリティチェック!フリーでやろうぜ!セキュリティチェック!
フリーでやろうぜ!セキュリティチェック!
 
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるなテスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
 
OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方OAuth 2.0のResource Serverの作り方
OAuth 2.0のResource Serverの作り方
 
Redmineをつかったスクラム開発のはじめの一歩
Redmineをつかったスクラム開発のはじめの一歩Redmineをつかったスクラム開発のはじめの一歩
Redmineをつかったスクラム開発のはじめの一歩
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container ServiceAWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
AWS Black Belt Online Seminar 2016 Amazon EC2 Container Service
 
継続的インテグレーションとテストの話
継続的インテグレーションとテストの話継続的インテグレーションとテストの話
継続的インテグレーションとテストの話
 
ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方ネットワークエンジニア的Ansibleの始め方
ネットワークエンジニア的Ansibleの始め方
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
 
「Ansible on Azure入門」資料
「Ansible on Azure入門」資料「Ansible on Azure入門」資料
「Ansible on Azure入門」資料
 
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data PipelineAWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
AWS Black Belt Tech シリーズ 2015 - AWS Data Pipeline
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた
 
実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記
 
全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition
全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition 全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition
全部Excelだけで実現しようとして後悔するデータ分析 2nd Edition
 
Aws amplify studioが変えるフロントエンド開発の未来とは v2
Aws amplify studioが変えるフロントエンド開発の未来とは v2Aws amplify studioが変えるフロントエンド開発の未来とは v2
Aws amplify studioが変えるフロントエンド開発の未来とは v2
 
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
Dockerの期待と現実~Docker都市伝説はなぜ生まれるのか~
 
AWSが誕生するまでの秘話
AWSが誕生するまでの秘話AWSが誕生するまでの秘話
AWSが誕生するまでの秘話
 

Similaire à AWS のコスト管理をちゃんとしたくてやったこと

コスト削減から考えるAWSの効果的な利用方法
コスト削減から考えるAWSの効果的な利用方法コスト削減から考えるAWSの効果的な利用方法
コスト削減から考えるAWSの効果的な利用方法Aya Komuro
 
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用Daisuke Miyamoto
 
Auto Scaling x Spot Instances によるスケーラビリティと コストカット
Auto Scaling x Spot Instances によるスケーラビリティと コストカットAuto Scaling x Spot Instances によるスケーラビリティと コストカット
Auto Scaling x Spot Instances によるスケーラビリティと コストカットakitsukada
 
AWSコストの事業部別コスト配分について
AWSコストの事業部別コスト配分についてAWSコストの事業部別コスト配分について
AWSコストの事業部別コスト配分についてTomoya Kawanishi
 
JAWS-UG北陸第2回 AWSクラウド最新アップデート
JAWS-UG北陸第2回 AWSクラウド最新アップデートJAWS-UG北陸第2回 AWSクラウド最新アップデート
JAWS-UG北陸第2回 AWSクラウド最新アップデートSORACOM, INC
 
Amazon ECS AWS Fargate あるとき~ ないとき~ (トレノケ雲の会 mod2)
Amazon ECS AWS Fargate あるとき~ ないとき~ (トレノケ雲の会 mod2)Amazon ECS AWS Fargate あるとき~ ないとき~ (トレノケ雲の会 mod2)
Amazon ECS AWS Fargate あるとき~ ないとき~ (トレノケ雲の会 mod2)Trainocate Japan, Ltd.
 
Amazon ECS , AWS Fargate あるとき~ ないとき~
Amazon ECS , AWS Fargate あるとき~ ないとき~Amazon ECS , AWS Fargate あるとき~ ないとき~
Amazon ECS , AWS Fargate あるとき~ ないとき~Mitsuhiro Yamashita
 
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallAmazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallShinpei Ohtani
 
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Yasuhiro Horiuchi
 
インフラ系自主トレするならAWS
インフラ系自主トレするならAWSインフラ系自主トレするならAWS
インフラ系自主トレするならAWSYasuhiro Araki, Ph.D
 
スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例schoowebcampus
 
拡がるクラウドの利用用途 - AWSの強みとクラウド活用最新事例 -
拡がるクラウドの利用用途 - AWSの強みとクラウド活用最新事例 -拡がるクラウドの利用用途 - AWSの強みとクラウド活用最新事例 -
拡がるクラウドの利用用途 - AWSの強みとクラウド活用最新事例 -Yasuhiro Horiuchi
 
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-Amazon Web Services Japan
 
賢くチェックするAWSの明細
賢くチェックするAWSの明細賢くチェックするAWSの明細
賢くチェックするAWSの明細Kieko Sakurai
 
綱渡りなEc2運用でコスト削減
綱渡りなEc2運用でコスト削減綱渡りなEc2運用でコスト削減
綱渡りなEc2運用でコスト削減Tomoyuki Tochihira
 
Amazon Connectで到着報告を自動化
Amazon Connectで到着報告を自動化Amazon Connectで到着報告を自動化
Amazon Connectで到着報告を自動化Mitsuhiro Yamashita
 
アマゾンクラウドの真価
アマゾンクラウドの真価アマゾンクラウドの真価
アマゾンクラウドの真価kaminashi
 
クラウドTCOの真実
クラウドTCOの真実クラウドTCOの真実
クラウドTCOの真実SORACOM, INC
 
気になる気になるAWSの利用料金
気になる気になるAWSの利用料金気になる気になるAWSの利用料金
気になる気になるAWSの利用料金Kieko Sakurai
 

Similaire à AWS のコスト管理をちゃんとしたくてやったこと (20)

コスト削減から考えるAWSの効果的な利用方法
コスト削減から考えるAWSの効果的な利用方法コスト削減から考えるAWSの効果的な利用方法
コスト削減から考えるAWSの効果的な利用方法
 
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
Containers + EC2 Spot: AWS Batch による大規模バッチ処理でのスポットインスタンス活用
 
Auto Scaling x Spot Instances によるスケーラビリティと コストカット
Auto Scaling x Spot Instances によるスケーラビリティと コストカットAuto Scaling x Spot Instances によるスケーラビリティと コストカット
Auto Scaling x Spot Instances によるスケーラビリティと コストカット
 
AWSコストの事業部別コスト配分について
AWSコストの事業部別コスト配分についてAWSコストの事業部別コスト配分について
AWSコストの事業部別コスト配分について
 
AWS運用自動化への第一歩 
AWS運用自動化への第一歩 AWS運用自動化への第一歩 
AWS運用自動化への第一歩 
 
JAWS-UG北陸第2回 AWSクラウド最新アップデート
JAWS-UG北陸第2回 AWSクラウド最新アップデートJAWS-UG北陸第2回 AWSクラウド最新アップデート
JAWS-UG北陸第2回 AWSクラウド最新アップデート
 
Amazon ECS AWS Fargate あるとき~ ないとき~ (トレノケ雲の会 mod2)
Amazon ECS AWS Fargate あるとき~ ないとき~ (トレノケ雲の会 mod2)Amazon ECS AWS Fargate あるとき~ ないとき~ (トレノケ雲の会 mod2)
Amazon ECS AWS Fargate あるとき~ ないとき~ (トレノケ雲の会 mod2)
 
Amazon ECS , AWS Fargate あるとき~ ないとき~
Amazon ECS , AWS Fargate あるとき~ ないとき~Amazon ECS , AWS Fargate あるとき~ ないとき~
Amazon ECS , AWS Fargate あるとき~ ないとき~
 
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 FallAmazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
Amazon Elastic MapReduce@Hadoop Conference Japan 2011 Fall
 
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013
 
インフラ系自主トレするならAWS
インフラ系自主トレするならAWSインフラ系自主トレするならAWS
インフラ系自主トレするならAWS
 
スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例スタートアップでのAWS(Amazon Web Services)活用事例
スタートアップでのAWS(Amazon Web Services)活用事例
 
拡がるクラウドの利用用途 - AWSの強みとクラウド活用最新事例 -
拡がるクラウドの利用用途 - AWSの強みとクラウド活用最新事例 -拡がるクラウドの利用用途 - AWSの強みとクラウド活用最新事例 -
拡がるクラウドの利用用途 - AWSの強みとクラウド活用最新事例 -
 
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
AWS Black Belt Online Seminar 2016 クラウドのためのアーキテクチャ設計 -ベストプラクティス-
 
賢くチェックするAWSの明細
賢くチェックするAWSの明細賢くチェックするAWSの明細
賢くチェックするAWSの明細
 
綱渡りなEc2運用でコスト削減
綱渡りなEc2運用でコスト削減綱渡りなEc2運用でコスト削減
綱渡りなEc2運用でコスト削減
 
Amazon Connectで到着報告を自動化
Amazon Connectで到着報告を自動化Amazon Connectで到着報告を自動化
Amazon Connectで到着報告を自動化
 
アマゾンクラウドの真価
アマゾンクラウドの真価アマゾンクラウドの真価
アマゾンクラウドの真価
 
クラウドTCOの真実
クラウドTCOの真実クラウドTCOの真実
クラウドTCOの真実
 
気になる気になるAWSの利用料金
気になる気になるAWSの利用料金気になる気になるAWSの利用料金
気になる気になるAWSの利用料金
 

Plus de Tomoya Kawanishi

ENECHANGE社での Scout APM 利用事例
ENECHANGE社での Scout APM 利用事例ENECHANGE社での Scout APM 利用事例
ENECHANGE社での Scout APM 利用事例Tomoya Kawanishi
 
エンジニア転職のノウハウ
エンジニア転職のノウハウエンジニア転職のノウハウ
エンジニア転職のノウハウTomoya Kawanishi
 
Ruby の文字列について
Ruby の文字列についてRuby の文字列について
Ruby の文字列についてTomoya Kawanishi
 
Ruby on Rails のキャッシュ機構について
Ruby on Rails のキャッシュ機構についてRuby on Rails のキャッシュ機構について
Ruby on Rails のキャッシュ機構についてTomoya Kawanishi
 
Ruby初心者からよく質問されること
Ruby初心者からよく質問されることRuby初心者からよく質問されること
Ruby初心者からよく質問されることTomoya Kawanishi
 
RubyGems と Bundler について
RubyGems と Bundler についてRubyGems と Bundler について
RubyGems と Bundler についてTomoya Kawanishi
 
Ruby の正規表現について
Ruby の正規表現についてRuby の正規表現について
Ruby の正規表現についてTomoya Kawanishi
 
Ruby での外部コマンドの実行について
Ruby での外部コマンドの実行についてRuby での外部コマンドの実行について
Ruby での外部コマンドの実行についてTomoya Kawanishi
 
Ruby のワンライナーについて
Ruby のワンライナーについてRuby のワンライナーについて
Ruby のワンライナーについてTomoya Kawanishi
 
PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選Tomoya Kawanishi
 
HTTPと Webクローリングについて
HTTPと WebクローリングについてHTTPと Webクローリングについて
HTTPと WebクローリングについてTomoya Kawanishi
 
Active record query interface
Active record query interfaceActive record query interface
Active record query interfaceTomoya Kawanishi
 
Active Support のコア拡張機能について
Active Support のコア拡張機能についてActive Support のコア拡張機能について
Active Support のコア拡張機能についてTomoya Kawanishi
 
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナーRuby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナーTomoya Kawanishi
 
RubyのDir、File、IO について
RubyのDir、File、IO についてRubyのDir、File、IO について
RubyのDir、File、IO についてTomoya Kawanishi
 
Thread の利用事例紹介
Thread の利用事例紹介Thread の利用事例紹介
Thread の利用事例紹介Tomoya Kawanishi
 
Ruby の制御構造とリテラルについて
Ruby の制御構造とリテラルについてRuby の制御構造とリテラルについて
Ruby の制御構造とリテラルについてTomoya Kawanishi
 
Ruby の String のメソッドについて
Ruby の String のメソッドについてRuby の String のメソッドについて
Ruby の String のメソッドについてTomoya Kawanishi
 

Plus de Tomoya Kawanishi (20)

英単語の覚え方
英単語の覚え方英単語の覚え方
英単語の覚え方
 
ENECHANGE社での Scout APM 利用事例
ENECHANGE社での Scout APM 利用事例ENECHANGE社での Scout APM 利用事例
ENECHANGE社での Scout APM 利用事例
 
エンジニア転職のノウハウ
エンジニア転職のノウハウエンジニア転職のノウハウ
エンジニア転職のノウハウ
 
Ruby の文字列について
Ruby の文字列についてRuby の文字列について
Ruby の文字列について
 
Ruby on Rails のキャッシュ機構について
Ruby on Rails のキャッシュ機構についてRuby on Rails のキャッシュ機構について
Ruby on Rails のキャッシュ機構について
 
Ruby初心者からよく質問されること
Ruby初心者からよく質問されることRuby初心者からよく質問されること
Ruby初心者からよく質問されること
 
RubyGems と Bundler について
RubyGems と Bundler についてRubyGems と Bundler について
RubyGems と Bundler について
 
Ruby の正規表現について
Ruby の正規表現についてRuby の正規表現について
Ruby の正規表現について
 
Ruby での外部コマンドの実行について
Ruby での外部コマンドの実行についてRuby での外部コマンドの実行について
Ruby での外部コマンドの実行について
 
Ruby のワンライナーについて
Ruby のワンライナーについてRuby のワンライナーについて
Ruby のワンライナーについて
 
PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選PostgreSQL のイケてるテクニック7選
PostgreSQL のイケてるテクニック7選
 
HTTPと Webクローリングについて
HTTPと WebクローリングについてHTTPと Webクローリングについて
HTTPと Webクローリングについて
 
Rake
RakeRake
Rake
 
Active record query interface
Active record query interfaceActive record query interface
Active record query interface
 
Active Support のコア拡張機能について
Active Support のコア拡張機能についてActive Support のコア拡張機能について
Active Support のコア拡張機能について
 
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナーRuby ビジネス創出展 Ruby初心者向けプログラミングセミナー
Ruby ビジネス創出展 Ruby初心者向けプログラミングセミナー
 
RubyのDir、File、IO について
RubyのDir、File、IO についてRubyのDir、File、IO について
RubyのDir、File、IO について
 
Thread の利用事例紹介
Thread の利用事例紹介Thread の利用事例紹介
Thread の利用事例紹介
 
Ruby の制御構造とリテラルについて
Ruby の制御構造とリテラルについてRuby の制御構造とリテラルについて
Ruby の制御構造とリテラルについて
 
Ruby の String のメソッドについて
Ruby の String のメソッドについてRuby の String のメソッドについて
Ruby の String のメソッドについて
 

Dernier

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Dernier (8)

自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

AWS のコスト管理をちゃんとしたくてやったこと