エンジニア向け

【AWS】無駄なコストを防ぐ!SCPで特定のリージョンだけを許可する方法

AWSでは、複数のリージョンでリソースを作成できる柔軟性がありますが、意図しないリージョンでの利用はコストの無駄につながることも。特に開発チームや複数アカウントを運用している場合、使うリージョンを制限することでコスト管理がグッと楽になります

この記事では、AWS OrganizationsのSCP(Service Control Policy)を使って「東京リージョン(ap-northeast-1)」だけを許可する方法を紹介します。

🎯 なぜリージョン制限が必要なのか?

  • 誤操作によるリソース作成(例:バージニアでEC2を立ててしまった)
  • データ転送コストの増加(リージョン間通信)
  • セキュリティポリシーの逸脱(特定リージョンのみ監査対象など)
  • リソースの分散による管理負荷

🧠 SCPとは?

SCP(Service Control Policy)は、AWS OrganizationsでアカウントやOU(組織単位)に対してアクセス制御をかけるポリシーです。IAMポリシーとは異なり、アカウント全体のガードレールとして機能します。

📝 東京リージョンだけを許可するSCPポリシー例

JSON
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "AllowOnlyTokyoRegion",
      "Effect": "Deny",
      "Action": "*",
      "Resource": "*",
      "Condition": {
        "StringNotEquals": {
          "aws:RequestedRegion": "ap-northeast-1"
        }
      }
    }
  ]
}

🔍 ポリシーのポイント

  • Effect: Deny → 条件に一致する操作を拒否
  • StringNotEquals → 東京リージョン以外を拒否
  • aws:RequestedRegion → リクエストされたリージョンを判定

🚀 適用手順

  1. AWS Organizationsコンソールにアクセス
  2. 「ポリシー」→「サービスコントロールポリシー」へ移動
  3. 上記ポリシーを新規作成
  4. 対象のOUまたはアカウントにアタッチ

⚠️ 注意点

  • IAMやRoute53などのグローバルサービスには aws:RequestedRegion が適用されません。
  • SCPは明示的な拒否が優先されるため、他の許可ポリシーがあっても東京以外は使えません。
  • CloudFormationスタックやCLI操作でもリージョン制限がかかるため、開発者への周知が必要です。

✅ まとめ

SCPを使えば、組織全体でリージョン制限をかけることができ、無駄なコストや管理負荷を大幅に削減できます。特に東京リージョンだけを使いたい場合は、今回紹介したポリシーを活用してみてください。

もし「東京+大阪だけ許可したい」「特定サービスだけ許可したい」などのニーズがあれば、さらに細かくカスタマイズできます。ご希望があればその内容も記事化できますよ!

続きを書きたい場合や、画像・図解を追加したい場合もお手伝いします!

-エンジニア向け
-