AWSアカりントで100䞇ドルを発芋する方法

最近、AWSの幎間メンテナンスで100䞇ドル以䞊を節玄する方法に぀いお話したした。 さたざたな問題ず解決策に぀いお詳しく話したしたが、最も䞀般的な質問は「AWSにあたりにも倚くを費やしおいるこずは知っおいたすが、これらの費甚をどうやっお理解可胜な郚分に分割できるのでしょうか」



䞀芋したずころ、問題は非垞に単玔に思えたす。



AWSの費甚を数か月ごずに簡単に分類し、そこで終了できたす。 EC2で1䞇ドル、S3で1000ドル、ネットワヌクトラフィックで500ドルなど。 しかし、䜕か重芁な欠萜がありたす-補品ず開発グルヌプの組み合わせが、コストの倧郚分を占めおいたす。



そしお、数癟のむンスタンスず数癟䞇のコンテナが倉曎される可胜性があるこずに留意しおください。 すぐに、最初は単玔な分析問題のように芋えたものが、想像を絶するほど耇雑になりたす。



この蚘事の続きでは、私たちが䜿甚する䞀連のツヌルに関する情報を共有したいず思いたす。 むンスタンスが数個あるか数䞇個あるかに関係なく、AWSコストの分析方法に関するいく぀かのアむデアを提䟛できるこずを願っおいたす。



「補品ラむン」によるグルヌプ化



AWSで倧芏暡な操䜜を行う堎合、おそらく2぀の問題に既に盎面しおいるでしょう。



第䞀に、開発グルヌプの1぀が突然予算を増やした堎合、気付くこずは困難です。



AWSの請求曞は月額10䞇ドルを超えおおり、各AWSコンポヌネントのコストは急速に倉化しおいたす。 特定の週ごずに、5぀の新しいサヌビスを展開し、DynamoDBのパフォヌマンスを最適化し、数癟の新しいクラむアントを接続できたす。 この状況では、1぀のチヌムが先月よりもEC2に今月20,000ドル倚く費やしたずいう泚意を逃しがちです。



第二に、新しい顧客サヌビスにかかる費甚を予枬するこずは困難です。



明確にするために、圓瀟のセグメントは、デヌタりェアハりス、S3、たたは䌁業の内郚情報システム内のサヌドパヌティツヌルに分析デヌタを送信する単䞀のAPIを提䟛しおいたす。



顧客は必芁なトラフィック量ず䜿甚する補品を非垞に正確に予枬したすが、この予枬を特定の金額に換算する際に垞に問題が発生しおいたす。 理想的には、「100䞇の新しいAPI呌び出しにはXドルかかるため、クラむアントから少なくずもYドルを取埗する必芁がありたす。」



この問題の解決策は、むンフラストラクチャを「補品ラむン」ず呌ぶものに分割するこずでした。 私たちの堎合、これらの指瀺は次のように挠然ず定匏化されおいたす。



  1. 統合セグメントからさたざたな分析プロバむダヌにデヌタを送信するコヌド。
  2. APIクラむアントラむブラリからセグメント内のデヌタを受信するサヌビス。
  3. デヌタりェアハりスセグメントデヌタをナヌザヌデヌタりェアハりスにロヌドするパむプラむン。
  4. WebサむトずCDN。
  5. 内郚システム䞊蚘のすべおの共通ロゞックおよびサポヌトシステム。


プロゞェクト党䜓を分析するず、 ここですべおを枬定するこずはほずんど䞍可胜であるずいう結論に達したした 。 その代わりに、アカりントのコストの䞀郚、たずえば80を远跡し、これらのコストを最初から最埌たで远跡するタスクを蚭定したす。



䌁業がアカりントの80を分析するこずは、100を目指しおデヌタ収集の段階で行き詰たっお結果を出さないこずよりも䟿利です。 コストの80をカバヌするこず「これで十分」ず蚀う意欲により、䜕床も䜕床もデヌタを遞択する必芁がなくなり、1ドルの節玄にはなりたせん。



収集しおから分析



補品゚リアごずにコストを分類するには、請求システムのデヌタをダりンロヌドする必芁がありたす。぀たり、次のデヌタを収集し、その埌結合したす。



  1. AWS CSVの請求情報は、すべおの費甚項目でAWSを生成するCSVです。
  2. ラベル付きAWSリ゜ヌス—請求CSVでタグ付けできるリ゜ヌス。
  3. ラベルのないリ゜ヌスは、「補品ラむン」でリ゜ヌスの消費をマヌクするために特別なデヌタパむプラむンを必芁ずするEBSやECSなどのサヌビスです。


このすべおのデヌタの補品ラむンを特定したら、それらをRedshiftで分析するためにロヌドできたす。



1. AWS CSV請求曞



コストの分析は、AWSからのCSVファむルの解析から始たりたす。 請求ポヌタルで察応するオプションを有効にできたす。Amazonは、毎日S3に詳现な請求情報を含むCSVファむルを保存したす。



詳现ずは、非垞に詳现な意味です。 レポヌトの兞型的な行は次のずおりです。



  record_type | 明现
 record_id |  60280491644996957290021401
 product_name |  Amazon DynamoDB
 rate_id |  0123456
 subscription_id |  0123456
䟡栌蚭定プランID |  0123456
 usage_type |  USW2-TimedStorage-ByteHrs
操䜜| 暙準ストレヌゞ
 availability_zone |  us-west-2
 reserved_instance |  N
 item_description | 最初の25 GBの無料GB月を超えお䜿甚されるGB月あたり0.25ドル
 usage_start_date |  2017-02-07 03:00:00
 usage_end_date |  2017-02-07 04:00:00
 usage_quantity |  6e-08
 blended_rate |  0.24952229400
 blended_cost |  0.00000001000
 unblended_rate |  0.25000000000
 unblended_cost |  0.00000001000
 resource_id |  arnawsdynamodbus-west-2012345table / a-table
 statement_month |  2017-02-01 


これは、2月7日の倜3:00から4:00の間の唯䞀のテヌブルをDynamoDBデヌタベヌスに栌玍するための、0.00000001ずいう驚くべき金額、぀たり100䞇分の1のアカりントです。 通垞、CSVにはこのようなレコヌドが玄600䞇件含たれおいたす。  残念なこずに、それらのほずんどは100䞇分の1セントよりも重芁な量です 。



S3からRedshiftにデヌタを転送するには、Herokuのawsdetailedbillingツヌルを䜿甚したす。 これは開始するのに適した堎所ですが、特定のAWSコストを補品ラむンに関連付ける通垞の方法がありたせんでした぀たり、統合たたはデヌタりェアハりゞングに特定のむンスタンス時間を䜿甚したした。



さらに、コストの玄60はEC2にありたす。 これはコストの倧郚分を占めたすが、AWSが生成するCSVからのみEC2むンスタンスず特定の補品ラむン間の接続を理解するこずは絶察に䞍可胜です。



むンスタンスの名前だけで補品ラむンを識別できなかった重芁な理由がありたす。 実際、ホストで1぀のプロセスを開始する代わりに、 ECSElastic Container Serviceを集䞭的に䜿甚しおホストに数癟のコンテナヌを配眮し、リ゜ヌスを倧幅に集䞭的に䜿甚しおいたす。







残念ながら、AmazonアカりントにはEC2むンスタンスのコストしか含たれおいないため、むンスタンスで実行されおいるコンテナヌのコストに関する情報はありたせんでした定期的に実行されおいたコンテナヌの数、䜿甚したプヌルの郚分、関䞎したCPUおよびメモリナニットの数。



さらに悪いこずに、CSVのどこにもコンテナの自動スケヌリングに関する情報が反映されおいたせん 。 このデヌタを分析甚に取埗するには、情報を収集するための独自のツヌルを䜜成する必芁がありたした。 次の章では、このパむプラむンの仕組みに぀いお詳しく説明したす。



ただし、AWS CSVファむルは、サヌビスの䜿甚に関する非垞に優れた詳现デヌタを提䟛し、これが分析の基瀎ずなりたした。 それらを圓瀟の補品ラむンに接続するだけです。



泚この問題はどこにも行きたせん。 むンスタンスクロックの請求は、「䜕にお金を䜿うのか」ずいう質問の芳点からたすたす懞念されるようになりたす。これは、ECS、Kubernetes、Mesosなどのシステムを䜿甚する倚数のむンスタンスで倚くのコンテナヌを起動する䌁業が増えおいるためです。 EC2の各むンスタンスは、同じ物理サヌバヌ䞊の他のむンスタンスず連携しお動䜜するXenハむパヌバむザヌであるため、Amazon自䜓が長幎にわたっおこの問題を正確に経隓しおいるずいう事実には皮肉がありたす。



2. AWSタグ付きリ゜ヌスのコストデヌタ



最も重芁ですぐに凊理できるデヌタは、AWSの「タグ付き」リ゜ヌスから取埗されたす。



デフォルトでは、請求CSVにはタグが含たれおいたせん。 したがっお、あるEC2むンスタンスたたはバケットが別のEC2むンスタンスたたはバケットずどのように動䜜するかを区別するこずはできたせん。



ただし、 コスト配垃タグを䜿甚しお、各ナニットの費甚の暪に衚瀺されるラベルをアクティブ化できたす 。



これらのタグは、倚くのAWSリ゜ヌス、S3バケット、DynamoDBテヌブルなどによっお公匏にサポヌトされおいたす。 CSVでコスト配垃タグを衚瀺するには、AWS請求コン゜ヌルで察応するオプションを有効にできたす。 1日皋床で、遞択したタグ product_area



を遞択したが、詳现なCSVレポヌトの察応するリ゜ヌスの暪に新しい列ずしお衚瀺され始めたす。



最適化を行っおいない堎合は、すぐにコスト分散タグを䜿甚しおむンフラストラクチャをマヌクアップできたす。 これは基本的に「無料」のサヌビスであり、機胜するためのむンフラストラクチャは必芁ありたせん。



機胜をアクティブにした埌、2぀のタスクがありたした。1既存のむンフラストラクチャ党䜓をマヌクアップする。 2すべおの新しいリ゜ヌスが自動的にタグ付けされるこずを確認したす。



既存のむンフラストラクチャのマヌクアップ



既存のむンフラストラクチャのタグ付けは非垞に簡単です。特定のAWS補品ごずに、最も高いコストのリ゜ヌスのリストをRedshiftに芁求し、それらのリ゜ヌスにタグを付ける方法を指瀺するたでSlackのナヌザヌに迷惑をかけたす。 90以䞊のリ゜ヌスにコストをかけおタグを付けたら、手順を完了したす。



ただし、 新しいリ゜ヌスにタグを付けるには、自動化ずツヌルが必芁です。



このためにTerraformを䜿甚したす。 ほずんどの堎合、Terraform構成は、AWSコン゜ヌルを介しお远加されるのず同じコスト割り圓おタグの远加をサポヌトしおいたす。 S3バケットのTerraform構成の䟋を次に瀺したす。



 resource "aws_s3_bucket" "staging_table" { bucket = "segment-tasks-to-redshift-staging-tables-prod" tags { product_area = "data-analysis" # this tag is what shows up in the billing CSV } }
      
      





Terraformは基本的な構成を提䟛したすが、新しいリ゜ヌスaws_s3_bucket



Terraformファむルaws_s3_bucket



れるaws_s3_bucket



、 product_area



タグが添付されるようにする必芁がありたした。



幞いなこずに、Terraformの構成はHCLHashicorp Configuration Languageで蚘述されおおり、コメントを保存する構成パヌサヌがありたす。 そこで、すべおのTerraformファむルを調べお、 product_area



タグなしでタグ付けされるリ゜ヌスを探す怜蚌関数を䜜成したした。



 func checkItemHasTag(item *ast.ObjectItem, resources map[string]bool) error { // looking for "resource" "aws_s3_bucket" or similar t := findS3BucketDeclaration(item) tags, ok := hclchecker.GetNodeForKey(t.List, "tags") if !ok { return fmt.Errorf("aws_s3_bucket resource has no tags", resource) } t2, ok := tags.(*ast.ObjectType) if !ok { return fmt.Errorf("expected 'tags' to be an ObjectType, got %#v", tags) } productNode, ok := hclchecker.GetNodeForKey(t2.List, "product_area") if !ok { return errors.New("Could not find a 'product_area' tag for S3 resource. Be sure to tag your resource with a product_area") } }
      
      





Terraformの構成ずリポゞトリの継続的な統合を確立し、これらのチェックを远加したため、 product_area



タグなしでタグ付けするリ゜ヌスがある堎合、テストはパスしたせん。



これは理想的ではありたせん。テストは现かく、技術的には、AWSコン゜ヌルでタグなしリ゜ヌスを盎接䜜成するこずができたすが、システムはこの段階では十分に機胜したす。 新しいむンフラストラクチャを蚘述する最も簡単な方法は、Terraformを䜿甚するこずです。







コスト配分タグからのデヌタの凊理



リ゜ヌスをマヌクアップした埌、それらのアカりンティングは簡単なタスクです。



  1. リ゜ヌスIDをproduct_area



    タグず䞀臎させるために、各リ゜ヌスのproduct_area



    タグを怜玢したす。
  2. すべおのリ゜ヌスのコストを合蚈したす。
  3. 補品゚リアのコストを远加し、結果を芁玄衚に曞き蟌みたす。


 SELECT sum(unblended_cost) FROM awsbilling.line_items WHERE statement_month = $1 AND product_name='Amazon DynamoDB';
      
      





AWSサヌビスのコストを分割するこずをお勧めしたす。セグメント補品ラむン甚ずAWSサヌビス甚の2぀のテヌブルがありたす。



通垞のAWSのコスト割り圓おタグを䜿甚しお、玄35のコストを割り圓おたした。



予玄されたむンスタンスの分析



このアプロヌチは、ラベル付きのアクセス可胜なむンスタンスに適しおいたす。 ただし、堎合によっおは、AWSは「予玄」の前払いを行いたす。 予玄は、割匕料金での前払いず匕き換えに、䞀定量のリ゜ヌスの可甚性を保蚌したす。



私たちの堎合、昚幎12月のCSVアカりントからのいく぀かの倧きな支払いは、今幎のすべおの月にわたっお分配される必芁があるこずがわかりたした。



これらの費甚を正しく考慮するために、この期間の個別のブレンドされおいない費甚のデヌタを䜿甚するこずにしたした。 ク゚リは次のようになりたす。



 select unblended_cost, usage_start_date, usage_end_date from awsbilling.line_items where start_date < '2017-04-01' and end_date > '2017-03-01' and product_name = 'Amazon DynamoDB' and resource_id = '';
      
      





サブスクリプションコストは「$ X0000 of DynamoDB」の圢匏で蚘録されるため、リ゜ヌスや補品ラむンに起因するこずはありたせん。



代わりに、各リ゜ヌスのコストを補品゚リアに远加し、割合に埓っおサブスクリプションコストを分配したす。 デヌタりェアハりスがEC2費甚の60を費やした堎合、これらの目的のために加入者の60が前払いされたず仮定したす。



これも完璧ではありたせん。 アカりントの倧郚分が前払いから取埗された堎合、そのような配垃戊略は、皌働䞭のむンスタンスの実行コストのわずかな倉曎によっお歪められたす。 この堎合、各リ゜ヌスの䜿甚に関する情報に基づいお経費を配分する必芁がありたす。経費よりも芁玄するこずは困難です。



3.タグなしのAWSリ゜ヌスからのコストデヌタ



DynamoDBむンスタンスずテヌブルのパヌティション分割は優れおいたすが、他のAWSリ゜ヌスはコスト共有タグをサポヌトしおいたせん 。 これらのリ゜ヌスでは、コストデヌタを正垞に取埗しおRedshiftに転送するために、Rab-Goldbergスタむルの単玔なワヌクフロヌを䜜成する必芁がありたした。



この堎合のタグなしリ゜ヌスの最倧の2぀のグルヌプは、ECSずEBSです。



ECS



ECSシステムは、各サヌビスが動䜜する必芁があるコンテナの数に応じお、サヌビスの芏暡を継続的に増枛したす。 圌女はたた、倚数の個々のむンスタンスの再バランスずコンテナぞのパッケヌゞングを担圓しおいたす。



ECSは、「予玄されたCPUずメモリ」の数に応じお、ホスト䞊でコンテナを実行したす。 各サヌビスは必芁なCPUパヌツの数を瀺し、ECSは十分なリ゜ヌスを備えたホストに新しいコンテナヌを配眮するか、必芁なリ゜ヌスを远加するためにむンスタンスの数をスケヌリングしたす。



これらのECSアクションはいずれもCSV請求レポヌトに盎接反映されたせんが、ECSはすべおのむンスタンスの自動スケヌリングを実行する責任がありたす。



簡単に蚀うず、各コンテナが䜿甚する特定のマシンの「パヌツ」を理解したかったのですが、CSVレポヌトでは、むンスタンスごずの「党䜓ナニット」の内蚳のみが提䟛されたす。



特定のサヌビスのコストを決定するために、独自のアルゎリズムを開発したした。



  1. ECSタスクが開始たたは停止するずきに、すべおのむベントにCloudwatchサブスクリプションを蚭定したす。
  2. このむベントに関連するデヌタサヌビス名、CPU /メモリ䜿甚量、開始たたは停止、EC2むンスタンスIDをKinesis Firehoseに送信したす個々のむベントを蓄積するため。
  3. Kinesis FirehoseからRedshiftにデヌタを送信したす。


すべおの開始/停止/サむズデヌタがRedshiftに到着したら、このタスクがECSで動䜜した時間120秒などに、このマシンで䜿甚したCPUナニットの数最倧4096-この情報はむンスタンスで実行されおいる各サヌビスのCPU秒数を蚈算したす。



アカりントからのむンスタンスの総コストは、䜿甚されるCPU秒数に応じおサヌビス間で分割されたす。



これも理想的な方法ではありたせん。 EC2むンスタンスは垞に100の電力で動䜜するわけではありたせんが、過剰は珟圚、このむンスタンスで動䜜するすべおのサヌビスに分配されおいたす。 これは、過剰費甚の正しい分配たたは誀った分配である可胜性がありたす。 しかしそしお、ここでこの蚘事の䞀般的なトピックを芋぀けるこずができたすこれで十分です。







さらに、各ECSサヌビスを察応する補品ラむンず関連付ける必芁がありたす。 ただし、ECS はコスト共有タグをサポヌトしおいないため、AWSでそれらをマヌクするこずはできたせん。



代わりに、各ECSサヌビスのTerraformモゞュヌルにproduct_area



キヌを远加したす。 このキヌは、AWSに送信されるメタデヌタには぀ながりたせんが、すべおのサヌビスのproduct_area



キヌを読み取るスクリプトを生成したす。



このスクリプトは、新しいデヌタを送信するたびに、DynamoDBのメむンブランチでサヌビス名ず補品の方向のbase64゚ンコヌドマップを公開したす。







最埌に、テストでは、補品ラむンでタグ付けされた各新しいサヌビスをチェックしたす。



Ebs



Elastic Block StorageEBSもアカりントの倧郚分を占めおいたす。 EBSボリュヌムは通垞EC2むンスタンスに接続されおおり、䌚蚈䞊、EBSボリュヌムのコストず察応するEC2むンスタンスを考慮するこずは理にかなっおいたす。 ただし、AWS CSV請求では、 どの EBSボリュヌムがどのむンスタンスに接続されおいるかは衚瀺されたせん。







これを行うために、再びCloudwatchを䜿甚したした。「ボリュヌム接続」や「ボリュヌム切断」などのむベントにサブスクラむブし、DynamoDBテヌブルにEBS => EC2接続を登録したした。



次に、ECSのコストを考慮する前に、EBSボリュヌムのコストを察応するEC2むンスタンスのコストに远加したす。



アカりント間でデヌタを結合する



これたで、単䞀のAWSアカりントのコンテキストですべおの費甚に぀いお説明しおきたした。 しかし実際には、これは異なる物理AWSアカりント間で共有される実際のAWS蚭定を反映しおいたせん。







運甚アカりントOpsを䜿甚しお、すべおのアカりントのデヌタず請求を統合するだけでなく、゚ンゞニアが本番環境で倉曎を実装するための単䞀のアクセスポむントを提䟛したす。 StageステヌゞをProductionステヌゞから分離したす。これにより、DynamoDBテヌブルを削陀するなどのAPI呌び出しが適切なチェックで安党に凊理されるこずを確認できたす。



Prodアカりントはこれらの費甚アカりントの䞭で支配的ですが、ステヌゞアカりントの費甚もAWSアカりント党䜓のかなりの郚分を占めおいたす。



ステヌゞアカりントから実皌働環境のRedshiftクラスタヌにECSサヌビスに関するデヌタを曞き蟌む必芁がある堎合、問題が始たりたす。



「アカりント間」を蚘録できるようにするには、CloudwatchサブスクリプションプロセッサがFirehoseECSの堎合たたはDynamoDBEBSの堎合での蚘録のために本番環境での圹割を匕き受ける必芁がありたす。 Stageアカりントsts.AssumeRoleおよびProdアカりントに適切な機胜の適切なアクセス蚱可を远加する必芁があるため、これは簡単ではありたせん。゚ラヌがあるず、アクセス蚱可が混乱したす。







私たちにずっお、これはアカりンティングコヌドがStageアカりントで機胜せず、すべおの情報がProdアカりントのデヌタベヌスに入力されるこずを意味したす。



同じデヌタをサブスクラむブするStageアカりントに2぀目のサヌビスを远加できたすが、それは蚘録されたせんが、この堎合、Stageアカりンティングコヌドにランダムな問題が発生する可胜性があるず刀断したした。



統蚈出力



最埌に、適切なデヌタ分析のためのすべおがありたす。



  1. CSVでリ゜ヌスをマヌクアップしたした。
  2. 各ECSむベントが開始および停止するずきのデヌタ。
  3. ECSサヌビス名を関連補品ラむンにバむンドしたす。
  4. EBSボリュヌムを接続枈みむンスタンスにバむンドしたす。


これをすべお分析チヌムに提䟛するために、AWSデヌタを売り蟌みたした。 各AWSサヌビスに぀いお、このAWSサヌビスのセグメント補品ラむンずそのコストをたずめたした。



このデヌタは、3぀の異なるテヌブルに衚瀺されたす。



  1. 特定の月の各ECSサヌビスの総費甚。
  2. 特定の月の各補品ラむンの総コスト。
  3. 特定の月のAWSサヌビス、セグメント補品ラむンの総コスト。 たずえば、「デヌタりェアハりゞングは先月DynamoDBに1,000ドルを費やしたした。」


個々の補品ラむンの総コストは次のようになりたす。



 月|  product_area |  cost_cents
   --------------------------------------
   2017-03-01 | 統合|  500
   2017-03-01 | 倉庫|  783 


たた、セグメントの補品ラむンに関連するAWSサヌビスコストは次のずおりです。



 月|  product_area |  aws_product |  cost_cents
   -------------------------------------------------- -
   2017-03-01 | 統合|  ec2 |  333
   2017-03-01 | 統合| ダむナモドブ|  167
   2017-03-01 | 倉庫| 赀方偏移|  783 


これらの各テヌブルには、各月の合蚈を含む合蚈テヌブルず、珟圚の月のデヌタを毎日曎新する远加のサマリヌテヌブルがありたす。 ピボットテヌブルの䞀意の識別子は各パスに察応しおいるため、そのパスのすべおの行を芋぀けるこずでAWSスコアを統合できたす。



結果ずしお埗られるデヌタは、高レベルのメトリックず経営陣ぞの報告に䜿甚される黄金の「真実の源」ずしお効果的に機胜したす。 サマリヌテヌブルは、1か月間のランニングコストを監芖するために䜿甚されたす。



泚AWSは、月末のわずか数日埌に「最終」請求曞を発行するため、月末に請求レコヌドを最終ずしおマヌクするロゞックは正しくありたせん。 CSVファむルのinvoice_id



フィヌルドに「掚定」ずいう単語ではなく敎数が衚瀺されたずきに、最終的なAmazonスコアを芋぀けるこずができたす。




最埌のヒント



終了する前に、プロセス党䜓で、少しの準備ず知識で倚くの時間を節玄できる堎所があるこずに気付きたした。 ゜ヌトなしの堎合、これらの堎所は次のずおりです。





ボトムラむン



良いAWSスコアを取埗するのは簡単ではありたせん。 これには、ツヌルの開発ず蚭定、およびAWSでの高䟡なリ゜ヌスの特定の䞡方のために、倧量の䜜業が必芁です。



私たちが達成した最も重芁な勝利は、定期的な「1回限りの分析」ではなく、コストの単玔な継続的予枬の可胜性です。



これを行うために、デヌタ収集党䜓を自動化し、Terraformず継続的むンテグレヌションシステムにタグサポヌトを実装し、開発チヌムのすべおのメンバヌにむンフラストラクチャに正しくタグを付ける方法を説明したした。



すべおのデヌタはPDFの自重ではありたせんが、Redshiftで継続的に曎新されたす。 新しい質問に答えお新しいレポヌトを生成する堎合は、SQLク゚リを䜿甚しお即座に結果を取埗したす。



さらに、すべおのデヌタをExcel圢匏に゚クスポヌトしたため、新しいクラむアントにかかる費甚を正確に蚈算できたす。 たた、特定のサヌビスや補品分野に倚額の資金が突然流入し始めるかどうかも確認できたす。これは、予定倖の費甚が䌚瀟の財政状態に達する前に芋られたす。



この蚘事はお客様のむンフラストラクチャず完党には䞀臎しおいたせんが、このストヌリヌがお客様のビゞネスの成長に合わせおコストをよりよく理解し、管理するのに圹立぀こずを願っおいたす。



All Articles