「Lightsailのインスタンスを停止したから料金はかからないはず」と思っていたら、翌月の請求書を見て首をかしげた経験はありませんか。実はLightsailには、インスタンスを停止しても課金が続くリソースがいくつかあります。知らないと地味にじわじわ請求が来るので、今回はその仕組みと節約方法をまとめます。
Lightsailで停止しても課金されるリソース一覧
まずここを理解しておかないと節約の話が始まりません。Lightsailはインスタンス(サーバー本体)を停止すると稼働分の課金は止まりますが、以下のリソースは停止中も課金が続きます。
- 静的IPアドレス:インスタンスにアタッチしている場合、停止中でも月額約0.005ドル/時間が発生します。使わないなら解放しましょう。
- ブロックストレージ(ディスク):インスタンスにアタッチしているディスクはデータ保持のため課金が続きます。30GBで月額約3ドルです。
- スナップショット:バックアップとして作成したスナップショットはストレージ利用料がかかります。5GBで月額約0.05ドル程度ですが、積み重なると無視できない金額になります。
- ロードバランサー:インスタンスを停止してもロードバランサー自体は課金対象です。不要なら削除が必要です。
「停止=無料」ではなく「停止=インスタンスの稼働費用だけ止まる」という認識が正確です。この違いを知らないとじわじわ請求が来ます。
よくあるやらかしパターン
Lightsailで無駄な課金が発生するパターンはだいたい決まっています。心当たりがある方は今すぐコンソールを確認してください。
パターン① インスタンスを停止して放置
「使わないから停止しておこう」で放置するのが一番多いパターンです。停止中でも静的IPとディスクの課金は続いています。月額5ドルのインスタンスを停止したつもりでも、静的IP+ディスクで月2〜3ドル払い続けているケースがあります。
パターン② インスタンスを削除したのにスナップショットが残る
インスタンスを削除してもスナップショットは自動で削除されません。「インスタンス消したから大丈夫」と思っていたら、スナップショットだけ生き残って課金が続いていたというパターンです。
# スナップショットの確認方法(AWS CLI)
aws lightsail get-instance-snapshots
# スナップショットの削除
aws lightsail delete-instance-snapshot \
--snapshot-name your-snapshot-name
パターン③ 静的IPを解放し忘れる
静的IPはインスタンスにアタッチしていない状態(デタッチ済み)でも課金されます。インスタンスを削除した後に静的IPだけ残ってしまうと、使っていないのに課金が続きます。
# 静的IPの確認と解放(AWS CLI)
# 現在の静的IPを確認
aws lightsail get-static-ips
# 静的IPを解放
aws lightsail release-static-ip \
--static-ip-name your-static-ip-name
月15ドルを節約する具体的な手順
不要なリソースを洗い出して削除するだけで、月10〜15ドル程度の節約になるケースは珍しくありません。以下の手順でリソースを棚卸しましょう。
STEP 1:Lightsailコンソールで全リソースを確認する
Lightsailの管理コンソールには複数のタブがあります。インスタンスだけ確認して満足せず、全タブを確認してください。
- インスタンス
- データベース
- ネットワーキング(静的IP・ロードバランサー)
- ストレージ(ブロックストレージ)
- スナップショット
特にスナップショットタブは見落としやすいです。インスタンスのスナップショットとディスクのスナップショットが別々に管理されているので両方確認してください。
STEP 2:不要なリソースを削除する
使っていないリソースは迷わず削除します。削除の優先順位はこちらです。
- スナップショット:古いバックアップは削除。直近1〜2世代だけ残せば十分です。
- 静的IP:使っていない静的IPは解放します。
- ブロックストレージ:デタッチ済みのディスクは削除します。
- ロードバランサー:使っていないなら削除します。
STEP 3:使用していない時間帯はインスタンスを停止する
開発環境やテスト環境は常時起動している必要はありません。週末や夜間に停止するだけで月額料金を大幅に削減できます。
月額5ドルのインスタンスを週末48時間停止した場合の計算です。
# 節約額の計算
月額料金:5ドル
1時間あたり:5 ÷ 720時間 ≒ 0.007ドル
週末停止時間:48時間 × 4週 = 192時間/月
節約額:0.007 × 192 ≒ 1.3ドル/月
年間節約額:1.3 × 12 ≒ 約15.6ドル(約2,300円)
1インスタンスだと少なく感じますが、複数の開発環境を持っている場合は積み重なります。
自動停止スクリプトで手間をなくす
毎回手動で停止・起動するのは面倒ですし、うっかり忘れることもあります。CloudWatch EventsとLambdaを組み合わせることで、指定した時間に自動停止・自動起動を設定できます。
import boto3
def lambda_handler(event, context):
client = boto3.client('lightsail')
# インスタンスを停止する
response = client.stop_instance(
instanceName='your-instance-name'
)
print(f"インスタンス停止: {response}")
return response
このLambda関数をEventBridgeで平日22時に実行、翌朝8時に起動する設定にするだけです。設定自体はシンプルですが、IAMの権限設定には注意が必要です。
# Lambda関数に必要な最小権限(IAMポリシー)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"lightsail:StopInstance",
"lightsail:StartInstance",
"lightsail:GetInstanceState"
],
"Resource": "arn:aws:lightsail:ap-northeast-1:*:instance/your-instance-name"
}
]
}
権限を絞らないと意図しない別のインスタンスまで停止させてしまうリスクがあります。対象のインスタンスのみに権限を絞るのが安全です。
Lightsailの料金を定期的に確認する習慣をつける
AWSのコスト管理ツールを活用すると、予期せぬ課金に気づきやすくなります。
- AWS Cost Explorer:サービス別のコストを可視化できます。Lightsailの内訳も確認できます。
- AWS Budgets:月額の予算を設定してアラートを受け取れます。設定した金額を超えそうになったらメール通知が来るので安心です。
# AWS CLIでLightsailのコスト確認
aws ce get-cost-and-usage \
--time-period Start=2026-04-01,End=2026-05-01 \
--granularity MONTHLY \
--filter '{"Dimensions":{"Key":"SERVICE","Values":["Amazon Lightsail"]}}' \
--metrics BlendedCost
まとめ:Lightsailの節約は「棚卸し」から始まる
Lightsailの無駄な課金を防ぐポイントをまとめます。
- インスタンス停止中でも静的IP・ディスク・スナップショットは課金される
- インスタンスを削除してもスナップショットは手動で削除が必要
- 月1回はLightsailコンソールの全タブを確認する習慣をつける
- 開発環境は夜間・週末に自動停止して稼働コストを削減する
- AWS Budgetsで予算アラートを設定しておく
Lightsailはもともと安いサービスですが、管理を怠ると地味にコストが積み重なります。月1回の棚卸しを習慣にするだけで、年間で数千円〜数万円の節約になることもあります。「停止したから大丈夫」ではなく「削除したから大丈夫」という意識で運用してください。