AWSFirehoseVpcConfigurationDescription

Objective-C

@interface AWSFirehoseVpcConfigurationDescription

Swift

class AWSFirehoseVpcConfigurationDescription

The details of the VPC of the Amazon ES destination.

Required parameters: [SubnetIds, RoleARN, SecurityGroupIds, VpcId]

  • The ARN of the IAM role that the delivery stream uses to create endpoints in the destination VPC. You can use your existing Firehose delivery role or you can specify a new role. In either case, make sure that the role trusts the Firehose service principal and that it grants the following permissions:

    • ec2:DescribeVpcs

    • ec2:DescribeVpcAttribute

    • ec2:DescribeSubnets

    • ec2:DescribeSecurityGroups

    • ec2:DescribeNetworkInterfaces

    • ec2:CreateNetworkInterface

    • ec2:CreateNetworkInterfacePermission

    • ec2:DeleteNetworkInterface

    If you revoke these permissions after you create the delivery stream, Firehose can’t scale out by creating more ENIs when necessary. You might therefore see a degradation in performance.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSString *_Nullable roleARN;

    Swift

    var roleARN: String? { get set }
  • The IDs of the security groups that Firehose uses when it creates ENIs in the VPC of the Amazon ES destination. You can use the same security group that the Amazon ES domain uses or different ones. If you specify different security groups, ensure that they allow outbound HTTPS traffic to the Amazon ES domain’s security group. Also ensure that the Amazon ES domain’s security group allows HTTPS traffic from the security groups specified here. If you use the same security group for both your delivery stream and the Amazon ES domain, make sure the security group inbound rule allows HTTPS traffic. For more information about security group rules, see Security group rules in the Amazon VPC documentation.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray<NSString *> *_Nullable securityGroupIds;

    Swift

    var securityGroupIds: [String]? { get set }
  • The IDs of the subnets that Firehose uses to create ENIs in the VPC of the Amazon ES destination. Make sure that the routing tables and inbound and outbound rules allow traffic to flow from the subnets whose IDs are specified here to the subnets that have the destination Amazon ES endpoints. Firehose creates at least one ENI in each of the subnets that are specified here. Do not delete or modify these ENIs.

    The number of ENIs that Firehose creates in the subnets specified here scales up and down automatically based on throughput. To enable Firehose to scale up the number of ENIs to match throughput, ensure that you have sufficient quota. To help you calculate the quota you need, assume that Firehose can create up to three ENIs for this delivery stream for each of the subnets specified here. For more information about ENI quota, see Network Interfaces in the Amazon VPC Quotas topic.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSArray<NSString *> *_Nullable subnetIds;

    Swift

    var subnetIds: [String]? { get set }
  • The ID of the Amazon ES destination’s VPC.

    Declaration

    Objective-C

    @property (nonatomic, strong) NSString *_Nullable vpcId;

    Swift

    var vpcId: String? { get set }