AWS::WAF::IPSet - AWS CloudFormation

AWS::WAF::IPSet

注記

これは AWS WAF Classic のドキュメントです。詳細については、開発者ガイドの「AWS WAF Classic」を参照してください。

AWS WAF の最新バージョンでは、AWS WAFV2 API を使用し、AWS WAF 開発者ガイドを参照してください。最新バージョンの AWS WAF には、リージョンおよびグローバルで使用できる 1 つのエンドポイントセットがあります。

クラスレスドメイン間ルーティング (CIDR) 表記で指定された 1 つ以上の IP アドレスまたは IP アドレスのブロックが含まれています。AWS WAF は IPv4 アドレス範囲: /8、および /16 から /32 までの範囲をサポートしています。AWS WAF は IPv6 アドレス範囲: /24、/32、/48、/56、/64、および /128 をサポートしています。

個別の IP アドレスを指定するには、4 つの部分からなる IP アドレスを指定し、その後に /32 を続けます。例: 192.0.2.0/31。IP アドレスの範囲をブロックするには、/8 または /16~/32 の任意の範囲 (IPv4 の場合) または /24、/32、/48、/56、/64、または /128 (IPv6 の場合) を指定できます。CIDR 表記の詳細については、Wikipedia の「Classless Inter-Domain Routing」を参照してください。

構文

AWS CloudFormation テンプレートでこのエンティティを宣言するには、次の構文を使用します。

JSON

{ "Type" : "AWS::WAF::IPSet", "Properties" : { "IPSetDescriptors" : [ IPSetDescriptor, ... ], "Name" : String } }

YAML

Type: AWS::WAF::IPSet Properties: IPSetDescriptors: - IPSetDescriptor Name: String

プロパティ

IPSetDescriptors

ウェブリクエストの送信元である IP アドレスタイプ (IPV4 または IPV6) と IP アドレス範囲 (CIDR 表記)。WebACL が CloudFront ディストリビューションに関連づけられ、ビューアがリクエストの送信に HTTP プロキシまたはロードバランサーを使用しなかった場合、これが CloudFront アクセスログにある c-ip フィールドの値です。

必須: いいえ

タイプ: IPSetDescriptor のリスト

Update requires: No interruption

Name

IPSet のフレンドリ名または説明。作成後に IPSet の名前を変更することはできません。

必須: はい

タイプ: 文字列

最小: 1

最大: 128

パターン: .*\S.*

Update requires: Replacement

戻り値

参照番号

1234a1a-a1b1-12a1-abcd-a123b123456 など、リソース物理 ID このリソースの論理 ID を組み込みの Ref 関数に渡すと、Ref は次を返します: 。

For more information about using the Ref function, see Ref.

IP アドレスの定義

次の例では、ウェブアクセスコントロールリスト (ACL) ルールの一連の IP アドレスを定義します。

JSON

"MyIPSetBlacklist": { "Type": "AWS::WAF::IPSet", "Properties": { "Name": "IPSet for blacklisted IP adresses", "IPSetDescriptors": [ { "Type" : "IPV4", "Value" : "192.0.2.44/32" }, { "Type" : "IPV4", "Value" : "192.0.7.0/24" } ] } }

YAML

MyIPSetBlacklist: Type: "AWS::WAF::IPSet" Properties: Name: "IPSet for blacklisted IP adresses" IPSetDescriptors: - Type: "IPV4" Value: "192.0.2.44/32" - Type: "IPV4" Value: "192.0.7.0/24"

IPSet とウェブ ACL ルールを関連付ける

次の例では、MyIPSetBlacklist IP セットとウェブ ACL ルールを関連付けます。

JSON

"MyIPSetRule" : { "Type": "AWS::WAF::Rule", "Properties": { "Name": "MyIPSetRule", "MetricName" : "MyIPSetRule", "Predicates": [ { "DataId" : { "Ref" : "MyIPSetBlacklist" }, "Negated" : false, "Type" : "IPMatch" } ] } }

YAML

MyIPSetRule: Type: "AWS::WAF::Rule" Properties: Name: "MyIPSetRule" MetricName: "MyIPSetRule" Predicates: - DataId: Ref: "MyIPSetBlacklist" Negated: false Type: "IPMatch"

ウェブ ACL を作成する

次の例では、MyIPSetRule ルールとウェブ ACL を関連付けます。ウェブ ACL は、MyIPSetRule で定義されたアドレスを除く、すべての IP アドレスから送信されるリクエストを許可します。

JSON

"MyWebACL": { "Type": "AWS::WAF::WebACL", "Properties": { "Name": "WebACL to block blacklisted IP addresses", "DefaultAction": { "Type": "ALLOW" }, "MetricName" : "MyWebACL", "Rules": [ { "Action" : { "Type" : "BLOCK" }, "Priority" : 1, "RuleId" : { "Ref" : "MyIPSetRule" } } ] } }

YAML

MyWebACL: Type: "AWS::WAF::WebACL" Properties: Name: "WebACL to block blacklisted IP addresses" DefaultAction: Type: "ALLOW" MetricName: "MyWebACL" Rules: - Action: Type: "BLOCK" Priority: 1 RuleId: Ref: "MyIPSetRule"