こんにちは、博報堂テクノロジーズの木村です。
この記事はHTアドベントカレンダー3日目の記事です。
AWSのコスト削減の一環として、リザーブドインスタンス(RI)を購入されている組織は多いと思います。我々の組織でもRIを購入しています。
RIはインスタンスタイプにもよりますが、オンデマンドインスタンス(OD)と比較して最大で75%コストが安くなるため、コスト低減に非常に有効な一方で、無駄なRIを誤って購入すると余計なコストが発生しキャンセルもできないため、非常に気を使う運用が必要になります。
この記事では、RI購入での課題を説明した上で、実施した改善内容について説明します。その上で今後の更なる改善やこうなったらもっと楽なのにな…という話もできればと思います。
背景・課題
我々の組織では半期に一回ごとに、RI購入を実施しています。RI購入にあたっては、Excelにて過去の購入履歴の管理簿を作成したうえで、情報収集と購入の作業を実施しておりそれぞれ以下の課題がありました。
情報収集における課題
まず、情報収集では以下のように作業を実施します。
- 管理している各アカウントにログインしてEC2/RDS/RedShiftの起動状態、各インスンスのインスタンスタイプ・OSなどを調べて、RIとOD適用時の料金を調査し、Excelにまとめます
- 過去のRIの購入履歴と併せて各インスンスの情報をまとめ、各アカウントの利用者に対してRIの購入可否を確認する
情報を収集しまとめる作業はすべて手動にて確認を実施しており、稼働がかかる作業となっていました。
購入における課題
次に購入の段階では以下の通り作業を実施します。
- 各アカウントの利用者が変更したRIの購入可否をもとに、マネジメントコンソールでのRI購入フローを作成する
- 購入実施時にはマネジメントコンソールの画面を参照しながら、確認を実施しながら購入を実施する
購入するRIを誤ると即時に決済がなされて無駄なRIを購入することになりますが、マネジメントコンソールでの作業では事前の購入内容の確認が難しいため、心理的な負荷が大きい作業となっていました。
改善内容
情報収集と購入のそれぞれの作業について、以下の改善を実施しました。
情報収集の自動化
情報収集および過去の購入履歴との突合処理をスクリプト化して自動化することで、一日以上かかっていた情報収集の作業が数分で完了するようになりました。
対応内容
EC2/RDS/RedShiftの各APIを実行しインスタンスの情報を取得し、次にAWS Price List Query APIを実行して、RIとOD適用時の料金を取得します。そのうえで pandas/openpyxl を活用して、Excelにて管理している購入情報との突合処理を実施し、確認用のExcelを出力するようにしました。
購入コマンドのCLI化
購入作業をマネジメントコンソールでの作業からCLIを実行する形に改善しました。これにより、購入コマンドが正しいことを事前に確認できるようになり、購入当日での失敗のリスクを大幅に低減することができ、心理的な負荷も大幅に下げることができました。
$ OFFERING_ID=$(aws ec2 describe-reserved-instances-offerings \
--instance-type m2.2xlarge \
--max-duration 31536000 \
--min-duration 31536000 \
--product-description "Linux/UNIX" \
--offering-class "standard" \
--offering-type "All Upfront" \
--instance-tenancy "default" \
--query 'ReservedInstancesOfferings[?Scope==`Region`].ReservedInstancesOfferingId | [0]' \
--region ap-northeast-1 \
--output json | jq -r)
$ aws ec2 describe-reserved-instances-offerings \
--reserved-instances-offering-ids $OFFERING_ID \
--region ap-northeast-1
# 事前に購入内容の確認を実施できるので、ミスが抑止できる
{
"ReservedInstancesOfferings": [
{
"CurrencyCode": "USD",
"InstanceTenancy": "default",
"Marketplace": false,
"OfferingClass": "standard",
"OfferingType": "All Upfront",
"PricingDetails": [],
"RecurringCharges": [
{
"Amount": 0.0,
"Frequency": "Hourly"
}
],
"Scope": "Region",
"ReservedInstancesOfferingId": "bc75e5e5-2a95-434c-af96-81369eb84b65",
"InstanceType": "m2.2xlarge",
"Duration": 31536000,
"UsagePrice": 0.0,
"FixedPrice": 2231.0,
"ProductDescription": "Linux/UNIX"
}
]
}
# 実際の購入実施は当日改めて実施
aws ec2 purchase-reserved-instances-offering \
--instance-count 1 \
--reserved-instances-offering-id $OFFERING_ID \
--region ap-northeast-1
対応内容
各担当者が回答した購入可否をもとに購入コマンドのCLIを生成します。購入時に利用するIDに対して確認コマンドを実行することで、インスタンスタイプやリージョン、金額などを事前に確認するようにしました。
今後に向けて
改善にて効率化・作業ミスの抑止ができました。一方で、今回はこれまでの作業内容をそのまま自動化する方向で対応したため、今後の改善点もありました。
コスト最適化という観点での改善
今回のRI購入に関する改善はあくまで購入プロセスの改善に留まっています。あくまでインスタンスの起動状態を取得したうえで、各担当者からの自己申告にてRI購入のみ実施しているため、コスト最適化という観点ではまだまだ取り組むべききことがあると感じています。Cost Optimization Hubの活用やSaving Plan(SP)とRIの使い分けを行うなど、コスト最適化という観点での改善に取り組んでいきたいと思っています。
Excel管理簿からの脱却
今回は既存のExcel管理簿をそのまま利用する形でスクリプトの開発を実施しましたが、Excelではデータ構造が容易に壊れることから、S3+Athenaで管理する・BigQueryで管理する・Notionで管理する・なんらかのFinOpsソリューションを使うなど、Excel以外で運用者目線でもスクリプトやLLMなどのツール目線でも取り扱いがしやすい管理方法を模索したいと思っています。
改善で苦しかったところ
RI購入に関して今後も改善に取り組んでいく一方で、ここが苦しいなと思ったところもありました。
AWS Price List Query APIが複雑
AWSの価格オプションが非常に柔軟であることの裏返しなのですが、価格構成とそれにともなうオプションが複雑なことで、必要な価格情報を取得するのに若干苦労しました。
$ aws pricing get-products --service-code AmazonEC2 \
--filters 'Type=TERM_MATCH,Field=instanceType,Value=t3.micro' \
'Type=TERM_MATCH,Field=location,Value=Asia Pacific (Tokyo)' \
'Type=TERM_MATCH,Field=tenancy,Value=Shared' \
'Type=TERM_MATCH,Field=operatingSystem,Value=Linux' \
'Type=TERM_MATCH,Field=preInstalledSw,Value=NA' \
'Type=TERM_MATCH,Field=capacitystatus,Value=Used' \
--region us-east-1
# 一口にt3.microと言ってもオプションがいっぱいあるので、ここから該当するオプションとそのオプションの金額を抽出する必要がある
{
"PriceList": [
"{\"product\":{\"productFamily\":\"Compute Instance\",\"attributes\":{\"enhancedNetworkingSupported\":\"No\",\"intelTurboAvailable\":\"Yes\",\"memory\":\"1 GiB\",\"dedicatedEbsThroughput\":\"Up to 2085 Mbps\",\"vcpu\":\"2\",\"classicnetworkingsupport\":\"false\",\"capacitystatus\":\"Used\",\"locationType\":\"AWS Region\",\"storage\":\"EBS only\",\"instanceFamily\":\"General purpose\",\"operatingSystem\":\"Linux\",\"intelAvx2Available\":\"Yes\",\"regionCode\":\"ap-northeast-1\",\"physicalProcessor\":\"Intel Skylake E5 2686 v5\",\"clockSpeed\":\"3.1 GHz\",\"ecu\":\"NA\",\"networkPerformance\":\"Up to 5 Gigabit\",\"servicename\":\"Amazon Elastic Compute Cloud\",\"gpuMemory\":\"NA\",\"dedicatedEbsThroughputDescription\":\"87 Mbps\",\"vpcnetworkingsupport\":\"true\",\"instanceType\":\"t3.micro\",\"tenancy\":\"Shared\",\"usagetype\":\"APN1-BoxUsage:t3.micro\",\"normalizationSizeFactor\":\"0.5\",\"intelAvxAvailable\":\"Yes\",\"processorFeatures\":\"AVX; AVX2; Intel AVX; Intel AVX2; Intel AVX512; Intel Turbo\",\"servicecode\":\"AmazonEC2\",\"licenseModel\":\"No License required\",\"currentGeneration\":\"Yes\",\"preInstalledSw\":\"NA\",\"location\":\"Asia Pacific (Tokyo)\",\"processorArchitecture\":\"64-bit\",\"marketoption\":\"OnDemand\",\"operation\":\"RunInstances\",\"availabilityzone\":\"NA\"},\"sku\":\"DAPC5MD4ZQN9K67N\"},\"serviceCode\":\"AmazonEC2\",\"terms\":{\"OnDemand\":{\"DAPC5MD4ZQN9K67N.JRTCKXETXF\":{\"priceDimensions\":{\"DAPC5MD4ZQN9K67N.JRTCKXETXF.6YS6EN2CT7\":{\"unit\":\"Hrs\",\"endRange\":\"Inf\",\"description\":\"$0.0136 per On Demand Linux t3.micro Instance Hour\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.JRTCKXETXF.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.0136000000\"}}},\"sku\":\"DAPC5MD4ZQN9K67N\",\"effectiveDate\":\"2025-11-01T00:00:00Z\",\"offerTermCode\":\"JRTCKXETXF\",\"termAttributes\":{}}},\"Reserved\":{\"DAPC5MD4ZQN9K67N.HU7G6KETJZ\":{\"priceDimensions\":{\"DAPC5MD4ZQN9K67N.HU7G6KETJZ.2TG2D8R56U\":{\"unit\":\"Quantity\",\"description\":\"Upfront Fee\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.HU7G6KETJZ.2TG2D8R56U\",\"pricePerUnit\":{\"USD\":\"36\"}},\"DAPC5MD4ZQN9K67N.HU7G6KETJZ.6YS6EN2CT7\":{\"unit\":\"Hrs\",\"endRange\":\"Inf\",\"description\":\"Linux/UNIX (Amazon VPC), t3.micro reserved instance applied\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.HU7G6KETJZ.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.0041000000\"}}},\"sku\":\"DAPC5MD4ZQN9K67N\",\"effectiveDate\":\"2025-11-15T00:11:52Z\",\"offerTermCode\":\"HU7G6KETJZ\",\"termAttributes\":{\"LeaseContractLength\":\"1yr\",\"OfferingClass\":\"standard\",\"PurchaseOption\":\"Partial Upfront\"}},\"DAPC5MD4ZQN9K67N.6QCMYABX3D\":{\"priceDimensions\":{\"DAPC5MD4ZQN9K67N.6QCMYABX3D.2TG2D8R56U\":{\"unit\":\"Quantity\",\"description\":\"Upfront Fee\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.6QCMYABX3D.2TG2D8R56U\",\"pricePerUnit\":{\"USD\":\"70\"}},\"DAPC5MD4ZQN9K67N.6QCMYABX3D.6YS6EN2CT7\":{\"unit\":\"Hrs\",\"endRange\":\"Inf\",\"description\":\"USD 0.0 per Linux/UNIX (Amazon VPC), t3.micro reserved instance applied\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.6QCMYABX3D.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.0000000000\"}}},\"sku\":\"DAPC5MD4ZQN9K67N\",\"effectiveDate\":\"2025-11-15T00:11:52Z\",\"offerTermCode\":\"6QCMYABX3D\",\"termAttributes\":{\"LeaseContractLength\":\"1yr\",\"OfferingClass\":\"standard\",\"PurchaseOption\":\"All Upfront\"}},\"DAPC5MD4ZQN9K67N.Z2E3P23VKM\":{\"priceDimensions\":{\"DAPC5MD4ZQN9K67N.Z2E3P23VKM.6YS6EN2CT7\":{\"unit\":\"Hrs\",\"endRange\":\"Inf\",\"description\":\"Linux/UNIX (Amazon VPC), t3.micro reserved instance applied\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.Z2E3P23VKM.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.0077000000\"}}},\"sku\":\"DAPC5MD4ZQN9K67N\",\"effectiveDate\":\"2025-11-15T00:11:52Z\",\"offerTermCode\":\"Z2E3P23VKM\",\"termAttributes\":{\"LeaseContractLength\":\"3yr\",\"OfferingClass\":\"convertible\",\"PurchaseOption\":\"No Upfront\"}},\"DAPC5MD4ZQN9K67N.BPH4J8HBKS\":{\"priceDimensions\":{\"DAPC5MD4ZQN9K67N.BPH4J8HBKS.6YS6EN2CT7\":{\"unit\":\"Hrs\",\"endRange\":\"Inf\",\"description\":\"Linux/UNIX (Amazon VPC), t3.micro reserved instance applied\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.BPH4J8HBKS.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.0059000000\"}}},\"sku\":\"DAPC5MD4ZQN9K67N\",\"effectiveDate\":\"2025-11-15T00:11:53Z\",\"offerTermCode\":\"BPH4J8HBKS\",\"termAttributes\":{\"LeaseContractLength\":\"3yr\",\"OfferingClass\":\"standard\",\"PurchaseOption\":\"No Upfront\"}},\"DAPC5MD4ZQN9K67N.VJWZNREJX2\":{\"priceDimensions\":{\"DAPC5MD4ZQN9K67N.VJWZNREJX2.6YS6EN2CT7\":{\"unit\":\"Hrs\",\"endRange\":\"Inf\",\"description\":\"USD 0.0 per Linux/UNIX (Amazon VPC), t3.micro reserved instance applied\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.VJWZNREJX2.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.0000000000\"}},\"DAPC5MD4ZQN9K67N.VJWZNREJX2.2TG2D8R56U\":{\"unit\":\"Quantity\",\"description\":\"Upfront Fee\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.VJWZNREJX2.2TG2D8R56U\",\"pricePerUnit\":{\"USD\":\"87\"}}},\"sku\":\"DAPC5MD4ZQN9K67N\",\"effectiveDate\":\"2025-11-15T00:11:53Z\",\"offerTermCode\":\"VJWZNREJX2\",\"termAttributes\":{\"LeaseContractLength\":\"1yr\",\"OfferingClass\":\"convertible\",\"PurchaseOption\":\"All Upfront\"}},\"DAPC5MD4ZQN9K67N.4NA7Y494T4\":{\"priceDimensions\":{\"DAPC5MD4ZQN9K67N.4NA7Y494T4.6YS6EN2CT7\":{\"unit\":\"Hrs\",\"endRange\":\"Inf\",\"description\":\"Linux/UNIX (Amazon VPC), t3.micro reserved instance applied\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.4NA7Y494T4.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.0086000000\"}}},\"sku\":\"DAPC5MD4ZQN9K67N\",\"effectiveDate\":\"2025-11-15T00:11:53Z\",\"offerTermCode\":\"4NA7Y494T4\",\"termAttributes\":{\"LeaseContractLength\":\"1yr\",\"OfferingClass\":\"standard\",\"PurchaseOption\":\"No Upfront\"}},\"DAPC5MD4ZQN9K67N.MZU6U2429S\":{\"priceDimensions\":{\"DAPC5MD4ZQN9K67N.MZU6U2429S.6YS6EN2CT7\":{\"unit\":\"Hrs\",\"endRange\":\"Inf\",\"description\":\"USD 0.0 per Linux/UNIX (Amazon VPC), t3.micro reserved instance applied\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.MZU6U2429S.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.0000000000\"}},\"DAPC5MD4ZQN9K67N.MZU6U2429S.2TG2D8R56U\":{\"unit\":\"Quantity\",\"description\":\"Upfront Fee\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.MZU6U2429S.2TG2D8R56U\",\"pricePerUnit\":{\"USD\":\"184\"}}},\"sku\":\"DAPC5MD4ZQN9K67N\",\"effectiveDate\":\"2025-11-15T00:11:50Z\",\"offerTermCode\":\"MZU6U2429S\",\"termAttributes\":{\"LeaseContractLength\":\"3yr\",\"OfferingClass\":\"convertible\",\"PurchaseOption\":\"All Upfront\"}},\"DAPC5MD4ZQN9K67N.CUZHX8X6JH\":{\"priceDimensions\":{\"DAPC5MD4ZQN9K67N.CUZHX8X6JH.6YS6EN2CT7\":{\"unit\":\"Hrs\",\"endRange\":\"Inf\",\"description\":\"Linux/UNIX (Amazon VPC), t3.micro reserved instance applied\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.CUZHX8X6JH.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.0051000000\"}},\"DAPC5MD4ZQN9K67N.CUZHX8X6JH.2TG2D8R56U\":{\"unit\":\"Quantity\",\"description\":\"Upfront Fee\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.CUZHX8X6JH.2TG2D8R56U\",\"pricePerUnit\":{\"USD\":\"45\"}}},\"sku\":\"DAPC5MD4ZQN9K67N\",\"effectiveDate\":\"2025-11-15T00:11:50Z\",\"offerTermCode\":\"CUZHX8X6JH\",\"termAttributes\":{\"LeaseContractLength\":\"1yr\",\"OfferingClass\":\"convertible\",\"PurchaseOption\":\"Partial Upfront\"}},\"DAPC5MD4ZQN9K67N.R5XV2EPZQZ\":{\"priceDimensions\":{\"DAPC5MD4ZQN9K67N.R5XV2EPZQZ.6YS6EN2CT7\":{\"unit\":\"Hrs\",\"endRange\":\"Inf\",\"description\":\"Linux/UNIX (Amazon VPC), t3.micro reserved instance applied\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.R5XV2EPZQZ.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.0036000000\"}},\"DAPC5MD4ZQN9K67N.R5XV2EPZQZ.2TG2D8R56U\":{\"unit\":\"Quantity\",\"description\":\"Upfront Fee\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.R5XV2EPZQZ.2TG2D8R56U\",\"pricePerUnit\":{\"USD\":\"94\"}}},\"sku\":\"DAPC5MD4ZQN9K67N\",\"effectiveDate\":\"2025-11-15T00:11:50Z\",\"offerTermCode\":\"R5XV2EPZQZ\",\"termAttributes\":{\"LeaseContractLength\":\"3yr\",\"OfferingClass\":\"convertible\",\"PurchaseOption\":\"Partial Upfront\"}},\"DAPC5MD4ZQN9K67N.NQ3QZPMQV9\":{\"priceDimensions\":{\"DAPC5MD4ZQN9K67N.NQ3QZPMQV9.6YS6EN2CT7\":{\"unit\":\"Hrs\",\"endRange\":\"Inf\",\"description\":\"USD 0.0 per Linux/UNIX (Amazon VPC), t3.micro reserved instance applied\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.NQ3QZPMQV9.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.0000000000\"}},\"DAPC5MD4ZQN9K67N.NQ3QZPMQV9.2TG2D8R56U\":{\"unit\":\"Quantity\",\"description\":\"Upfront Fee\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.NQ3QZPMQV9.2TG2D8R56U\",\"pricePerUnit\":{\"USD\":\"134\"}}},\"sku\":\"DAPC5MD4ZQN9K67N\",\"effectiveDate\":\"2025-11-15T00:11:52Z\",\"offerTermCode\":\"NQ3QZPMQV9\",\"termAttributes\":{\"LeaseContractLength\":\"3yr\",\"OfferingClass\":\"standard\",\"PurchaseOption\":\"All Upfront\"}},\"DAPC5MD4ZQN9K67N.7NE97W5U4E\":{\"priceDimensions\":{\"DAPC5MD4ZQN9K67N.7NE97W5U4E.6YS6EN2CT7\":{\"unit\":\"Hrs\",\"endRange\":\"Inf\",\"description\":\"Linux/UNIX (Amazon VPC), t3.micro reserved instance applied\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.7NE97W5U4E.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.0107000000\"}}},\"sku\":\"DAPC5MD4ZQN9K67N\",\"effectiveDate\":\"2025-11-15T00:11:53Z\",\"offerTermCode\":\"7NE97W5U4E\",\"termAttributes\":{\"LeaseContractLength\":\"1yr\",\"OfferingClass\":\"convertible\",\"PurchaseOption\":\"No Upfront\"}},\"DAPC5MD4ZQN9K67N.38NPMPTW36\":{\"priceDimensions\":{\"DAPC5MD4ZQN9K67N.38NPMPTW36.2TG2D8R56U\":{\"unit\":\"Quantity\",\"description\":\"Upfront Fee\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.38NPMPTW36.2TG2D8R56U\",\"pricePerUnit\":{\"USD\":\"71\"}},\"DAPC5MD4ZQN9K67N.38NPMPTW36.6YS6EN2CT7\":{\"unit\":\"Hrs\",\"endRange\":\"Inf\",\"description\":\"Linux/UNIX (Amazon VPC), t3.micro reserved instance applied\",\"appliesTo\":[],\"rateCode\":\"DAPC5MD4ZQN9K67N.38NPMPTW36.6YS6EN2CT7\",\"beginRange\":\"0\",\"pricePerUnit\":{\"USD\":\"0.0027000000\"}}},\"sku\":\"DAPC5MD4ZQN9K67N\",\"effectiveDate\":\"2025-11-15T00:11:50Z\",\"offerTermCode\":\"38NPMPTW36\",\"termAttributes\":{\"LeaseContractLength\":\"3yr\",\"OfferingClass\":\"standard\",\"PurchaseOption\":\"Partial Upfront\"}}}},\"version\":\"20251114235512\",\"publicationDate\":\"2025-11-14T23:55:12Z\"}"
],
"FormatVersion": "aws_v1"
}
EC2以外でも予約購入ができるようになってほしい
EC2ではRIの予約購入が可能であり、購入開始まではキャンセルすることが可能になっています。RDSやRedShiftでも予約購入ができれば、ミス抑止・心理的な負荷の低減につながるので、早く予約購入できるようになってほしいなと思いました。
まとめ
RIの購入プロセスを改善することで、情報収集作業の効率化と購入作業におけるミス抑止・心理的負荷の低減を実現することができました。一方で、コスト最適化という観点ではまだ改善の余地があり、今後はCost Optimization HubやSaving Planの活用を実施するとともに、データ管理方法の見直しなど、さらなる改善に取り組んでいきたいと考えています。
RIの運用は多くの組織で課題となっていると思いますが、少しずつでも自動化や効率化を進めることで、運用負荷を下げながらコスト最適化を実現できると感じました。