[廃止] Amazon S3のSOAP APIが2025年10月31日で終了します
しばたです。
タイトルにある通りAmazon S3のSOAP APIが2025年10月31日で終了することが分かったので本記事で共有します。
AWSのSOAP API?
本記事を書くまで全く知らなかったのですが、AWSでは今のREST APIの前にSOAPによるAPI(SOAP API)が提供されていたそうです。[1]
現存するドキュメントからは2011年9月1日付でSimpleDB、2017年1月15日付でELBにおいてSOAP APIのサポートが終了していることが分かります。
Amazon SimpleDB no longer supports requests using SOAP.
We have deprecated the SOAP API for Elastic Load Balancing. As of January 15, 2017, we no longer support SOAP requests. If you make a SOAP request, you will receive the following response:
また、こちらのブログによれば2016年6月30日でEC2のサポートが終了した様です。
SNS上の投稿でもこの時期にAPI終了の通知が来た旨の内容がいくつかあったので実際にこの時期に終了したのでしょう。
ちなみにInternet Archiveに残っているドキュメントで見る分には2015年12月1日が予定された終了日だった様です。
We have deprecated the SOAP API for Amazon EC2. After 1 December 2015, we will no longer support SOAP requests for any API versions, including versions 2014-02-01 and earlier.
Amazon S3のSOAP API
このSOAP APIですが、全てのサービスでサポート終了したわけではなく、Amazon S3に関しては制限付きながらも今日までサポートが続いていました。
ドキュメント履歴によれば
- 2011年6月19日でHTTPプロトコルによるSOAP API呼び出しが無効に
- 2013年9月19日でHTTPプロトコルによるSOAPサポートは廃止、HTTPSプロトコルのみ残すが新規APIのサポートはしない
という形で互換性維持のためだけに残り続けています。
SOAP support over HTTP is deprecated, but it is still available over HTTPS. New Amazon S3 features will not be supported for SOAP. We recommend that you use either the REST API or the AWS SDKs.
サポート終了時期と対応方法
今回このS3のSOAP APIが2025年10月31日で正式にサポート終了することになり、ドキュメントに以下の記述が追加されています。
Note
SOAP APIs for Amazon S3 are not available for new customers, and are approaching End of Life (EOL) on October 31, 2025. We recommend that you use either the REST API or the AWS SDKs.
いつ頃終了が確定したのかは不明ですが、Internet Archiveによれば2025年5月6日~2025年6月18日の間にサービス終了の文言が増えていました。
おそらくこの時期に確定したのだと思います。
対応方法としては現在のREST APIを使う様にするだけですが、2025年現在どの程度の方がこのSOAP APIを利用しているんでしょう?正直何とも言えません。
ドキュメントを見る限りSOAP APIではバケットの基本的な操作とACL設定しかできない様なので切り替えるにしても作業は容易なはずです。
余談 : S3静的ウェブサイトホスティングの独自挙動
S3 SOAP APIによる独自の挙動としてS3静的ウェブサイトホスティングの機能を使いWEBサーバーを構築した際に/soap
にリクエストすると200番のレスポンスを返します。
これは/soap
がAPIのエンドポイントになるためだそうです。
私も実際に適当な静的ウェブサイトをつくってみてこの挙動を確認できました。
# 空のS3静的ウェブサイトでも /soap にアクセスすると200を返す
$ curl -v http://xxxxxxxxxxxxxxxxxxxxxxx.s3-website-ap-northeast-1.amazonaws.com/soap
* Host xxxxxxxxxxxxxxxxxxxxxxx.s3-website-ap-northeast-1.amazonaws.com:80 was resolved.
* IPv6: (none)
* IPv4: 3.5.154.208, 3.5.154.204, 3.5.159.86, 3.5.154.89, 52.219.151.3, 52.219.172.7, 3.5.157.88, 3.5.158.220
* Trying 3.5.154.208:80...
* Connected to xxxxxxxxxxxxxxxxxxxxxxx.s3-website-ap-northeast-1.amazonaws.com (3.5.154.208) port 80
> GET /soap HTTP/1.1
> Host: xxxxxxxxxxxxxxxxxxxxxxx.s3-website-ap-northeast-1.amazonaws.com
> User-Agent: curl/8.5.0
> Accept: */*
>
< HTTP/1.1 200 OK
< x-amz-id-2: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
< x-amz-request-id: XXXXXXXXXXXXXXXXX
< Transfer-Encoding: chunked
< Date: Thu, 02 Oct 2025 04:06:02 GMT
< Server: AmazonS3
<
* Connection #0 to host xxxxxxxxxxxxxxxxxxxxxxx.s3-website-ap-northeast-1.amazonaws.com left intact
SOAP APIのサポート終了後はこのエンドポイントも無くなると思いますが、ドキュメントには一切情報が無いため具体的にどの様な挙動になるかは不明です。
最後に
以上となります。
調べた限りではほかのサービスでSOAP APIをサポートしているものは見つからずAmazon S3で最後になる様です。
かなり珍しい内容だと思うので記録を残すために記事にしてみました。
実際にはSOAP API、Query API、REST APIがそれぞれ平行稼働しつつ切り替わっていった模様 ↩︎