Share
Embed
Transcript
27 slides
-
2 • 名前 ◦ 佐々木真也 • 所属 ◦ 株式会社コドモン ▪
SREチーム マネージャー • X ◦ @taishin • 居住地 ◦ 大阪 自己紹介 -
3 パパママと、子どもとの時間に 1秒でも多くの笑顔と愛情を すべての先生に 子どもと向き合う時間と心のゆとりを 「保育・子育て」と 社会をつなげる 保護者の子育てへの伴走 保育・教育者の環境改善 子育ての社会インフラ作り
子どもを取り巻く環境を テクノロジーの力で よりよいものに ミッション 私たちの使命 -
7 CONFIDENTIAL - © 2022 CoDMON Inc. 7 Finopsとは? •
FinOpsとは、「Finance(財務)」と「DevOps(開発・運用)」を組み 合わせた造語で、クラウドの利用料金を継続的に最適化し、そのビジネス 価値を最大化するための運用モデルであり、文化的な実践です。 -
8 CONFIDENTIAL - © 2022 CoDMON Inc. 8 オライリー本 1.
FinOpsとは何か? 2. なぜFinOpsが必要なのか? 3. 文化的転換とFinOpsチーム 4. FinOpsの共通言語 5. クラウド請求書の解剖学 6. FinOpsの導入 7. FinOpsのユーザーインターフェース(UI) 8. FinOpsライフサイクル 9. Informフェーズ:あなたの現在地はどこですか? 10.配賦:すべての費用を割り当てる 11.タグ、ラベル、アカウント、あぁ大変! 12.予測:将来を理解する 13.Optimizeフェーズ 14.使用量の低減:使用量の最適化 15.支払いの低減:料金(レート)の最適化 16.コミットメント割引の理解 17.コミットメントベースの割引戦略の構築 18.持続可能性(サステナビリティ):FinOpsとGreenOpsの連携 -
9 CONFIDENTIAL - © 2022 CoDMON Inc. 9 オライリー本 1.
FinOpsとは何か? 2. なぜFinOpsが必要なのか? 3. 文化的転換とFinOpsチーム 4. FinOpsの共通言語 5. クラウド請求書の解剖学 6. FinOpsの導入 7. FinOpsのユーザーインターフェース(UI) 8. FinOpsライフサイクル 9. Informフェーズ:あなたの現在地はどこですか? 10.配賦:すべての費用を割り当てる 11.タグ、ラベル、アカウント、あぁ大変! 12.予測:将来を理解する 13.Optimizeフェーズ 14.使用量の低減:使用量の最適化 15.支払いの低減:料金(レート)の最適化 16.コミットメント割引の理解 17.コミットメントベースの割引戦略の構築 18.持続可能性(サステナビリティ):FinOpsとGreenOpsの連携 -
10 CONFIDENTIAL - © 2022 CoDMON Inc. 10 AWSにおけるタグ •
タグ ◦ AWS上のリソース(EC2インスタンスやS3バケットなど)に付けることができる ◦ キーと値のペアで構成される(例: Key=Project, Value=Apollo) • AWSコスト配分タグ ◦ AWSの利用料金を分析するために使われるタグ https://aws.amazon.com/jp/blogs/news/aws-taggi ng-and-governance-part1/ -
11 CONFIDENTIAL - © 2022 CoDMON Inc. 11 FinOpsにおいて、なぜ「タグ付け」が重要なのか? •
責任の明確化 • 正確なコスト配分 • ビジネス価値の可視化 • コスト最適化の機会発見 -
12 CONFIDENTIAL - © 2022 CoDMON Inc. 12 FinOpsにおいて、なぜ「タグ付け」が重要なのか? •
Service_1 Service_2 Service_3 Service_1 Service_2 Service_3 • サービスがアカウントごとに 分かれている構成 ◦ タグがなくてもコスト配分 はしやすい • 1アカウントで提供され、そ の中で複数サービスが稼働し ている構成 ◦ コスト配分にはタグ付けが 必須 -
13 CONFIDENTIAL - © 2022 CoDMON Inc. 13 タグ付けするための考慮点 •
タグ付けのルール決め/浸透 ◦ タグ付けのルールを組織全体統一させないといけない • 既存リソースへのタグ付け ◦ 稼働している膨大な数のリソースに後からタグを付けるのは非常に困難 • タグの付け漏れへの対応 ◦ リソース作成時にタグを付け忘れる -
14 CONFIDENTIAL - © 2022 CoDMON Inc. 14 タグ付けするための考慮点 •
タグ付けのルール決め/浸透 ◦ タグ付けのルールを組織全体統一させないといけない • 既存リソースへのタグ付け ◦ 稼働している膨大な数のリソースに後からタグを付けるのは非常に困難 • タグの付け漏れへの対応 ◦ リソース作成時にタグを付け忘れる -
16 CONFIDENTIAL - © 2022 CoDMON Inc. 16 タグのつけ漏れ対策(IaC/Terraform) •
Conftest (Open Policy Agent) での対応 ◦ タグ付けポリシーに沿っていないリソースは作成できない -
17 CONFIDENTIAL - © 2022 CoDMON Inc. 17 タグのつけ漏れ対策(手動作成等) •
AWS Configで検知して、Slack通知 ◦ ブロックしたいが・・・ -
18 CONFIDENTIAL - © 2022 CoDMON Inc. 18 AWS Configでの検知方法
• AWS Config マネージドルール(required-tags) ◦ マネージドルールなので、設定が簡単だが、サポートしているリソースがかな り限られている • AWS Security Hub(Resource Tagging Standard) ◦ 対応しているリソースが限られている ◦ 設定が面倒 -
19 CONFIDENTIAL - © 2022 CoDMON Inc. 19 AWS Configでの検知方法
• Configカスタムルール ◦ Guardで書けるようになってからは割と簡単 https://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/create-aws-co nfig-custom-rules-by-using-aws-cloudformation-guard-policies.html rule check_service_tag { tags.Service exists when tags.Service exists { tags.Service in 〜 } } -
20 CONFIDENTIAL - © 2022 CoDMON Inc. 20 Configカスタムルールでの課題 •
リソースタイプの指定が必要 ◦ 「すべて」を選択すると、下記のようなリソースも全部通知されてしまう ▪ AWS APIにてそもそもタグの指定オプションがないもの ▪ AWSがマネージドで動的に作成するリソースで、タグが付与できなもの 例 • Aurora:SnapshotExportToS3 • ConfigurationItemRecorded • ConfigRuleEvaluations • CW:MetricMonitorUsage • PublicIPv4:InUseAddress • PaidComplianceCheck • Lambda-Edgeの全ての使用タイプ • S3-Egress-Bytes • など -
21 CONFIDENTIAL - © 2022 CoDMON Inc. 21 Configカスタムルールでの課題 •
チェック対象のリソースタイプの設定 ◦ terraformで管理 ◦ 一つのカスタムルールで設定できるリソースタイプ数は100までという制限が あるので、ルールを分割 variable "tags_resource_types_scope_1" { default = [ "AWS::ApiGateway::Stage", "AWS::ApiGateway::RestApi", "AWS::ApiGatewayV2::Stage", "AWS::ApiGatewayV2::Api", "AWS::Athena::WorkGroup", "AWS::Athena::DataCatalog", "AWS::Athena::PreparedStatement", "AWS::CloudFront::Distribution", "AWS::CloudFront::StreamingDistribution", : variable "tags_resource_types_scope_2" { default = [ "AWS::Kinesis::Stream", "AWS::Kinesis::StreamConsumer", "AWS::KinesisAnalyticsV2::Application", "AWS::KinesisFirehose::DeliveryStream", "AWS::MSK::Cluster", "AWS::MSK::Configuration", "AWS::MSK::BatchScramSecret", "AWS::MSK::ClusterPolicy", "AWS::MSK::VpcConnection", : -
22 CONFIDENTIAL - © 2022 CoDMON Inc. 22 Configカスタムルールでの課題 •
リソースタイプの追加確認 ◦ ConfigのAWS公式ドキュメントの更新情報をもとに対象とするリソースの追加 を判断 ◦ 「ドキュメント履歴」をRSSでチェックし、AWS Config が新しいリソースタイ プをサポートしたときには、対象リソースとして追加 -
23 CONFIDENTIAL - © 2022 CoDMON Inc. 23 CostExplorerで見る実践後の結果 •
なかなか減らない・・・ ◦ 前述のタグ付けをコントロールできないリソースの割合が結構多い -
25 CONFIDENTIAL - © 2022 CoDMON Inc. 25 まとめ •
FinOpsの実践において、タグ付けは重要 • タグの付け漏れ対策 • 実際全部タグ付けするのは難しい・・・ ◦ もっといい方法あれば教えて下さい🙏