AWSを利用する上で、特定のリージョンのみを利用したいという要件が出てくることがあります。例えば、コンプライアンス上の理由やコスト削減のため、利用するリージョンを限定したい場合などです。
しかし、AWSの仕様上、デフォルトで有効になっているリージョンはコンソールから直接無効化することができません。
今回は、そのようなケースにおいて、AWS Organizationsのサービスコントロールポリシー(SCP)を用いて、東京とバージニア北部リージョンのみを許可する方法について解説します。
背景 – 東京とバージニア北部リージョンのみを許可する
AWS環境の運用において、セキュリティポリシーやコンプライアンス要件、コスト最適化の観点から、利用するリージョンを限定したいというニーズがありました。具体的には、リソースの作成や運用を東京リージョン (ap-northeast-1
) とバージニア北部リージョン (us-east-1
) のみに限定することを目的としました。
SCPによるリージョン制限
SCPを利用することで、AWSアカウントまたは組織単位(OU)に対して、許可または拒否するAWSサービスやアクションを制御できます。今回は、東京とバージニア北部リージョンでのみリソースの作成や操作を許可するポリシーを作成します。
よりシンプルなポリシー
最終的に、以下のSCPポリシーを採用しました。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSpecificRegionsOnly",
"Effect": "Deny",
"Action": "*",
"Resource": "*",
"Condition": {
"StringNotEquals": {
"aws:RequestedRegion": [
"ap-northeast-1",
"us-east-1"
]
}
}
}
]
}
このポリシーは、リクエストされたリージョンが東京 (ap-northeast-1
) またはバージニア北部 (us-east-1
) ではない 場合に、すべてのアクションとリソースを拒否するという意味になります。
SCPポリシーのアタッチ
作成したSCPポリシーをAWSアカウントまたは組織単位(OU)にアタッチする手順は以下の通りです。
- AWS Organizations コンソールにログイン
- 左側のナビゲーションメニューで「ポリシー」をクリックし、「サービスコントロールポリシー」を選択します。
- アタッチしたいSCPの名前の左側にあるラジオボタンを選択します。
- 「アタッチ」ボタンをクリックします。
- SCPをアタッチしたいアカウントまたは組織単位(OU)の左側にあるチェックボックスをオンにします。
- 画面の右下にある「ポリシーのアタッチ」ボタンをクリックします。
アタッチするポリシーの説明
今回アタッチしたSCPポリシーは、AWS環境において、リソースの作成や操作を特定のリージョンに限定することを目的としています。具体的には、東京リージョン (ap-northeast-1
) とバージニア北部リージョン (us-east-1
) 以外 のリージョンでのリソース作成や操作を拒否します。
このポリシーは、以下のステートメントで構成されています。
Effect
: “Deny”: アクションを拒否します。Action
: “*”`: すべてのアクションを対象とします。Resource
: “*”`: すべてのリソースを対象とします。Condition
: 拒否の条件を定義します。StringNotEquals
: 文字列が一致しないかどうかを評価します。aws:RequestedRegion
: APIリクエストが送信されたリージョンを表します。["ap-northeast-1", "us-east-1"]
: 許可するリージョンのリストです。リクエストされたリージョンが東京またはバージニア北部 ではない 場合に、アクションが拒否されます。
このポリシーを適用することで、意図しないリージョンでのリソース作成を防ぎ、コスト削減やセキュリティ強化に繋げることができます。
まとめ
SCPを利用することで、AWS環境におけるリージョン利用を柔軟に制御することが可能です。今回の例では、特定のリージョンのみを許可するというシンプルなポリシーでしたが、より複雑な条件や特定のアクションのみを制限するポリシーなど、様々なカスタマイズが可能です。SCPを適切に活用することで、より安全で効率的なAWS環境を構築できるでしょう。
コメント