Traffic Mirror Session Args
Provides an Traffic mirror session. Read limits and considerations for traffic mirroring
Example Usage
To create a basic traffic mirror session
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const filter = new aws.ec2.TrafficMirrorFilter("filter", {
description: "traffic mirror filter - example",
networkServices: ["amazon-dns"],
});
const target = new aws.ec2.TrafficMirrorTarget("target", {networkLoadBalancerArn: lb.arn});
const session = new aws.ec2.TrafficMirrorSession("session", {
description: "traffic mirror session - example",
networkInterfaceId: test.primaryNetworkInterfaceId,
sessionNumber: 1,
trafficMirrorFilterId: filter.id,
trafficMirrorTargetId: target.id,
});
import pulumi
import pulumi_aws as aws
filter = aws.ec2.TrafficMirrorFilter("filter",
description="traffic mirror filter - example",
network_services=["amazon-dns"])
target = aws.ec2.TrafficMirrorTarget("target", network_load_balancer_arn=lb["arn"])
session = aws.ec2.TrafficMirrorSession("session",
description="traffic mirror session - example",
network_interface_id=test["primaryNetworkInterfaceId"],
session_number=1,
traffic_mirror_filter_id=filter.id,
traffic_mirror_target_id=target.id)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var filter = new Aws.Ec2.TrafficMirrorFilter("filter", new()
{
Description = "traffic mirror filter - example",
NetworkServices = new[]
{
"amazon-dns",
},
});
var target = new Aws.Ec2.TrafficMirrorTarget("target", new()
{
NetworkLoadBalancerArn = lb.Arn,
});
var session = new Aws.Ec2.TrafficMirrorSession("session", new()
{
Description = "traffic mirror session - example",
NetworkInterfaceId = test.PrimaryNetworkInterfaceId,
SessionNumber = 1,
TrafficMirrorFilterId = filter.Id,
TrafficMirrorTargetId = target.Id,
});
});
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
filter, err := ec2.NewTrafficMirrorFilter(ctx, "filter", &ec2.TrafficMirrorFilterArgs{
Description: pulumi.String("traffic mirror filter - example"),
NetworkServices: pulumi.StringArray{
pulumi.String("amazon-dns"),
},
})
if err != nil {
return err
}
target, err := ec2.NewTrafficMirrorTarget(ctx, "target", &ec2.TrafficMirrorTargetArgs{
NetworkLoadBalancerArn: pulumi.Any(lb.Arn),
})
if err != nil {
return err
}
_, err = ec2.NewTrafficMirrorSession(ctx, "session", &ec2.TrafficMirrorSessionArgs{
Description: pulumi.String("traffic mirror session - example"),
NetworkInterfaceId: pulumi.Any(test.PrimaryNetworkInterfaceId),
SessionNumber: pulumi.Int(1),
TrafficMirrorFilterId: filter.ID(),
TrafficMirrorTargetId: target.ID(),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ec2.TrafficMirrorFilter;
import com.pulumi.aws.ec2.TrafficMirrorFilterArgs;
import com.pulumi.aws.ec2.TrafficMirrorTarget;
import com.pulumi.aws.ec2.TrafficMirrorTargetArgs;
import com.pulumi.aws.ec2.TrafficMirrorSession;
import com.pulumi.aws.ec2.TrafficMirrorSessionArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var filter = new TrafficMirrorFilter("filter", TrafficMirrorFilterArgs.builder()
.description("traffic mirror filter - example")
.networkServices("amazon-dns")
.build());
var target = new TrafficMirrorTarget("target", TrafficMirrorTargetArgs.builder()
.networkLoadBalancerArn(lb.arn())
.build());
var session = new TrafficMirrorSession("session", TrafficMirrorSessionArgs.builder()
.description("traffic mirror session - example")
.networkInterfaceId(test.primaryNetworkInterfaceId())
.sessionNumber(1)
.trafficMirrorFilterId(filter.id())
.trafficMirrorTargetId(target.id())
.build());
}
}
resources:
filter:
type: aws:ec2:TrafficMirrorFilter
properties:
description: traffic mirror filter - example
networkServices:
- amazon-dns
target:
type: aws:ec2:TrafficMirrorTarget
properties:
networkLoadBalancerArn: ${lb.arn}
session:
type: aws:ec2:TrafficMirrorSession
properties:
description: traffic mirror session - example
networkInterfaceId: ${test.primaryNetworkInterfaceId}
sessionNumber: 1
trafficMirrorFilterId: ${filter.id}
trafficMirrorTargetId: ${target.id}
Import
Using pulumi import
, import traffic mirror sessions using the id
. For example:
$ pulumi import aws:ec2/trafficMirrorSession:TrafficMirrorSession session tms-0d8aa3ca35897b82e
Constructors
Properties
A description of the traffic mirror session.
ID of the source network interface. Not all network interfaces are eligible as mirror sources. On EC2 instances only nitro based instances support mirroring.
The number of bytes in each packet to mirror. These are bytes after the VXLAN header. Do not specify this parameter when you want to mirror the entire packet. To mirror a subset of the packet, set this to the length (in bytes) that you want to mirror.
The session number determines the order in which sessions are evaluated when an interface is used by multiple sessions. The first session with a matching filter is the one that mirrors the packets.
ID of the traffic mirror filter to be used
ID of the traffic mirror target to be used
The VXLAN ID for the Traffic Mirror session. For more information about the VXLAN protocol, see RFC 7348. If you do not specify a VirtualNetworkId, an account-wide unique id is chosen at random.