Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GAS経由でAWS Cost Explorerを使用して料金を取得してみた
Search
K.Takeuchi
March 06, 2024
Business
0
99
GAS経由でAWS Cost Explorerを使用して料金を取得してみた
第2回インフラLT会で発表した資料になります。
K.Takeuchi
March 06, 2024
Tweet
Share
Other Decks in Business
See All in Business
アソビュー株式会社 / Company Deck
asoviewinc
0
15k
JMDC 会社紹介資料 /About JMDC
jmdc
5
240k
やりたいことを仕事でやる技術 / The Technique of Turning Your Passion into Your Profession
hayaokimura
0
480
(7枚)ファシリテーションで使える質問5種類
nyattx
PRO
1
150
PlanetDAO 2024_05_15 発表会用資料
tamaki_nisimura
0
240
キャリアビルド_新卒採用
ahc_recruit
0
120
山辺事務機株式会社採用ピッチ資料
yamabe
0
600
ベロシティを高く保つ仕事のすすめ方 / Maintaining a High Velocity as Productivity Hacks
iwashi86
50
17k
peraichi_deck_240610
peraichi_recruit
0
11k
採用ピッチブック
macloud
3
51k
誠和会_会社紹介資料
oneterasu
0
130
株式会社メディアドゥ 採用ピッチ資料
mediado
0
490
Featured
See All Featured
Fontdeck: Realign not Redesign
paulrobertlloyd
77
5k
In The Pink: A Labor of Love
frogandcode
138
21k
Build The Right Thing And Hit Your Dates
maggiecrowley
26
2.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
71
15k
Web Components: a chance to create the future
zenorocha
306
41k
How GitHub Uses GitHub to Build GitHub
holman
471
290k
Building Effective Engineering Teams - LeadDev
addyosmani
40
2k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
247
20k
Building Flexible Design Systems
yeseniaperezcruz
321
37k
Producing Creativity
orderedlist
PRO
338
39k
Imperfection Machines: The Place of Print at Facebook
scottboms
261
12k
Transcript
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS経由でAWS Cost
Explorer を 使用して料金を取得してみた 1
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. 目的 2
• 業務でAWSの利用料金を確認する機会が多い ◦ 複数のアカウントがあるため、ログインが手間となる。 ▪ AWS アカウントにログインせず料金を取得したい。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. やってみたこと 3
下記の記事を参考にして、実際に料金の取得ができるかを試した。 • 内容 ◦ AWSの月額コストを取得して、スプレッドシートに書き込む ▼GASでAWS Cost Explorerから料金を取得する https://aws-sec-blog.pages.dev/posts/gas-cost-explorer-month/
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. AWSにおける準備 4
• AWS CLI を実行するためのIAMユーザを作成する。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. IAMユーザの権限設定 5
• 許可ポリシーを追加 ◦ Cost explorer への参照権限のみ
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 6
• スプレッドシートより、「Apps Scirpt」を選択する。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 7
• ファイルの横の+を押して、「スクリプト」を選択する。 • 名前をaws.gsに変更する。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 8
• aws.gsファイルをコードを張り付ける。 ◦ Google Apps スクリプト内から AWS API リクエストを認証できる
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 9
• 新しいスクリプトを作成する。 ◦ 名前:main.gs ◦ テスト関数をコピーして張り付ける。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. GAS上の準備 10
• main.gsにaws AccessKey ,SecretKey を設定する。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. テスト実行 11
• 実行する。 ◦ 2023/6月分の費用を出力できた。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. コードを変更してみる 12
• サービスごとの料金を取得してみる。 ◦ Start:2023/10/1、End:2023/12/01 ◦ Key:サービスにてグループ化
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. スプレッドシートへ出力してみる。 13
GASのコード修正が必要だったので、 以下を要件としてChatGPTに質問して 修正コードを確認した。 • アカウント名ごとにシートを分ける。 • 1行に以下を出力する。 ◦ アカウント名、アカウントID、 サービス名、日付、コスト
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. スプレッドシートへ出力してみる。 14
構文エラーなどを繰り返しながらも、アカウントごとのシートに 料金が出力されるようになった。
Copyright (C) 2020 Toranoana Inc. All Rights Reserved. まとめ 15
• ネット上のサンプルコードを使用したが、AWS側の権限を サービス指定で読み取りのみに制限することで比較的安心して使用でき た。 • AWS Cost Explorerのパラメータを編集することで、アカウント単位やサー ビス単位での料金を出力ができた。 • スプレッドシートに書き込みができたため、今後はLooker Studio などで見 える化を図りたい。