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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
Socrates × Looker 〜セマンティックレイヤーで進化するデータ分析エージェント〜
hanon52_
3
2.3k
非定型業務をAI slackbotで自動化する ~ 社内要望を自動壁打ちするbotを作った ~/automating-ad-hoc-work-with-ai-slackbot
shibayu36
0
650
日本 Fintech 未来予測レポート 2027〜2028年(手動編集版)
8maki
0
2.2k
200個のGitHubリポジトリを横断調査したかった
icck
0
120
Android の公式 Skill / Android skills
yanzm
0
140
プロダクト開発から業務改善コンサルまで。事業全体へ「染み出す」ことで広がるエンジニアの可能性
ham0215
0
120
データサイエンスを価値につなげるプロジェクト設計 〜 DS一年目が現場で得た気づき 〜
ysd113
1
230
AWSシリコン最前線 〜AI時代のチップ選択を読み解く〜
htokoyo
2
590
気づかぬうちにセキュリティ負債を生むAPIキー運用
sgwrmctk
0
120
RSA暗号を手計算したくなること、ありますよね?? (20260615_orestudy6_rsa)
thousanda
0
380
2026TECHFRESH畢業分享會 - Lightning Talk - 打造精準高效的 MCP 設計模式與測試實務
line_developers_tw
PRO
0
970
「エンジニア進化論」2028年の開発完全自動化、エンジニアはどう進化するか
cyberagentdevelopers
PRO
6
5.1k
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
360
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
300
Fireside Chat
paigeccino
42
3.9k
Believing is Seeing
oripsolob
1
140
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
390
How to Talk to Developers About Accessibility
jct
2
230
Docker and Python
trallard
47
3.9k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
BBQ
matthewcrist
89
10k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
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 まとめ