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
180405_AWS_Deep_Night_in_Fukuoka_part2.pdf
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
tutida
April 09, 2018
Technology
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
180405_AWS_Deep_Night_in_Fukuoka_part2.pdf
tutida
April 09, 2018
More Decks by tutida
See All by tutida
仕様の達成度とは別の軸も大事にしたい~OSEKKAI文化で作るプロジェクトの納得感~
tutida
0
110
Larvel Octane を AWS Fargate で動かしてみる
tutida
2
1.2k
Laravel x Inertia.js 現代のモノリス によるお手軽 SPA 開発
tutida
4
3.8k
JAWS DAYS 2020 | サーバレスの新しいデータストアの選択肢 S3 Select の魅力
tutida
2
2.7k
170223_aws_handson
tutida
0
150
event
tutida
0
180
[ fukuoka.php LT ] 新人のPHPExcel奮闘記
tutida
0
1k
Other Decks in Technology
See All in Technology
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
270
GitHub Copilot 最新アップデート – 「一歩先」の実践活用術
moulongzhang
5
1.5k
iOS アプリの「これって不具合ですか?」を AI に調べてもらう
miichan
0
110
いまさら聞けない「仕様駆動開発入門」 〜AI活用時代の開発プロセスを考える〜
findy_eventslides
2
160
水を運ぶ人としてのリーダーシップ
izumii19
2
190
SteampipeとExcel Power QueryでAWS構成定義書の作成を自動化する
jhashimoto
0
160
クレデンシャル流出 ― 攻撃 3 時間 vs 復旧 10 時間。この非対称性にどう備えるか
kazzpapa3
2
250
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
200
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
9
1.3k
脆弱性対応、どこで線を引くか
rymiyamoto
1
420
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
760
白金鉱業Meetup_Vol.24_「AIエージェントは分けるほど良い」は本当か? / Is it true that “the more you divide AI agents, the better”?
brainpadpr
1
420
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
320
Measuring & Analyzing Core Web Vitals
bluesmoon
9
870
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
850
Leo the Paperboy
mayatellez
7
1.8k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Technical Leadership for Architectural Decision Making
baasie
3
420
Agile that works and the tools we love
rasmusluckow
331
21k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
360
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Everyday Curiosity
cassininazir
0
230
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
140
Done Done
chrislema
186
16k
Transcript
AWS Deep Night in 福岡 Part.2 2018 / 04 /
05 Fusic Co.,Ltd. Tomoyuki Uchida FusicにおけるAWSの管理事情 ~「つらみ」とそれに対する「対応」~
AWS Deep Night in 福岡 Part.2 • 内田 大順(Uchida Tomoyuki)
• Github:https://github.com/tutida • Qiita :http://qiita.com/tutida • Fusic Co.,Ltd. • https://fusic.co.jp/ • エンジニア • AWSのインフラ設計・構築・移行 • 認定:ソリューション アーキテクト プロフェッショナル • 好きなサービス:IAM, CloudFormation • 業務系の受託開発(PHP, Ruby) • 最近 • ペルソナ5のアニメがすごく楽しみ • スライド 70枚になっちゃったので頑張ります 2 自己紹介
AWS Deep Night in 福岡 Part.2 Fusic と AWS 3
AWS Deep Night in 福岡 Part.2 • 会社紹介 • 株式会社
Fusic (フュージック) • 設立年月日:2003年10月10日 • 従業員数:43名 • 事業内容: • テクノロジーコンサルティング • ソフトウェア開発(Webシステム・スマートフォンアプリ) • クラウドインフラ構築 • AI(人工知能)コンサルティング • AWS アドバンスト コンサルティングパートナー • AWS パブリックセクタ―(公共部門)パートナー 4 Fusic と AWS
AWS Deep Night in 福岡 Part.2 • 2011年~ 自社サービスの基盤でAWSを採用 •
ここで得たノウハウを受託案件に展開していく 5 Fusic と AWS
AWS Deep Night in 福岡 Part.2 • 2011年~ 自社サービスの基盤でAWSを採用 •
ここで得たノウハウを受託案件に展開していく • 2018年 4月 • AWSアドバンスド コンサルティングパートナー • エンジニア数 34名 のうち、11名がAWSの認定資格保有 • (内 プロフェッショナル 5名 6 Fusic と AWS
AWS Deep Night in 福岡 Part.2 • 2011年~ 自社サービスの基盤でAWSを採用 •
ここで得たノウハウを受託案件に展開していく • 2018年 4月 • AWSアドバンスド コンサルティングパートナー • エンジニア数 34名 のうち、11名がAWSの認定資格保有 • (内 プロフェッショナル 5名 AWSいっぱい使ってます 7 Fusic と AWS
AWS Deep Night in 福岡 Part.2 • AWSいっぱい使ってます 8 Fusic
と AWS
AWS Deep Night in 福岡 Part.2 • AWSいっぱい使ってます • いつの日か大小合わせるとAWSアカウントの数が100を
超えていた 9 Fusic と AWS
AWS Deep Night in 福岡 Part.2 • AWSいっぱい使ってます • いつの日か大小合わせるとAWSアカウントの数が100を
超えていた • 規模が増えていくと、案件内容とは別で、 社内の管理面で「つらみ」が出てきた… 10 Fusic と AWS
AWS Deep Night in 福岡 Part.2 AWSの管理で味わった「つらみ」と それに対する「対応」 11
AWS Deep Night in 福岡 Part.2 ※ ご注意 ※ この先、多少愚痴っぽく言うこともありますが、
ベースはAWS大好きです。 好きだからこそ気になるとこに気づいちゃう恋バナ的な テンションで聞いていただけると助かります。 12 「つらみ」とそれに対する「対応」
AWS Deep Night in 福岡 Part.2 13 新・3大 AWSの管理で味わった「つらみ」
AWS Deep Night in 福岡 Part.2 14 新・3大 AWSの管理で味わった「つらみ」 アカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 ~つらみ編~ 15 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 • AWSアカウントができるまで 16 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 17 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 • AWSアカウントができるまで 18 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 19 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 20 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 21 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 22 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 23 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 • 面倒くさい … 24
AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 • 面倒くさい … •
「連絡先情報」:社内限定Wikiから都度コピペ • 生まれるコピペミス、空白含む含まない 25 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 • 面倒くさい … •
「連絡先情報」:社内限定Wikiから都度コピペ • 生まれるコピペミス、空白含む含まない • 「クレカ情報」:都度 経理から受け取り情報入力 • 経理が席を外してると作業できない • 入力ミス発生の可能性も大(俺覚えてるし勢 26 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 • 面倒くさい … •
「連絡先情報」:社内限定Wikiから都度コピペ • 生まれるコピペミス、空白含む含まない • 「クレカ情報」:都度 経理から受け取り情報入力 • 経理が席を外してると作業できない • 入力ミス発生の可能性も大(俺覚えてるし勢 • 「電話認証」:チャット + 社内に響き渡る声 • 「AWSから電話きまーす!とらないでくださーい!」 • 誰か電話取っちゃうとコードを伝えて入力してもらう 27 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 orz…ツライ 28
AWS Deep Night in 福岡 Part.2 ~対応編~ 29 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 • 2017年 2月 「AWS
Organizations」が一般公開 • 一つの親アカウントのもとにAWSアカウントを「組織」とし て管理が可能 • 複数の AWS アカウントに対するポリシーフレームワーク • AWS のサービスの APIレベルの制御 • 従来の一括請求機能と統合 • アカウントの作成および管理API 30 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 • 2017年 2月 「AWS
Organizations」が一般公開 • 一つの親アカウントのもとにAWSアカウントを「組織」とし て管理が可能 • 複数の AWS アカウントに対するポリシーフレームワーク • AWS のサービスの APIレベルの制御 • 従来の一括請求機能と統合 • アカウントの作成および管理API 31 AWSアカウント発行時の面倒さ キタコレ!
AWS Deep Night in 福岡 Part.2 • AWS Organizations でアカウントを作ってみる
32 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 33 AWSアカウント発行時の面倒さ • 一括請求の親アカウントまたは単独のアカウントで
AWS Deep Night in 福岡 Part.2 34 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 35 AWSアカウント発行時の面倒さ アカウント名 メールアドレス
のみ
AWS Deep Night in 福岡 Part.2 36 AWSアカウント発行時の面倒さ アカウント名 メールアドレス
のみ 電話認証・クレカ入力なし 圧倒的な楽さ!
AWS Deep Night in 福岡 Part.2 • さらに幸せなことに • SDKを利用して、プログラムでも書けます
• アカウント名、メールアドレスに規則性があれば、 プログラムでボタン一個で作成可能に 37 AWSアカウント発行時の面倒さ # AWS SDK for Ruby Aws.config.update(access_key_id: xxxxxxx, secret_access_key: xxxxxxxx) org = Aws::Organizations::Client.new(region: 'us-east-1') org.create_account(account_name: aws_account_name, email: email)
AWS Deep Night in 福岡 Part.2 • Fusicでの実際の運用方法 • 1.案件ごとの担当者が社内AWSアカウント管理者に連絡
• 2.AWS Organizations で作成 • ※ 単独アカウントの場合、従来の方法で作成 • 3.担当者がパスワードリセット、MFAの設定を行う 38 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 • Fusicでの実際の運用方法 • 1.案件ごとの担当者が社内AWSアカウント管理者に連絡
• 2.AWS Organizations で作成 • ※ 単独アカウントの場合、従来の方法で作成 • 3.担当者がパスワードリセット、MFAの設定を行う 39 AWSアカウント発行時の面倒さ アカウント発行を担当者ではなく、社内管理者に委任 社内管理者がAWSアカウントを把握しやすくなる 肝心のアカウント発行の手間も少ないため、負担はそこまで増えない 担当者ごとの発行によるブレの解消につながる 「AWSから電話きまーす!」がほぼなくなる
AWS Deep Night in 福岡 Part.2 40 新・3大 AWSの管理で味わった「つらみ」 AWSへのログイン情報の管理
AWS Deep Night in 福岡 Part.2 ~つらみ編~ 41 AWSへのログイン情報の管理
AWS Deep Night in 福岡 Part.2 • Fusicでのログイン情報の管理 • コンソールへのログインに用いるrootアカウント、IAMアカウ
ントにはMFAの設定を絶対としている • 1.アカウント発行時にrootアカウントにMFAを設定 • MFA設定用のQRコードを社内の「しかるべき場所」に保管 • 2.アカウントを利用する社員ごとにIAMを作成 • IAMに用いるパスワード、MFA情報は個人で管理 42 AWSへのログイン情報の管理
AWS Deep Night in 福岡 Part.2 43 AWSへのログイン情報の管理 • 正直、毎回MFA入力するのは面倒
• スマホのMFA管理ツールのアカウント量が半端ない
AWS Deep Night in 福岡 Part.2 44 AWSへのログイン情報の管理 • 正直、毎回MFA入力するのは面倒
• スマホのMFA管理ツールのアカウント量が半端ない • 「しかるべき場所」に保管されてないことも…orz • 結局、人に依存している • 緊急時に誰もコンソールにログインできなくなる危険性
AWS Deep Night in 福岡 Part.2 45 AWSへのログイン情報の管理 • 正直、毎回MFA入力するのは面倒
• スマホのMFA管理ツールのアカウント量が半端ない • 「しかるべき場所」に保管されてないことも…orz • 結局、人に依存している • 緊急時に誰もコンソールにログインできなくなる危険性 • 利用者ごとにIAM作るのつらい • AWSアカウントに加えてIAMアカウントの管理も必要に • IDプロバイダーを利用したフェデレーションログインは? • FusicではLDAPもActiveDirectoryもない…
AWS Deep Night in 福岡 Part.2 orz…ツライ 46
AWS Deep Night in 福岡 Part.2 ~対応編(未来)~ 47 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 48 AWSへのログイン情報の管理 • IAMのアクセスキーとシークレットキーを利用し、一
時的なクレデンシャルを生成しコンソールへのログイ ンURLがプログラムで生成可能 • リンクを押せば、ログインできる機構が作成可能 • 結局、IAMユーザが増えてない? • 単独アカウント、Organizationsの親アカウントには1つのIAM があればよい • Organizationsに属するファミリーアカウントには、親アカウン トのIAMを信頼する IAM Assume Role が存在し、これを利用
AWS Deep Night in 福岡 Part.2 49 AWSへのログイン情報の管理 AWS cloud
単独アカウント・Organizationsの親アカウントの場合 ボタン パスワード 無しの IAMを作成 IAM “hoge” ① IAM “hoge” のアクセスキー シークレットキーを利用して フェデレーション用のトークンを要求 ② 一時的なトークンを返却 ③ トークンを利用しログインURLを要求 ④ 有効期限付きのURLを返却 リンクでログイン可能
AWS Deep Night in 福岡 Part.2 50 AWSへのログイン情報の管理 単独アカウント・Organizationsの親アカウントの場合 #
AWS SDK for Ruby sts = Aws::STS::Client.new() session = sts.get_federation_token({ duration_seconds: 3600, name: "UserName", policy: "Policy", }) issuer_url = "https://mysignin.internal.mycompany.com/" console_url = "https://console.aws.amazon.com/" signin_url = "https://signin.aws.amazon.com/federation" session_json = { :sessionId => session.credentials[:access_key_id], :sessionKey => session.credentials[:secret_access_key], :sessionToken => session.credentials[:session_token] }.to_json get_signin_token_url = signin_url + "?Action=getSigninToken" + "&SessionType=json&Session=" + CGI.escape(session_json) returned_content = URI.parse(get_signin_token_url).read signin_token = JSON.parse(returned_content)['SigninToken'] signin_token_param = "&SigninToken=" + CGI.escape(signin_token) issuer_param = "&Issuer=" + CGI.escape(issuer_url) destination_param = "&Destination=" + CGI.escape(console_url) login_url = signin_url + "?Action=login" + signin_token_param + issuer_param + destination_param
AWS Deep Night in 福岡 Part.2 51 AWSへのログイン情報の管理 単独アカウント・Organizationsの親アカウントの場合 #
AWS SDK for Ruby sts = Aws::STS::Client.new() session = sts.get_federation_token({ duration_seconds: 3600, name: "UserName", policy: "Policy", }) issuer_url = "https://mysignin.internal.mycompany.com/" console_url = "https://console.aws.amazon.com/" signin_url = "https://signin.aws.amazon.com/federation" session_json = { :sessionId => session.credentials[:access_key_id], :sessionKey => session.credentials[:secret_access_key], :sessionToken => session.credentials[:session_token] }.to_json get_signin_token_url = signin_url + "?Action=getSigninToken" + "&SessionType=json&Session=" + CGI.escape(session_json) returned_content = URI.parse(get_signin_token_url).read signin_token = JSON.parse(returned_content)['SigninToken'] signin_token_param = "&SigninToken=" + CGI.escape(signin_token) issuer_param = "&Issuer=" + CGI.escape(issuer_url) destination_param = "&Destination=" + CGI.escape(console_url) login_url = signin_url + "?Action=login" + signin_token_param + issuer_param + destination_param トークン発行時にユーザ名・権限も設定可能 IAMにログイン用のパスワード・MFAの設定が必要ない ためセキュリティ的にもうれしい
AWS Deep Night in 福岡 Part.2 52 AWSへのログイン情報の管理 親アカウント Organizationsに属するファミリーアカウントの場合
パスワード 無しの IAMを作成 IAM “hoge” ファミリーアカウント 親アカウントを 信頼するRoleが 自動で作成され ている ① IAM “hoge” のアクセスキー シークレットキーを利用して… ④ 有効期限付きのURLを返却 リンクでログイン可能
AWS Deep Night in 福岡 Part.2 53 AWSへのログイン情報の管理 単独アカウント・Organizationsの親アカウントの場合 #
AWS SDK for Ruby assume_credential = Aws::AssumeRoleCredentials.new( client: Aws::STS::Client.new, role_arn: "arn:aws:iam::#{family_account_id}:role/OrganizationAccountAccessRole", role_session_name: "SessinName", policy: "Policy", ) issuer_url = "https://mysignin.internal.mycompany.com/" console_url = "https://console.aws.amazon.com/" signin_url = "https://signin.aws.amazon.com/federation" session_json = { :sessionId => assume_credential.credentials[:access_key_id], :sessionKey => assume_credential.credentials[:secret_access_key], :sessionToken => assume_credential.credentials[:session_token] }.to_json get_signin_token_url = signin_url + "?Action=getSigninToken" + "&SessionType=json&Session=" + CGI.escape(session_json) returned_content = URI.parse(get_signin_token_url).read signin_token = JSON.parse(returned_content)['SigninToken'] signin_token_param = "&SigninToken=" + CGI.escape(signin_token) issuer_param = "&Issuer=" + CGI.escape(issuer_url) destination_param = "&Destination=" + CGI.escape(console_url) login_url = signin_url + "?Action=login" + signin_token_param + issuer_param + destination_param
AWS Deep Night in 福岡 Part.2 54 AWSへのログイン情報の管理 単独アカウント・Organizationsの親アカウントの場合 #
AWS SDK for Ruby assume_credential = Aws::AssumeRoleCredentials.new( client: Aws::STS::Client.new, role_arn: "arn:aws:iam::#{family_account_id}:role/OrganizationAccountAccessRole", role_session_name: "SessinName", policy: "Policy", ) issuer_url = "https://mysignin.internal.mycompany.com/" console_url = "https://console.aws.amazon.com/" signin_url = "https://signin.aws.amazon.com/federation" session_json = { :sessionId => assume_credential.credentials[:access_key_id], :sessionKey => assume_credential.credentials[:secret_access_key], :sessionToken => assume_credential.credentials[:session_token] }.to_json get_signin_token_url = signin_url + "?Action=getSigninToken" + "&SessionType=json&Session=" + CGI.escape(session_json) returned_content = URI.parse(get_signin_token_url).read signin_token = JSON.parse(returned_content)['SigninToken'] signin_token_param = "&SigninToken=" + CGI.escape(signin_token) issuer_param = "&Issuer=" + CGI.escape(issuer_url) destination_param = "&Destination=" + CGI.escape(console_url) login_url = signin_url + "?Action=login" + signin_token_param + issuer_param + destination_param そもそもIAMの作成の必要もないので、さらに楽
AWS Deep Night in 福岡 Part.2 55 AWSへのログイン情報の管理 • 煩雑なAWSへのログインを簡略化
• 個人が管理するMFAがそもそも必要なくなる • 個人への依存軽減 • IDプロバイダーなどの事前準備が必要ない • 将来的に連携も容易
AWS Deep Night in 福岡 Part.2 56 AWSへのログイン情報の管理 • 煩雑なAWSへのログインを簡略化
• 個人が管理するMFAがそもそも必要なくなる • 個人への依存軽減 • IDプロバイダーなどの事前準備が必要ない • 将来的に連携も容易 ていう、Webアプリを鋭意作成中
AWS Deep Night in 福岡 Part.2 57 新・3大 AWSの管理で味わった「つらみ」 AWSの利用料の原価について
AWS Deep Night in 福岡 Part.2 ~つらみ編~ 58 AWSの利用料の原価について
AWS Deep Night in 福岡 Part.2 59 • 社内の経理的なお話 •
受託、自社サービスなど案件ごとにAWSアカウントは 別で運用している • 各案件ごとのAWS利用料は原価として処理したい • 原価として計上するのであれば、もちろん正確な金額 が望ましい AWSの利用料の原価について
AWS Deep Night in 福岡 Part.2 60 • 単独アカウントの場合 •
問題なし • 対象アカウントに請求される金額が原価となる • 一括請求(Organizations)アカウントの場合 • 問題にぶち当たる • 一括請求アカウントの請求画面に表示される各アカウントご との金額はあまり正確な金額ではないことを知る AWSの利用料の原価について
AWS Deep Night in 福岡 Part.2 61 AWSの利用料の原価について
AWS Deep Night in 福岡 Part.2 62 • どう正確じゃないのか •
画面に表示されている金額は「ブレンドコスト」 • 「ブレンドコスト」とは • Organizations 内での料金最適化のために用いられるコスト • Organizationsにおける全ての利用料を、各サービスごとにまと めの平均レートを算出、これに各アカウントの使用量(時 間)を掛けたものが「ブレンドコスト」 • 何が問題か • リザーブドインスタンスを購入しているアカウントにも EC2の料金が計上されてしまう AWSの利用料の原価について
AWS Deep Night in 福岡 Part.2 63 ※ 1ヶ月を720hとする ※
EC2はt2.small, 単価 $0.03/h とする • Organizations 親アカウント • ファミリーアカウント① • リザーブド: 所有(全額前払い済) • EC2 利用時間:720h • 期待する金額:$0 • ブレンドレート:$0.015/h(=$21.6 / (720h + 720h)) • ブレンドコスト:$10.18(=$0.015 * 720h) • ファミリーアカウント② • リザーブド:未所持 • EC2 利用時間:720h • 期待する金額:$21.6(=720h × $0.03) • ブレンドレート:$0.015/h(=$21.6 / (720h + 720h)) • ブレンドコスト:$10.18(=$0.015 * 720h) AWSの利用料の原価について
AWS Deep Night in 福岡 Part.2 64 ※ 1ヶ月を720hとする ※
EC2はt2.small, 単価 $0.03/h とする • Organizations 親アカウント • ファミリーアカウント① • リザーブド: 所有(全額前払い済) • EC2 利用時間:720h • 期待する金額:$0 • ブレンドレート:$0.015/h(=$21.6 / (720h + 720h)) • ブレンドコスト:$10.18(=$0.015 * 720h) • ファミリーアカウント② • リザーブド:未所持 • EC2 利用時間:720h • 期待する金額:$21.6(=720h × $0.03) • ブレンドレート:$0.015/h(=$21.6 / (720h + 720h)) • ブレンドコスト:$10.18(=$0.015 * 720h) AWSの利用料の原価について 全体の請求金額で損をしているわけではない。 むしろ、S3など単価が安くなるものは得をしている しかし、原価計算という面で、リザーブドの金額が反 映されないのはあまりにも…
AWS Deep Night in 福岡 Part.2 orz…ツライ 65
AWS Deep Night in 福岡 Part.2 ~対応編~ 66 AWSアカウント発行時の面倒さ
AWS Deep Night in 福岡 Part.2 67 • 「コストと使用状況レポート」 •
AWSが提供するコストに関するCSVレポート • 無料で利用可能(S3へ保存するためその料金は発生) • どのアカウントがどのサービスをどのくらい使ったのか、詳 細に記述されている • CSVの行数は膨大だが、Redshiftへの取り込みも容易 • リザーブドインスタンスの使用状況も確認可能 • 「非ブレンドコスト」という項目がある AWSの利用料の原価について
AWS Deep Night in 福岡 Part.2 68 AWSの利用料の原価について
AWS Deep Night in 福岡 Part.2 69 • 非ブレンドコスト •
ブレンドコストを計算する際に用いられる値 • EC2、S3の単価(に近い)に使用量を掛けた金額 • 通常の感覚に近い金額 AWSの利用料の原価について
AWS Deep Night in 福岡 Part.2 70 • 非ブレンドコスト •
ブレンドコストを計算する際に用いられる値 • EC2、S3の単価(に近い)に使用量を掛けた金額 • 通常の感覚に限りなく近い金額 • ファミリーアカウント① • リザーブド: 所有(全額前払い済) • EC2 利用時間:720h • 期待する金額:$0 • ブレンドコスト:$10.18 • 非ブレンドコスト:$0 • ファミリーアカウント② • リザーブド:未所持 • EC2 利用時間:720h • 期待する金額:$21.6(=720h × $0.03) • ブレンドコスト:$10.18 • 非ブレンドコスト:$21.6 AWSの利用料の原価について
AWS Deep Night in 福岡 Part.2 71 • 非ブレンドコスト •
ブレンドコストを計算する際に用いられる値 • EC2、S3の単価(に近い)に使用量を掛けた金額 • 通常の感覚に限りなく近い金額 • ファミリーアカウント① • リザーブド: 所有(全額前払い済) • EC2 利用時間:720h • 期待する金額:$0 • ブレンドコスト:$10.18 • 非ブレンドコスト:$0 • ファミリーアカウント② • リザーブド:未所持 • EC2 利用時間:720h • 期待する金額:$21.6(=720h × $0.03) • ブレンドコスト:$10.18 • 非ブレンドコスト:$21.6 AWSの利用料の原価について 非ブレンドコストを用いることで、 ある程度正確な金額は算出可能
AWS Deep Night in 福岡 Part.2 72 • アンケートへの回答などでもらえるクーポンは、どの アカウントに適用されるか分からない
• 感覚的に利用金額が多いアカウントが多い • 「コストと使用状況レポート」ではマイナス計上項目も記載 • クーポンがどのアカウントに適用されてか確認可能 AWSの利用料の原価について
AWS Deep Night in 福岡 Part.2 73 • アンケートへの回答などでもらえるクーポンは、どの アカウントに適用されるか分からない
• 感覚的に利用金額が多いアカウントが多い • 「コストと使用状況レポート」ではマイナス計上項目も記載 • クーポンがどのアカウントに適用されてか確認可能 • 非ブレンドレートが実際の単価とずれることもある • リザーブドを使い切っていないアカウントがあった場合、他 の同じファミリータイプを使用するアカウントに割引が適用 され単価自体がずれてしまうため • リザーブドがどのEC2に適用されたかをレポート内で確認可能 AWSの利用料の原価について
AWS Deep Night in 福岡 Part.2 74 • アンケートへの回答などでもらえるクーポンは、どの アカウントに適用されるか分からない
• 感覚的に利用金額が多いアカウントが多い • 「コストと使用状況レポート」ではマイナス計上項目も記載 • クーポンがどのアカウントに適用されてか確認可能 • 非ブレンドレートが実際の単価とずれることもある • リザーブドを使い切っていないアカウントがあった場合、他 の同じファミリータイプを使用するアカウントに割引が適用 され単価自体がずれてしまうため • リザーブドがどのEC2に適用されたかをレポート内で確認可能 AWSの利用料の原価について 頑張ってCSVの内容を解析すれば、 原価と近しい金額は算出可能 Fusicでは現在、解析用のアプリケーションを運用中
AWS Deep Night in 福岡 Part.2 • 新・3大 AWSの管理で味わった「つらみ」 •
アカウント発行時の面倒さ • AWS Organizations の機能を利用して「対応」 • AWSへのログイン情報の管理 • IAMのフェデレーション機能を用いて「対応(予定)」 • AWSの利用料の原価について • 「コストと使用状況レポート」を解析し「対応」 75 まとめ