

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# FIS AWS のターゲット
<a name="targets"></a>

ターゲットは、実験中に Fault Injection Service (AWS FIS) AWS によってアクションが実行される 1 つ以上の AWS リソースです。ターゲットは実験と同じ AWS アカウントに存在することができ、またマルチアカウント実験を使用する別のアカウントに存在することもできます。別のアカウントのリソースをターゲットにする方法の詳細については、「[のマルチアカウント実験の使用 AWS FIS](multi-account.md)」を参照してください。

ターゲットは、[実験テンプレートの作成](create-template.md)を行う場合に定義します。実験テンプレートの複数のアクションに対して同じターゲットを使用できます。

AWS FIS は、アクションセット内のアクションを開始する前に、実験の開始時にすべてのターゲットを識別します。 AWS FIS は、実験全体に対して選択したターゲットリソースを使用します。ターゲットが見つからない場合、実験は失敗します。

**Contents**
+ [ターゲット構文](#target-syntax)
+ [リソースタイプ:](#resource-types)
+ [ターゲットリソースを識別する](#target-identification)
  + [リソースフィルター](#target-filters)
  + [リソースパラメータ](#target-parameters)
+ [選択モード](#target-selection-mode)
+ [ターゲットの例](#target-examples)
+ [フィルターの例](#filter-examples)

## ターゲット構文
<a name="target-syntax"></a>

次に、 ターゲットの構文を示します。

```
{
    "targets": {
        "target_name": {
            "resourceType": "resource-type",
            "resourceArns": [
                "resource-arn"
            ],
            "resourceTags": {
                "tag-key": "tag-value"
            },
            "parameters": {
                "parameter-name": "parameter-value"
            },
            "filters": [
                {
                    "path": "path-string",
                    "values": ["value-string"]
                }
            ],
            "selectionMode": "value"
        }
    }
}
```

ターゲットを定義するときは、以下の情報を指定します。

**target\$1name**  
ターゲットの名前。

**resourceType**  
[リソースタイプ](#resource-types)。

**resourceArns**  
特定のリソースの Amazon リソースネーム (ARN)。

**resourceTags**  
特定のリソースに適用するタグ。

**parameters**  
特定の属性でターゲットを識別する[パラメータ](#target-parameters)。

**filters**  
[リソースフィルターは](#target-filters)、特定の属性で識別されるターゲットリソースの範囲を設定します。

**selectionMode**  
識別されたリソースの[選択モード](#target-selection-mode)。

例については、「[ターゲットの例](#target-examples)」を参照してください。

## リソースタイプ:
<a name="resource-types"></a>

各 AWS FIS アクションは、特定の AWS リソースタイプで実行されます。ターゲットを定義する場合は、厳密に 1 つのリソースタイプを指定する必要があります。アクションのターゲットを指定する場合、ターゲットはアクションでサポートされているリソースタイプである必要があります。

 AWS FIS では、次のリソースタイプがサポートされています。
+ **aws:arc:zonal-shift-managed-resource** – ARC ゾーンシフトに登録されている AWS リソース
+ **aws:directconnect:virtual-interface** – Direct Connect 仮想インターフェイス 
+ **aws:dsql:cluster** – Amazon Aurora DSQL クラスター 
+ **aws:dynamodb:global-table** – Amazon DynamoDB マルチリージョングローバルテーブル
+ **aws:ec2:autoscaling-group** – An Amazon EC2 Auto Scaling グループ
+ **aws:ec2:ebs-volume** - Amazon EBS ボリューム
+ **aws:ec2:instance** - Amazon EC2 インスタンス
+ **aws:ec2:spot-instance** - Amazon EC2 スポットインスタンス
+ **aws:ec2:subnet** - Amazon VPC サブネット
+ **aws:ec2:transit-gateway** – トランジットゲートウェイ
+ **aws:ec2:vpc-endpoint** – Amazon VPC エンドポイント
+ **aws:ecs:cluster** - Amazon ECS クラスター
+ **aws: ecs: task** - Amazon ECS タスク
+ **aws:eks:cluster** - Amazon EKS クラスター
+ **aws:eks:nodegroup** — Amazon EKS ノードグループ
+ **aws:eks:pod** - Kubernetes ポッド
+ **aws:elasticache:replicationgroup** – ElastiCache レプリケーショングループ
+ **aws:iam:role** — IAM ロール
+ **aws:kinesis:stream** – Amazon Kinesis データストリーム
+ **aws:lambda:function ** – AWS Lambda 関数
+ **aws:memorydb:multi-region-cluster ** – Amazon MemoryDB マルチリージョンクラスター
+ **aws:rds:cluster** — Amazon Aurora DB クラスター
+ **aws:rds:db** — Amazon RDS DB インスタンス
+ **aws:s3:bucket** – Amazon S3 バケット

## ターゲットリソースを識別する
<a name="target-identification"></a>

 AWS FIS コンソールでターゲットを定義する場合、ターゲットとする特定の AWS リソース (特定のリソースタイプ) を選択できます。または、指定した基準に基づいてリソースのグループを AWS FIS に識別させることができます。

ターゲットリソースを識別するには、次の項目を指定できます。
+ **リソース IDs** – 特定のリソースの AWS リソース IDs。すべてのリソース ID は、同じタイプのリソースを表す必要があります。
+ **リソースタグ** – 特定の AWS リソースに適用されるタグ。
+ **リソースフィルター** — 特定の属性を持つリソースを表すパスと値。詳細については、「[リソースフィルター](#target-filters)」を参照してください。
+ **リソースパラメータ** - 特定の基準を満たすリソースを表すパラメータ。詳細については、「[リソースパラメータ](#target-parameters)」を参照してください。

**考慮事項**
+ 同一ターゲットのリソース ID とリソースタグの両方を指定することはできません。
+ 同一ターゲットのリソース ID とリソースフィルターの両方を指定することはできません。
+ タグ値が空のリソースタグを指定しても、ワイルドカードを指定することにはなりません。その場合、指定したタグキーと空のタグ値を持つタグがあるリソースが一対象になります。
+ 複数のタグを指定する場合、そのタグを選択するために、指定されたすべてのタグがターゲットリソースに存在する必要があります (`AND`)。

### リソースフィルター
<a name="target-filters"></a>

リソースフィルターは、特定の属性に従ってターゲットリソースを識別するクエリです。 AWS FIS は、指定したリソースタイプに従って、 AWS リソースの正規説明を含む API アクションの出力にクエリを適用します。クエリに一致する属性を持つリソースは、ターゲット定義に含まれます。

各フィルターは、属性パスと指定可能な値として表されます。パスは、ピリオドで区切られた一連の要素です。リソースの**記述**アクションの出力における属性までのパスを記述します。各期間は、 要素の拡張を表します。リソースの **Describe** アクションの出力がキャメルケースでも、各要素はパスカルケースで表現する必要があります。例えば、`availablityZone` ではなく、`AvailabilityZone` を属性要素として使用する必要があります。

```
"filters": [
    {
        "path": "Component.Component.Component",
        "values": [ 
            "string" 
        ]
    }
],
```

次のロジックは、すべてのリソースフィルターに適用されます。
+ 同じパスを持つフィルターを含む複数のフィルターが指定されている場合、リソースを選択するにはすべてのフィルターを一致させる必要があります。 `AND`
+ 1 つのフィルターに複数の値を指定する場合、リソースを選択するには 1 つの値と一致する必要があります。 `OR`
+ describe API コールのパスロケーションで複数の値が検出された場合、リソースを選択するには 1 つの値と一致する必要があります。 `OR`
+ タグのキーと値のペアで一致させるには、代わりにタグでターゲットリソースを選択する必要があります (上記を参照）。

次の表に、各リソースタイプの正規説明を取得するために使用できる API アクションと AWS CLI コマンドを示します。 AWS FIS はユーザーに代わってこれらのアクションを実行して、指定したフィルターを適用します。対応するドキュメントでは、デフォルトで結果に含まれるリソースについて説明します。例えば、**DescribeInstances** のドキュメントは、最近終了したインスタンスが結果に表示される可能性があると述べています。


| リソースタイプ | API アクション | AWS CLI コマンド | 
| --- | --- | --- | 
| aws:arc:zonal-shift-managed-resource | ListManagedResources | list-managed-resources | 
| aws:directconnect:virtual-interface | [DescribeVirtualInterfaces](https://docs.aws.amazon.com/directconnect/latest/APIReference/API_DescribeVirtualInterfaces.html) | [describe-virtual-interfaces](https://docs.aws.amazon.com/cli/latest/reference/directconnect/describe-virtual-interfaces.html) | 
| aws:ec2:autoscaling-group | [DescribeAutoScalingGroups](https://docs.aws.amazon.com/autoscaling/ec2/APIReference/API_DescribeAutoScalingGroups.html) | [describe-auto-scaling-groups](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/describe-auto-scaling-groups.html) | 
| aws:ec2:ebs-volume | [DescribeVolumes](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVolumes.html) | [describe-volumes](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-volumes.html) | 
| aws:ec2:instance | [DescribeInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstances.html) | [describe-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html) | 
| aws:ec2:subnet | [DescribeSubnets](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeSubnets.html) | [describe-subnets](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-subnets.html) | 
| aws:ec2:transit-gateway | [DescribeTransitGateways](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTransitGateways.html) | [describe-transit-gateways](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-transit-gateways.html) | 
| aws:ec2:vpc-endpoint | [DescribeVpcEndpoints](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeVpcEndpoints.html) | [describe-vpc-endpoints](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-vpc-endpoints.html) | 
| aws:ecs:cluster | [DescribeClusters](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeClusters.html) | [describe-clusters](https://docs.aws.amazon.com/cli/latest/reference/ecs/describe-clusters.html) | 
| aws:ecs:task | [DescribeTasks](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_DescribeTasks.html) | [describe-tasks](https://docs.aws.amazon.com/cli/latest/reference/ecs/describe-tasks.html) | 
| aws:eks:cluster | [DescribeClusters](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeClusters.html) | [describe-clusters](https://docs.aws.amazon.com/cli/latest/reference/eks/describe-clusters.html) | 
| aws:eks:nodegroup | [DescribeNodeGroup](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeNodegroup.html) | [describe-nodegroup](https://docs.aws.amazon.com/cli/latest/reference/eks/describe-nodegroup.html) | 
| aws:elasticache:replicationgroup | [DescribeReplicationGroups](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html) | [describe-replication-groups](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-replication-groups.html) | 
| aws:iam:role | [ListRoles](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListRoles.html) | [list-roles](https://docs.aws.amazon.com/cli/latest/reference/iam/list-roles.html) | 
| aws:kinesis:stream | [DescribeStreamSummary](https://docs.aws.amazon.com/kinesis/latest/APIReference/API_DescribeStreamSummary.html) | [describe-stream-summary](https://docs.aws.amazon.com/cli/latest/reference/kinesis/describe-stream-summary.html) | 
| aws:lambda:function | [ListFunctions](https://docs.aws.amazon.com/lambda/latest/api/API_ListFunctions.html) | [list-functions](https://docs.aws.amazon.com/cli/latest/reference/lambda/list-functions.html) | 
| aws:memorydb:multi-region-clustern | [DescribeMultiRegionClusters](https://docs.aws.amazon.com/memorydb/latest/APIReference/API_DescribeMultiRegionClusters.html) | [describe-multi-region-clusters](https://docs.aws.amazon.com/cli/latest/reference/memorydb/describe-multi-region-clusters.html) | 
| aws:rds:cluster | [DescribeDBClusters](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBClusters.html) | [describe-db-clusters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-clusters.html) | 
| aws:rds:db | [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html) | [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) | 
| aws:s3:bucket | [ListBuckets](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html) | [list-buckets](https://docs.aws.amazon.com/cli/latest/reference/s3api/list-buckets.html) | 
| aws:dynamodb:global-table | [DescribeTable](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_DescribeTable.html) | [describe-table](https://docs.aws.amazon.com/cli/latest/reference/dynamodb/describe-table.html) | 
| aws:dsql:cluster | [GetCluster](https://docs.aws.amazon.com/aurora-dsql/latest/APIReference/API_GetCluster.html) | [get-cluster](https://docs.aws.amazon.com/cli/latest/reference/dsql/get-cluster.html) | 

例については、「[フィルターの例](#filter-examples)」を参照してください。

### リソースパラメータ
<a name="target-parameters"></a>

リソースパラメータは、特定の基準に従ってターゲットリソースを識別します。

以下のリソースタイプはパラメータをサポートします。

**aws:ec2:ebs-volume**  
+ `availabilityZoneIdentifier` - ターゲットボリュームがあるアベイラビリティーゾーンのコード (例えば、us-east-1a)。

**aws:ec2:subnet**  
+ `availabilityZoneIdentifier` - ターゲットサブネットがあるアベイラビリティーゾーンのコード (us-east-1a など) または AZ ID (例えば、use1-az1)。
+ `vpc` - ターゲットサブネットがある VPC。アカウントごとに複数の VPC はサポートしていません。

**aws:ecs:task**  
+ `cluster` - ターゲットタスクがあるクラスター。
+ `service` - ターゲットタスクがあるサービス。

**aws:eks:pod**  
+ `availabilityZoneIdentifier` - オプション。ターゲットポッドがあるアベイラビリティーゾーン。例えば、`us-east-1d`。ポッドのアベイラビリティーゾーンは、hostIP とクラスターサブネットの CIDR を比較して決定します。
+ `clusterIdentifier` – 必須。ターゲットの EKS クラスターの名前または ARN。
+ `namespace` – 必須。ターゲットポッドの Kubernetes 名前空間。
+ `selectorType` – 必須。セレクタータイプ。指定できる値は、`labelSelector`、`deploymentName` および `podName` です。
+ `selectorValue` – 必須。セレクター値。この値は、`selectorType` の値によって異なります。
+ `targetContainerName` - オプション。ポッド仕様で定義されたターゲットコンテナの名前。デフォルトは、各ターゲットポッド仕様で定義されている最初のコンテナです。

** aws:lambda:function **  
+ `functionQualifier` - オプション。ターゲットにする関数のバージョンまたはエイリアス。修飾子が指定されていない場合、すべての呼び出しがターゲットとして考慮されます。複数のバージョンを持つエイリアスが指定されている場合、エイリアスを含む ARN を使用して呼び出される限り、エイリアスに含まれるすべてのバージョンがターゲットとして考慮されます。特別なエイリアス`$LATEST`を使用する場合、ベース関数 ARN への呼び出しと ARN `$LATEST`内の を含む呼び出しは、フォールトインジェクションと見なされます。Lambda バージョンの詳細については、 *AWS Lambda ユーザーガイド*の[「Lambda 関数のバージョンを管理する](https://docs.aws.amazon.com/lambda/latest/dg/configuration-versions.html)」を参照してください。

** aws:rds:cluster **  
+ `writerAvailabilityZoneIdentifiers` - オプション。DB クラスターのライターのアベイラビリティーゾーン。使用できる値: アベイラビリティーゾーンの識別子のカンマ区切りリスト、`all`。

** aws:rds:db **  
+ `availabilityZoneIdentifiers` - オプション。影響を受ける DB インスタンスのアベイラビリティーゾーン。使用できる値: アベイラビリティーゾーンの識別子のカンマ区切りリスト、`all`。

**aws:elasticache:replicationgroup**  
+ `availabilityZoneIdentifier` – 必須。ターゲットノードを含むアベイラビリティーゾーンのコード (us-east-1a など) または AZ ID (use1-az1 など)。

## 選択モード
<a name="target-selection-mode"></a>

選択モードを指定して、識別されたリソースの範囲を指定します。 AWS FIS は次の選択モードをサポートしています。
+ `ALL` - すべてのターゲットに対してアクションを実行します。
+ `COUNT(n)` — 識別されたターゲットからランダムに選択された、指定された数のターゲットに対してアクションを実行します。例えば、COUNT (1) は、識別されたターゲットの 1 つを選択します。
+ `PERCENT(n)` — 識別されたターゲットからランダムに選択された、指定された割合のターゲットに対してアクションを実行します。例えば、PERCENT (25) では、識別されたターゲットの 25% が選択されます。

リソース数が奇数で、50% を指定した場合、 AWS FIS は切り捨てられます。たとえば、ターゲットとして 5 つの Amazon EC2 インスタンスを追加し、スコープを 50% にすると、 AWS FIS は 2 つのインスタンスに切り下げます。1 リソース未満のパーセンテージは指定できません。たとえば、4 つの Amazon EC2 インスタンスとスコープを 5% に追加した場合、 AWS FIS はインスタンスを選択できません。

同じターゲットリソースタイプを使用して複数のターゲットを定義した場合、 AWS FIS は同じリソースを複数回選択できます。

使用する選択モードにかかわらず、指定したスコープでリソースが識別されない場合、実験は失敗します。

## ターゲットの例
<a name="target-examples"></a>

以下はターゲットの例です。

**例**
+ [指定した VPC 内の指定したタグのあるインスタンス](#target-instances)
+ [指定されたパラメータのタスク](#target-tasks)<a name="target-instances"></a>

**例: 指定した VPC 内の指定されたタグのインスタンス**  
この例で想定されるターゲットは、タグ env=prod の指定した VPC 内の Amazon EC2 インスタンスです。選択モードでは、FIS AWS がこれらのターゲットの 1 つをランダムに選択することを指定します。

```
{
    "targets": {
        "randomInstance": {
            "resourceType": "aws:ec2:instance",
            "resourceTags": {
                "env": "prod"
            },
            "filters": [
                {
                    "path": "VpcId",
                    "values": [
                        "vpc-aabbcc11223344556"
                    ]
                }
            ],
            "selectionMode": "COUNT(1)"
        }
    }
}
```<a name="target-tasks"></a>

**例: 指定されたパラメータのあるタスク**  
この例で想定されるターゲットは、指定されたクラスターとサービスがある Amazon ECS タスクです。選択モードでは、FIS AWS がこれらのターゲットのいずれかをランダムに選択することを指定します。

```
{
    "targets": {
        "randomTask": {
            "resourceType": "aws:ecs:task",
            "parameters": {
                "cluster": "myCluster",
                "service": "myService"
            },
            "selectionMode": "COUNT(1)"
        }
    }
}
```

## フィルターの例
<a name="filter-examples"></a>

以下はフィルターの例です。

**例**
+ [EC2インスタンス](#filter-instances)
+ [DB クラスター](#filter-db-clusters)<a name="filter-instances"></a>

**例: EC2インスタンス**  
**aws:ec2:instance** リソースタイプをサポートするアクションのフィルターを指定すると、 AWS FIS は Amazon EC2 **describe-instances** コマンドを使用し、フィルターを適用してターゲットを識別します。

**describe-instances** コマンドは、各インスタンスが `Instances` の構造体である JSON 出力を返します。以下に示したのは、*斜体*でマークされたフィールドの出力の一部です。これらのフィールドで、JSON 出力の構造から属性パスを指定する例を紹介します。

```
{
    "Reservations": [
        {
            "Groups": [],
            "Instances": [
                {
                    "ImageId": "ami-00111111111111111",
                    "InstanceId": "i-00aaaaaaaaaaaaaaa",
                    "InstanceType": "t2.micro",
                    "KeyName": "virginia-kp",
                    "LaunchTime": "2020-09-30T11:38:17.000Z",
                    "Monitoring": {
                        "State": "disabled"
                    },
                    "Placement": {
                        "AvailabilityZone": "us-east-1a",
                        "GroupName": "",
                        "Tenancy": "default"
                    },
                    "PrivateDnsName": "ip-10-0-1-240.ec2.internal",
                    "PrivateIpAddress": "10.0.1.240",
                    "ProductCodes": [],
                    "PublicDnsName": "ec2-203-0-113-17.compute-1.amazonaws.com",
                    "PublicIpAddress": "203.0.113.17",
                    "State": {
                        "Code": 16,
                        "Name": "running"
                    },
                    "StateTransitionReason": "",
                    "SubnetId": "subnet-aabbcc11223344556",
                    "VpcId": "vpc-00bbbbbbbbbbbbbbbbb",
                    ...
                    "NetworkInterfaces": [
                    {
                        ...
                        "Groups": [
                            {
                                "GroupName": "sec-group-1",
                                "GroupId": "sg-a0011223344556677"
                            },
                            {
                                "GroupName": "sec-group-1",
                                "GroupId": "sg-b9988776655443322"
                            }
                        ],
                        ...
                    },
                    ...
                },
                ...
                {
                    ...
                }
            ],
            "OwnerId": "123456789012",
            "ReservationId": "r-aaaaaabbbbb111111"
        },
        ...        
    ]
}
```

リソースフィルターを使用して特定のアベイラビリティーゾーン内のインスタンスを選択するには、`AvailabilityZone` の属性パスを指定し、アベイラビリティーゾーンのコードを値として指定します。例:

```
"filters": [
    {
        "path": "Placement.AvailabilityZone",
        "values": [ "us-east-1a" ]
    }
],
```

リソースフィルターを使用して特定のサブネット内のインスタンスを選択するには、`SubnetId` の属性パスを指定し、値としてサブネットの ID を指定します。例:

```
"filters": [
    {
        "path": "SubnetId",
        "values": [ "subnet-aabbcc11223344556" ]
    }
],
```

特定のインスタンス状態にあるインスタンスを選択するには、`Name` の属性パスを指定します。値として、次のいずれかの状態名を指定します。`pending` \$1 `running` \$1 `shutting-down` \$1 `terminated` \$1 `stopping` \$1 `stopped`。例えば、次のようになります。

```
"filters": [
    {
        "path": "State.Name",
        "values": [ "running" ]
    }
],
```

複数のセキュリティグループ*のいずれか*がアタッチされているインスタンスを選択するには、 の属性パス`GroupId`と複数のセキュリティグループ IDs を持つ 1 つのフィルターを指定します。例えば、次のようになります。

```
"filters": [
    {
        "path": "NetworkInterfaces.Groups.GroupId",
        "values": [
                "sg-a0011223344556677",
                "sg-f1100110011001100"
            ]
    }
],
```

多数のセキュリティグループ*がすべて*アタッチされているインスタンスを選択するには、 の属性パス`GroupId`と、各フィルターに 1 つのセキュリティグループ ID を持つ複数のフィルターを指定します。例えば、次のようになります。

```
"filters": [
    {
        "path": "NetworkInterfaces.Groups.GroupId",
        "values": [
            "sg-a0011223344556677"
        ]
    },
    {
        "path": "NetworkInterfaces.Groups.GroupId",
        "values": [
            "sg-b9988776655443322"
        ]
    }
],
```<a name="filter-db-clusters"></a>

**例: Amazon RDS クラスター (DB クラスター)**  
**aws:rds:cluster** リソースタイプをサポートするアクションのフィルタを指定すると、 AWS FIS は Amazon RDS **describe-db-clusters** コマンドを実行し、フィルタを適用してターゲットを識別します。

**describe-db-clusters** コマンドは各 DB クラスターに対して次のような JSON 出力を返します。以下に示したのは、*斜体*でマークされたフィールドがある出力の一部です。これらのフィールドを使用して、JSON 出力の構造から属性パスを指定する例を紹介します。

```
[
    {
        "AllocatedStorage": 1,
        "AvailabilityZones": [
            "us-east-2a",
            "us-east-2b",
            "us-east-2c"
        ],
        "BackupRetentionPeriod": 7,
        "DatabaseName": "",
        "DBClusterIdentifier": "database-1",
        "DBClusterParameterGroup": "default.aurora-postgresql11",
        "DBSubnetGroup": "default-vpc-01234567abc123456",
        "Status": "available",
        "EarliestRestorableTime": "2020-11-13T15:08:32.211Z",
        "Endpoint": "database-1.cluster-example.us-east-2.rds.amazonaws.com",
        "ReaderEndpoint": "database-1.cluster-ro-example.us-east-2.rds.amazonaws.com",
        "MultiAZ": false,
        "Engine": "aurora-postgresql",
        "EngineVersion": "11.7",
        ...
    }
]
```

特定の DB エンジンを使用する DB クラスターのみを返すリソースフィルターを適用するには、次の例に示すように `Engine` として属性パス `aurora-postgresql` として値を指定します。

```
"filters": [
    {
        "path": "Engine",
        "values": [ "aurora-postgresql" ]
    }
],
```

特定のアベイラビリティーゾーン内の DB クラスターのみを返すリソースフィルターを適用するには、次の例に示すように、属性のパスと値を指定します。

```
"filters": [
    {
        "path": "AvailabilityZones",
        "values": [ "us-east-2a" ] 
    }
],
```