Slide 1

Slide 1 text

AWS Deep Night in 福岡 Part.2 2018 / 04 / 05 Fusic Co.,Ltd. Tomoyuki Uchida FusicにおけるAWSの管理事情 ~「つらみ」とそれに対する「対応」~

Slide 2

Slide 2 text

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 自己紹介

Slide 3

Slide 3 text

AWS Deep Night in 福岡 Part.2 Fusic と AWS 3

Slide 4

Slide 4 text

AWS Deep Night in 福岡 Part.2 • 会社紹介 • 株式会社 Fusic (フュージック) • 設立年月日:2003年10月10日 • 従業員数:43名 • 事業内容: • テクノロジーコンサルティング • ソフトウェア開発(Webシステム・スマートフォンアプリ) • クラウドインフラ構築 • AI(人工知能)コンサルティング • AWS アドバンスト コンサルティングパートナー • AWS パブリックセクタ―(公共部門)パートナー 4 Fusic と AWS

Slide 5

Slide 5 text

AWS Deep Night in 福岡 Part.2 • 2011年~ 自社サービスの基盤でAWSを採用 • ここで得たノウハウを受託案件に展開していく 5 Fusic と AWS

Slide 6

Slide 6 text

AWS Deep Night in 福岡 Part.2 • 2011年~ 自社サービスの基盤でAWSを採用 • ここで得たノウハウを受託案件に展開していく • 2018年 4月 • AWSアドバンスド コンサルティングパートナー • エンジニア数 34名 のうち、11名がAWSの認定資格保有 • (内 プロフェッショナル 5名 6 Fusic と AWS

Slide 7

Slide 7 text

AWS Deep Night in 福岡 Part.2 • 2011年~ 自社サービスの基盤でAWSを採用 • ここで得たノウハウを受託案件に展開していく • 2018年 4月 • AWSアドバンスド コンサルティングパートナー • エンジニア数 34名 のうち、11名がAWSの認定資格保有 • (内 プロフェッショナル 5名 AWSいっぱい使ってます 7 Fusic と AWS

Slide 8

Slide 8 text

AWS Deep Night in 福岡 Part.2 • AWSいっぱい使ってます 8 Fusic と AWS

Slide 9

Slide 9 text

AWS Deep Night in 福岡 Part.2 • AWSいっぱい使ってます • いつの日か大小合わせるとAWSアカウントの数が100を 超えていた 9 Fusic と AWS

Slide 10

Slide 10 text

AWS Deep Night in 福岡 Part.2 • AWSいっぱい使ってます • いつの日か大小合わせるとAWSアカウントの数が100を 超えていた • 規模が増えていくと、案件内容とは別で、 社内の管理面で「つらみ」が出てきた… 10 Fusic と AWS

Slide 11

Slide 11 text

AWS Deep Night in 福岡 Part.2 AWSの管理で味わった「つらみ」と それに対する「対応」 11

Slide 12

Slide 12 text

AWS Deep Night in 福岡 Part.2 ※ ご注意 ※ この先、多少愚痴っぽく言うこともありますが、 ベースはAWS大好きです。 好きだからこそ気になるとこに気づいちゃう恋バナ的な テンションで聞いていただけると助かります。 12 「つらみ」とそれに対する「対応」

Slide 13

Slide 13 text

AWS Deep Night in 福岡 Part.2 13 新・3大 AWSの管理で味わった「つらみ」

Slide 14

Slide 14 text

AWS Deep Night in 福岡 Part.2 14 新・3大 AWSの管理で味わった「つらみ」 アカウント発行時の面倒さ

Slide 15

Slide 15 text

AWS Deep Night in 福岡 Part.2 ~つらみ編~ 15 AWSアカウント発行時の面倒さ

Slide 16

Slide 16 text

AWS Deep Night in 福岡 Part.2 • AWSアカウントができるまで 16 AWSアカウント発行時の面倒さ

Slide 17

Slide 17 text

AWS Deep Night in 福岡 Part.2 17 AWSアカウント発行時の面倒さ

Slide 18

Slide 18 text

AWS Deep Night in 福岡 Part.2 • AWSアカウントができるまで 18 AWSアカウント発行時の面倒さ

Slide 19

Slide 19 text

AWS Deep Night in 福岡 Part.2 19 AWSアカウント発行時の面倒さ

Slide 20

Slide 20 text

AWS Deep Night in 福岡 Part.2 20 AWSアカウント発行時の面倒さ

Slide 21

Slide 21 text

AWS Deep Night in 福岡 Part.2 21 AWSアカウント発行時の面倒さ

Slide 22

Slide 22 text

AWS Deep Night in 福岡 Part.2 22 AWSアカウント発行時の面倒さ

Slide 23

Slide 23 text

AWS Deep Night in 福岡 Part.2 23 AWSアカウント発行時の面倒さ

Slide 24

Slide 24 text

AWS Deep Night in 福岡 Part.2 • 面倒くさい … 24 AWSアカウント発行時の面倒さ

Slide 25

Slide 25 text

AWS Deep Night in 福岡 Part.2 • 面倒くさい … • 「連絡先情報」:社内限定Wikiから都度コピペ • 生まれるコピペミス、空白含む含まない 25 AWSアカウント発行時の面倒さ

Slide 26

Slide 26 text

AWS Deep Night in 福岡 Part.2 • 面倒くさい … • 「連絡先情報」:社内限定Wikiから都度コピペ • 生まれるコピペミス、空白含む含まない • 「クレカ情報」:都度 経理から受け取り情報入力 • 経理が席を外してると作業できない • 入力ミス発生の可能性も大(俺覚えてるし勢 26 AWSアカウント発行時の面倒さ

Slide 27

Slide 27 text

AWS Deep Night in 福岡 Part.2 • 面倒くさい … • 「連絡先情報」:社内限定Wikiから都度コピペ • 生まれるコピペミス、空白含む含まない • 「クレカ情報」:都度 経理から受け取り情報入力 • 経理が席を外してると作業できない • 入力ミス発生の可能性も大(俺覚えてるし勢 • 「電話認証」:チャット + 社内に響き渡る声 • 「AWSから電話きまーす!とらないでくださーい!」 • 誰か電話取っちゃうとコードを伝えて入力してもらう 27 AWSアカウント発行時の面倒さ

Slide 28

Slide 28 text

AWS Deep Night in 福岡 Part.2 orz…ツライ 28

Slide 29

Slide 29 text

AWS Deep Night in 福岡 Part.2 ~対応編~ 29 AWSアカウント発行時の面倒さ

Slide 30

Slide 30 text

AWS Deep Night in 福岡 Part.2 • 2017年 2月 「AWS Organizations」が一般公開 • 一つの親アカウントのもとにAWSアカウントを「組織」とし て管理が可能 • 複数の AWS アカウントに対するポリシーフレームワーク • AWS のサービスの APIレベルの制御 • 従来の一括請求機能と統合 • アカウントの作成および管理API 30 AWSアカウント発行時の面倒さ

Slide 31

Slide 31 text

AWS Deep Night in 福岡 Part.2 • 2017年 2月 「AWS Organizations」が一般公開 • 一つの親アカウントのもとにAWSアカウントを「組織」とし て管理が可能 • 複数の AWS アカウントに対するポリシーフレームワーク • AWS のサービスの APIレベルの制御 • 従来の一括請求機能と統合 • アカウントの作成および管理API 31 AWSアカウント発行時の面倒さ キタコレ!

Slide 32

Slide 32 text

AWS Deep Night in 福岡 Part.2 • AWS Organizations でアカウントを作ってみる 32 AWSアカウント発行時の面倒さ

Slide 33

Slide 33 text

AWS Deep Night in 福岡 Part.2 33 AWSアカウント発行時の面倒さ • 一括請求の親アカウントまたは単独のアカウントで

Slide 34

Slide 34 text

AWS Deep Night in 福岡 Part.2 34 AWSアカウント発行時の面倒さ

Slide 35

Slide 35 text

AWS Deep Night in 福岡 Part.2 35 AWSアカウント発行時の面倒さ アカウント名 メールアドレス のみ

Slide 36

Slide 36 text

AWS Deep Night in 福岡 Part.2 36 AWSアカウント発行時の面倒さ アカウント名 メールアドレス のみ 電話認証・クレカ入力なし 圧倒的な楽さ!

Slide 37

Slide 37 text

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)

Slide 38

Slide 38 text

AWS Deep Night in 福岡 Part.2 • Fusicでの実際の運用方法 • 1.案件ごとの担当者が社内AWSアカウント管理者に連絡 • 2.AWS Organizations で作成 • ※ 単独アカウントの場合、従来の方法で作成 • 3.担当者がパスワードリセット、MFAの設定を行う 38 AWSアカウント発行時の面倒さ

Slide 39

Slide 39 text

AWS Deep Night in 福岡 Part.2 • Fusicでの実際の運用方法 • 1.案件ごとの担当者が社内AWSアカウント管理者に連絡 • 2.AWS Organizations で作成 • ※ 単独アカウントの場合、従来の方法で作成 • 3.担当者がパスワードリセット、MFAの設定を行う 39 AWSアカウント発行時の面倒さ アカウント発行を担当者ではなく、社内管理者に委任 社内管理者がAWSアカウントを把握しやすくなる 肝心のアカウント発行の手間も少ないため、負担はそこまで増えない 担当者ごとの発行によるブレの解消につながる 「AWSから電話きまーす!」がほぼなくなる

Slide 40

Slide 40 text

AWS Deep Night in 福岡 Part.2 40 新・3大 AWSの管理で味わった「つらみ」 AWSへのログイン情報の管理

Slide 41

Slide 41 text

AWS Deep Night in 福岡 Part.2 ~つらみ編~ 41 AWSへのログイン情報の管理

Slide 42

Slide 42 text

AWS Deep Night in 福岡 Part.2 • Fusicでのログイン情報の管理 • コンソールへのログインに用いるrootアカウント、IAMアカウ ントにはMFAの設定を絶対としている • 1.アカウント発行時にrootアカウントにMFAを設定 • MFA設定用のQRコードを社内の「しかるべき場所」に保管 • 2.アカウントを利用する社員ごとにIAMを作成 • IAMに用いるパスワード、MFA情報は個人で管理 42 AWSへのログイン情報の管理

Slide 43

Slide 43 text

AWS Deep Night in 福岡 Part.2 43 AWSへのログイン情報の管理 • 正直、毎回MFA入力するのは面倒 • スマホのMFA管理ツールのアカウント量が半端ない

Slide 44

Slide 44 text

AWS Deep Night in 福岡 Part.2 44 AWSへのログイン情報の管理 • 正直、毎回MFA入力するのは面倒 • スマホのMFA管理ツールのアカウント量が半端ない • 「しかるべき場所」に保管されてないことも…orz • 結局、人に依存している • 緊急時に誰もコンソールにログインできなくなる危険性

Slide 45

Slide 45 text

AWS Deep Night in 福岡 Part.2 45 AWSへのログイン情報の管理 • 正直、毎回MFA入力するのは面倒 • スマホのMFA管理ツールのアカウント量が半端ない • 「しかるべき場所」に保管されてないことも…orz • 結局、人に依存している • 緊急時に誰もコンソールにログインできなくなる危険性 • 利用者ごとにIAM作るのつらい • AWSアカウントに加えてIAMアカウントの管理も必要に • IDプロバイダーを利用したフェデレーションログインは? • FusicではLDAPもActiveDirectoryもない…

Slide 46

Slide 46 text

AWS Deep Night in 福岡 Part.2 orz…ツライ 46

Slide 47

Slide 47 text

AWS Deep Night in 福岡 Part.2 ~対応編(未来)~ 47 AWSアカウント発行時の面倒さ

Slide 48

Slide 48 text

AWS Deep Night in 福岡 Part.2 48 AWSへのログイン情報の管理 • IAMのアクセスキーとシークレットキーを利用し、一 時的なクレデンシャルを生成しコンソールへのログイ ンURLがプログラムで生成可能 • リンクを押せば、ログインできる機構が作成可能 • 結局、IAMユーザが増えてない? • 単独アカウント、Organizationsの親アカウントには1つのIAM があればよい • Organizationsに属するファミリーアカウントには、親アカウン トのIAMを信頼する IAM Assume Role が存在し、これを利用

Slide 49

Slide 49 text

AWS Deep Night in 福岡 Part.2 49 AWSへのログイン情報の管理 AWS cloud 単独アカウント・Organizationsの親アカウントの場合 ボタン パスワード 無しの IAMを作成 IAM “hoge” ① IAM “hoge” のアクセスキー シークレットキーを利用して フェデレーション用のトークンを要求 ② 一時的なトークンを返却 ③ トークンを利用しログインURLを要求 ④ 有効期限付きのURLを返却 リンクでログイン可能

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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の設定が必要ない ためセキュリティ的にもうれしい

Slide 52

Slide 52 text

AWS Deep Night in 福岡 Part.2 52 AWSへのログイン情報の管理 親アカウント Organizationsに属するファミリーアカウントの場合 パスワード 無しの IAMを作成 IAM “hoge” ファミリーアカウント 親アカウントを 信頼するRoleが 自動で作成され ている ① IAM “hoge” のアクセスキー シークレットキーを利用して… ④ 有効期限付きのURLを返却 リンクでログイン可能

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

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の作成の必要もないので、さらに楽

Slide 55

Slide 55 text

AWS Deep Night in 福岡 Part.2 55 AWSへのログイン情報の管理 • 煩雑なAWSへのログインを簡略化 • 個人が管理するMFAがそもそも必要なくなる • 個人への依存軽減 • IDプロバイダーなどの事前準備が必要ない • 将来的に連携も容易

Slide 56

Slide 56 text

AWS Deep Night in 福岡 Part.2 56 AWSへのログイン情報の管理 • 煩雑なAWSへのログインを簡略化 • 個人が管理するMFAがそもそも必要なくなる • 個人への依存軽減 • IDプロバイダーなどの事前準備が必要ない • 将来的に連携も容易 ていう、Webアプリを鋭意作成中

Slide 57

Slide 57 text

AWS Deep Night in 福岡 Part.2 57 新・3大 AWSの管理で味わった「つらみ」 AWSの利用料の原価について

Slide 58

Slide 58 text

AWS Deep Night in 福岡 Part.2 ~つらみ編~ 58 AWSの利用料の原価について

Slide 59

Slide 59 text

AWS Deep Night in 福岡 Part.2 59 • 社内の経理的なお話 • 受託、自社サービスなど案件ごとにAWSアカウントは 別で運用している • 各案件ごとのAWS利用料は原価として処理したい • 原価として計上するのであれば、もちろん正確な金額 が望ましい AWSの利用料の原価について

Slide 60

Slide 60 text

AWS Deep Night in 福岡 Part.2 60 • 単独アカウントの場合 • 問題なし • 対象アカウントに請求される金額が原価となる • 一括請求(Organizations)アカウントの場合 • 問題にぶち当たる • 一括請求アカウントの請求画面に表示される各アカウントご との金額はあまり正確な金額ではないことを知る AWSの利用料の原価について

Slide 61

Slide 61 text

AWS Deep Night in 福岡 Part.2 61 AWSの利用料の原価について

Slide 62

Slide 62 text

AWS Deep Night in 福岡 Part.2 62 • どう正確じゃないのか • 画面に表示されている金額は「ブレンドコスト」 • 「ブレンドコスト」とは • Organizations 内での料金最適化のために用いられるコスト • Organizationsにおける全ての利用料を、各サービスごとにまと めの平均レートを算出、これに各アカウントの使用量(時 間)を掛けたものが「ブレンドコスト」 • 何が問題か • リザーブドインスタンスを購入しているアカウントにも EC2の料金が計上されてしまう AWSの利用料の原価について

Slide 63

Slide 63 text

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の利用料の原価について

Slide 64

Slide 64 text

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など単価が安くなるものは得をしている しかし、原価計算という面で、リザーブドの金額が反 映されないのはあまりにも…

Slide 65

Slide 65 text

AWS Deep Night in 福岡 Part.2 orz…ツライ 65

Slide 66

Slide 66 text

AWS Deep Night in 福岡 Part.2 ~対応編~ 66 AWSアカウント発行時の面倒さ

Slide 67

Slide 67 text

AWS Deep Night in 福岡 Part.2 67 • 「コストと使用状況レポート」 • AWSが提供するコストに関するCSVレポート • 無料で利用可能(S3へ保存するためその料金は発生) • どのアカウントがどのサービスをどのくらい使ったのか、詳 細に記述されている • CSVの行数は膨大だが、Redshiftへの取り込みも容易 • リザーブドインスタンスの使用状況も確認可能 • 「非ブレンドコスト」という項目がある AWSの利用料の原価について

Slide 68

Slide 68 text

AWS Deep Night in 福岡 Part.2 68 AWSの利用料の原価について

Slide 69

Slide 69 text

AWS Deep Night in 福岡 Part.2 69 • 非ブレンドコスト • ブレンドコストを計算する際に用いられる値 • EC2、S3の単価(に近い)に使用量を掛けた金額 • 通常の感覚に近い金額 AWSの利用料の原価について

Slide 70

Slide 70 text

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の利用料の原価について

Slide 71

Slide 71 text

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の利用料の原価について 非ブレンドコストを用いることで、 ある程度正確な金額は算出可能

Slide 72

Slide 72 text

AWS Deep Night in 福岡 Part.2 72 • アンケートへの回答などでもらえるクーポンは、どの アカウントに適用されるか分からない • 感覚的に利用金額が多いアカウントが多い • 「コストと使用状況レポート」ではマイナス計上項目も記載 • クーポンがどのアカウントに適用されてか確認可能 AWSの利用料の原価について

Slide 73

Slide 73 text

AWS Deep Night in 福岡 Part.2 73 • アンケートへの回答などでもらえるクーポンは、どの アカウントに適用されるか分からない • 感覚的に利用金額が多いアカウントが多い • 「コストと使用状況レポート」ではマイナス計上項目も記載 • クーポンがどのアカウントに適用されてか確認可能 • 非ブレンドレートが実際の単価とずれることもある • リザーブドを使い切っていないアカウントがあった場合、他 の同じファミリータイプを使用するアカウントに割引が適用 され単価自体がずれてしまうため • リザーブドがどのEC2に適用されたかをレポート内で確認可能 AWSの利用料の原価について

Slide 74

Slide 74 text

AWS Deep Night in 福岡 Part.2 74 • アンケートへの回答などでもらえるクーポンは、どの アカウントに適用されるか分からない • 感覚的に利用金額が多いアカウントが多い • 「コストと使用状況レポート」ではマイナス計上項目も記載 • クーポンがどのアカウントに適用されてか確認可能 • 非ブレンドレートが実際の単価とずれることもある • リザーブドを使い切っていないアカウントがあった場合、他 の同じファミリータイプを使用するアカウントに割引が適用 され単価自体がずれてしまうため • リザーブドがどのEC2に適用されたかをレポート内で確認可能 AWSの利用料の原価について 頑張ってCSVの内容を解析すれば、 原価と近しい金額は算出可能 Fusicでは現在、解析用のアプリケーションを運用中

Slide 75

Slide 75 text

AWS Deep Night in 福岡 Part.2 • 新・3大 AWSの管理で味わった「つらみ」 • アカウント発行時の面倒さ • AWS Organizations の機能を利用して「対応」 • AWSへのログイン情報の管理 • IAMのフェデレーション機能を用いて「対応(予定)」 • AWSの利用料の原価について • 「コストと使用状況レポート」を解析し「対応」 75 まとめ