AWS 無料利用枠の概念が大きく変わりました

記事タイトルとURLをコピーする

みなさん、こんにちは。AWS CLI が好きな AWS サポート課の市野です。

昨日、新しい Payer アカウントを作成しようとしていて急に挙動が変わっていることに気づきましたので、少し調べてみました。

変わった挙動

AWS Organizations や AWS Control Tower からのアカウント発行をせず、スタンドアロンのアカウントを発行するプロセスの中で、無料プラン(Free plan)か有料プラン(Paid plan)のどちらを利用するかの選択肢が表示されるようになっています。

新しく挿入されるようになったプロセス

AWS Free Tier について AWS 公式ページ

Explore AWS services with AWS Free Tier - AWS Billing

docs.aws.amazon.com

それぞれのプランの比較

Choosing an AWS Free Tier plan ページにある比較表を抜粋・要約し、翻訳しました。

無料プラン 有料プラン
Always free services のみ Always free services と short-term trial offers(短期トライアルオファー)
厳選されたAWSサービスと機能へのアクセス すべての AWS サービスと機能へのアクセス
他のプロモーションクレジットや割引はご利用いただけません その他のプロモーションクレジットや割引の対象となります
プラン期間中は無料 AWS無料利用枠を使い切った後は料金が発生します
クレジットが使い果たされるか、プラン期間が終了するとアカウントは閉鎖されます クレジットが枯渇してもアカウントは閉鎖されません

AWS Free Tier のページと合わせて確認すると、上記表記の中での Always free services は、たとえば AWS Lambda において月間 100 万リクエストまで常に無料であるような 12 ヶ月間などの縛りのない無料枠を指していると読み取れます。

また、Always Free と称されているサービスもあります。これは Amazon EC2 で例えるとリージョンに応じて、Linux、RHEL などで t2.micro または t3.micro インスタンスを毎月 750 時間使用できる 12 ヶ月間の無料枠を指していることがわかります。

対して、short-term trial offers(短期トライアルオファー)は前述の AWS Free Tier のページから Web Apps のページを確認した際に、たとえば Amazon Lightsail で 3 MONTH FREE TRIAL などと書かれているタイプの期間の短い無料利用枠を用意しているサービスと読み取れます。
short-term trial offers の製品か否かは AWS Free Tier ページの Free Product Offers の表などで明示的に "FREE TRIAL" と "FREE" が書き分けられていることで判別が可能です。

上記のことから、新しく用意された無料プランでは以下の違いがあります。

  • Always free services として定義されているサービスのみ利用可能
  • 他のクレジットの適用はできない
  • 最初から用意されているクレジットを使い切るか定められた期間(6ヶ月)を経過するかの早い方を経過するとアカウントは閉鎖される
    ※アカウントの閉鎖は従来通り 90 日間で行われる
    ※有料プランへのアップグレードを行うことで継続利用は可能

なお、有料プランには変更がなく、今まで利用していた利用形態と同一でした。
また、Trying services using AWS Free Tier (before July 15, 2025) のページも新たに用意されているように、アカウント作成時期が 2025年7月15日 以前か以後かによって扱いが変わるようです。

やってみる

Choosing an AWS Free Tier plan ページの注釈(Note)部分にもある通り、AWS Organizations や AWS Control Tower によって作成されたアカウントなどは自動的に有料プランが適用される、とのことですので、スタンドアロンのアカウントを作成して確認をしてみます。

なお、作成中に挙動から確認ができたのですが、アカウント作成時の項目(住所、請求先、請求先クレジットカード)のすべてあるいはいずれかを確認した判定が行われているようで、過去に AWS を利用したことがあると判定された場合、有料プランへの移行となる注意書きと動線に誘導されました。
そのため、無料プランを選択すれば必ずそのプランの適用がされるのではなく、「AWS を利用したことのないユーザー向け」のプログラムとなっています。

利用履歴があると判定され有料プランへの移行へ誘導された際の UI

作成されたアカウントでの状況の確認

マネジメントコンソールでの見え方

アカウントプルダウン部分

マネジメントコンソール右上のアカウント名をクリックして展開されるプルダウンメニューで無料プランのステータスが確認できました。

「請求とコスト管理」/「クレジット」ページ

前述のアカウントプルダウン部分内にある残りのクレジット欄のリンク部分へ遷移すると「請求とコスト管理」ページの「クレジット」ページへ誘導されましたので、あくまでも専用の AWS クレジットが適用された状態のアカウントであるということがわかります。
また、前述のプランの比較で見たように、新たなクレジットの追加もできないため、ページ上部の「クレジットを適用」ボタンが非活性になっている状態です。

さらに、現在無料プランを使っていることとプランアップグレードのための動線も用意されています。

「請求とコスト管理」/「無料利用枠」ページ

「請求とコスト管理」ページの「無料利用枠」ページでの表示を見てみると、無料利用枠を超えた場合に前述のクレジット残高の利用がされると説明があり、ここでもプランアップグレードのための動線が用意されています。

利用できないサービスへのアクセス

前述の通り「無料プラン」では利用できるサービスが限定されています。

そこで、Amazon Lightsail(条件:3 MONTH FREE TRIAL (750 hours per month))と、Amazon WorkSpaces(条件 50users まで FREE TRIAL) のそれぞれのページへ遷移してみました。

Amazon Lightsail

以下のように問題が起きているよ、アクセスが許可されていないよ、という画面が表示されます。

Amazon WorkSpaces

Amazon WorkSpaces などでは、アカウントのセットアップを完了させてください、という主旨のメッセージが表示され、必要に応じてプランアップデートもできるような動線が用意されていました。

リザーブドインスタンス(RI)の購入

ページ自体へのアクセスは可能で、かつ、インスタンスタイプや提供クラス、期間や支払い方法を選択した上で、カートに入れること自体はできました。

ただ購入を実行することができず、内部的にはクォータをかけることで無料プランでの RI の購入ができない制御を行なっているように見受けられました。

AWS CLI での見え方

おそらくこの機能に向けた布石だったと思われるのですが、AWS CLI の CHANGELOG をみると以下のようにいくつかの API が追加されていたことが確認できます。 また、このアップデートは日本時間 7月10日朝 に CHANGELOG を見ていた時には含まれていましたので、このタイミングで API としては用意されていたようです。

なお、AWS CLI v1 では 1.41.4v2 では 2.27.50 から適用されていることも合わせて確認しました。

  • api-change:freetier: This release introduces four new APIs: GetAccountPlanState and UpgradeAccountPlan for AWS account plan management; ListAccountActivities and GetAccountActivity that provide activity tracking capabilities.

AWS CloudShell で見てみる

新しく作成した「無料プラン」のアカウントの CloudShell で確認をしてみます

環境の確認と AWS CLI のバージョンアップグレード

~ $ cat /etc/os-release 
NAME="Amazon Linux"
VERSION="2023" 
ID="amzn"
ID_LIKE="fedora"
VERSION_ID="2023"
PLATFORM_ID="platform:al2023"
PRETTY_NAME="Amazon Linux 2023.7.20250414"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2023"
HOME_URL="https://aws.amazon.com/linux/amazon-linux-2023/"
DOCUMENTATION_URL="https://docs.aws.amazon.com/linux/"
SUPPORT_URL="https://aws.amazon.com/premiumsupport/"
BUG_REPORT_URL="https://github.com/amazonlinux/amazon-linux-2023"
VENDOR_NAME="AWS"
VENDOR_URL="https://aws.amazon.com/"
SUPPORT_END="2029-06-30"
~ $ aws --version
aws-cli/2.27.42 Python/3.13.4 Linux/6.1.141-155.222.amzn2023.x86_64 exec-env/CloudShell exe/x86_64.amzn.2023
~ $ aws freetier help

FREETIER()                                                          FREETIER()



NAME
       freetier -

DESCRIPTION
       You can use the Amazon Web Services Free Tier API to query programmati-
       cally your Free Tier usage data.

       Free Tier tracks your monthly usage data for all free tier offers  that
       are  associated  with your Amazon Web Services account. You can use the
       Free Tier API to filter and show only the data that you want.

       Service endpoint

       The Free Tier API provides the following endpoint:

       o https://freetier.us-east-1.api.aws

       For more information, see Using the Amazon Web Services  Free  Tier  in
       the Billing User Guide .

AVAILABLE COMMANDS
       o get-free-tier-usage

       o help



                                                                    FREETIER()
(END)

~ $ if [[ ! -e /tmp/awscliv2.zip ]] ; then
>    cd /tmp
>    curl -s "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
>    unzip -q awscliv2.zip
>    sudo ./aws/install --update
>    aws --version
> fi
You can now run: /usr/local/bin/aws --version
aws-cli/2.27.51 Python/3.13.4 Linux/6.1.141-155.222.amzn2023.x86_64 exec-env/CloudShell exe/x86_64.amzn.2023
tmp $ 
tmp $ aws freetier help

FREETIER()                                                          FREETIER()



NAME
       freetier -

DESCRIPTION
       You can use the Amazon Web Services Free Tier API to query programmati-
       cally your Free Tier usage data.

       Free Tier tracks your monthly usage data for all free tier offers  that
       are  associated  with your Amazon Web Services account. You can use the
       Free Tier API to filter and show only the data that you want.

       Service endpoint

       The Free Tier API provides the following endpoint:

       For more information, see Using the Amazon Web Services  Free  Tier  in
       the Billing User Guide .

AVAILABLE COMMANDS
       o get-account-activity

       o get-account-plan-state

       o get-free-tier-usage

       o help

       o list-account-activities

       o upgrade-account-plan



                                                                    FREETIER()
(END)

少し長くなりましたので折り畳みましたが、出来上がったアカウントでの CloudShell 環境は v2.27.42 と古かったのでアップグレードをして、追加された API の内容が help ページに記載されるところまでを確認しています。

また、CloudShell 環境で常に最新の AWS CLI を利用する方法は、以下で弊社の福島さんがまとめてくれています。

blog.serverworks.co.jp

get-account-plan-state の実行(GetAccountPlanState API)

GetAccountPlanState API の実行をすることで、現在のアカウントプランタイプが FREE であることが確認できています。
加えて、クレジットとして 100 USD を保有していることも確認できています。

~ $  aws freetier get-account-plan-state
{
    "accountId": "611xxxxxxxxx",
    "accountPlanType": "FREE",
    "accountPlanStatus": "ACTIVE",
    "accountPlanRemainingCredits": {
        "amount": 100.0,
        "unit": "USD"
    },
    "accountPlanExpirationDate": "2026-01-15T21:48:41.953000+00:00"
}

list-account-activities の実行(ListAccountActivities API)

ListAccountActivities を実行することで個別のサービスタイプで利用可能な無料プラン特有のクレジットを確認することができました。
これらは、5 つの AWS サービスにまたがっており、それぞれに 20 USD ずつのクレジットとなっています。

aws freetier list-account-activities 
{
    "activities": [
        {
            "activityId": "6fffb441b82fa60bf08e7e869e0d96fb",
            "title": "Launch an instance using EC2",
            "reward": {
                "credit": {
                    "amount": 20.0,
                    "unit": "USD"
                }
            },
            "status": "NOT_STARTED"
        },
        {
            "activityId": "8ad1ecaa66a78d4e3c2f8a678d28b595",
            "title": "Use a foundation model in the Amazon Bedrock playground",
            "reward": {
                "credit": {
                    "amount": 20.0,
                    "unit": "USD"
                }
            },
            "status": "NOT_STARTED"
        },
        {
            "activityId": "7cd845309d890faf7270bb426560c01e",
            "title": "Set up a cost budget using AWS Budgets",
            "reward": {
                "credit": {
                    "amount": 20.0,
                    "unit": "USD"
                }
            },
            "status": "NOT_STARTED"
        },
        {
            "activityId": "798b3b7acc72600f4aed6544f1c1e7fb",
            "title": "Create a web app using AWS Lambda",
            "reward": {
                "credit": {
                    "amount": 20.0,
                    "unit": "USD"
                }
            },
            "status": "NOT_STARTED"
        },
        {
            "activityId": "8205347977b6d2134653bc122ea7d4f3",
            "title": "Create an Amazon RDS Database",
            "reward": {
                "credit": {
                    "amount": 20.0,
                    "unit": "USD"
                }
            },
            "status": "NOT_STARTED"
        }
    ]
}

get-account-activity の実行(GetAccountActivity API)

前述の ListAccountActivities の結果で得られた個別の AWS サービスの activityId を引数に付与しつつ GetAccountActivity API を実行することで、各サービスの個別の状況の確認ができます。

~ $ aws freetier get-account-activity --activity-id 6fffb441b82fa60bf08e7e869e0d96fb
{
    "activityId": "6fffb441b82fa60bf08e7e869e0d96fb",
    "title": "Launch an instance using EC2",
    "description": "<p>Use Amazon Elastic Compute Cloud (Amazon EC2) to create virtual machines, or instances, that run on the AWS Cloud.</p></br><p>In this activity, you’ll learn how to quickly get started by launching an instance in server, and cleaning up your instance.</p></br><p><em>Performing this activity will incur AWS service charges. These charges will be deducted from your Free Tier credits. See the service pricing page for potential costs.</em></p></br><p><a href=\"https://docs.aws.amazon.com/ec2/\">Learn more about EC2</a></p>",
    "status": "IN_PROGRESS",
    "instructionsUrl": "https://console.aws.amazon.com/ec2/home#LaunchInstances:tutorialId=launch-a-test-instance",
    "reward": {
        "credit": {
            "amount": 20.0,
            "unit": "USD"
        }
    },
    "estimatedTimeToCompleteInMinutes": 10,
    "expiresAt": "2026-01-15T21:48:41+00:00",
    "startedAt": "2025-07-15T23:06:15+00:00"
}

おわりに

弊社の請求代行サービスをご利用のお客様の場合、「無料プラン」の条件を満たすような発行となりません。そのため、弊社のお客様におかれましては特段のご留意点や変更点はありませんのでご安心ください。

ここまで見てきたとおり、これまでの無料利用枠より小さい範囲で AWS アカウントを開設し過剰な請求が発生しないことを担保された状態で AWS を試すことができるようになりました。

ただ、有料プランへの移行がいつでも可能とするために、クレジットカード情報を求められる点はこれまでのアカウント開設とは変化がない状況です。  

そのため、学生のみなさんなど、クレジットカード保有のない方の試用にはやはりクレジットカード保有というハードルが残っている点は少し残念な気がしました。

また、別途、無料プランのアカウントを、他の AWS Organizations 組織へ参加させた時にどうなるか、またその組織から離脱させた時にどうなるかも試してみたいと思います。

この記事がどなたかのお役に立ちますように。

ではまた。

市野 和明 (記事一覧)

マネージドサービス部・AWS サポート課

お客様から寄せられたご質問や技術検証を通じて得られた気づきを投稿していきます。

情シスだった前職までの経験で、UI がコロコロ変わる AWS においては GUI で手順を残していると画面構成が変わってしまって後々まごつくことが多かった経験から、極力変わりにくい AWS CLI での記事が多めです。

X(Twitter):@kazzpapa3(AWS Community Builder)