Use a classic loadbalancer instead of networklb

This commit is contained in:
nemunaire 2026-06-06 10:54:14 +09:00
commit 52127d2266

75
host.go
View file

@ -7,7 +7,7 @@ import (
"github.com/pulumi/pulumi-oci/sdk/go/oci/core" "github.com/pulumi/pulumi-oci/sdk/go/oci/core"
"github.com/pulumi/pulumi-oci/sdk/go/oci/identity" "github.com/pulumi/pulumi-oci/sdk/go/oci/identity"
"github.com/pulumi/pulumi-oci/sdk/go/oci/networkloadbalancer" "github.com/pulumi/pulumi-oci/sdk/go/oci/loadbalancer"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi" "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config" "github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
) )
@ -16,13 +16,15 @@ func setupHostMain(ctx *pulumi.Context, ocicfg *config.Config, compartment *iden
cfg := config.New(ctx, "") cfg := config.New(ctx, "")
// Setup load-balancer // Setup load-balancer
nlb, err := networkloadbalancer.NewNetworkLoadBalancer(ctx, "happy-nlb", &networkloadbalancer.NetworkLoadBalancerArgs{ nlb, err := loadbalancer.NewLoadBalancer(ctx, "happy-nlb", &loadbalancer.LoadBalancerArgs{
DisplayName: pulumi.Sprintf("%s-happy-nlb", ctx.Stack()), DisplayName: pulumi.Sprintf("%s-happy-nlb", ctx.Stack()),
SubnetId: subnet.ID(), CompartmentId: compartment.ID(),
CompartmentId: compartment.ID(), SubnetIds: pulumi.StringArray{subnet.ID()},
IsPreserveSourceDestination: pulumi.Bool(false), Shape: pulumi.String("flexible"),
IsPrivate: pulumi.Bool(false), ShapeDetails: &loadbalancer.LoadBalancerShapeDetailsArgs{
NlbIpVersion: pulumi.String("IPV4"), MaximumBandwidthInMbps: pulumi.Int(10),
MinimumBandwidthInMbps: pulumi.Int(10),
},
}) })
if err != nil { if err != nil {
return err return err
@ -30,17 +32,41 @@ func setupHostMain(ctx *pulumi.Context, ocicfg *config.Config, compartment *iden
ctx.Export("nlb-ip", nlb.IpAddresses) ctx.Export("nlb-ip", nlb.IpAddresses)
nlbset4, err := networkloadbalancer.NewBackendSet(ctx, "happydomain-nlbset4", &networkloadbalancer.BackendSetArgs{ nlbset4, err := loadbalancer.NewBackendSet(ctx, "happy-nlbset4", &loadbalancer.BackendSetArgs{
HealthChecker: &networkloadbalancer.BackendSetHealthCheckerArgs{ HealthChecker: &loadbalancer.BackendSetHealthCheckerArgs{
Protocol: pulumi.String("TCP"),
Port: pulumi.Int(443),
},
Name: pulumi.Sprintf("%s-happy-nlbset4", ctx.Stack()),
LoadBalancerId: nlb.ID(),
Policy: pulumi.String("LEAST_CONNECTIONS"),
})
if err != nil {
return err
}
_, err = loadbalancer.NewListener(ctx, "local-ia-listener4", &loadbalancer.ListenerArgs{
DefaultBackendSetName: nlbset4.Name,
Name: pulumi.Sprintf("%s-happy-nlb-listen4", ctx.Stack()),
LoadBalancerId: nlb.ID(),
Port: pulumi.Int(443),
Protocol: pulumi.String("TCP"),
})
if err != nil {
return err
}
/*nlbset6, err := loadbalancer.NewBackendSet(ctx, "happy-nlbset6", &loadbalancer.BackendSetArgs{
HealthChecker: &loadbalancer.BackendSetHealthCheckerArgs{
Protocol: pulumi.String("HTTPS"), Protocol: pulumi.String("HTTPS"),
Port: pulumi.Int(443), Port: pulumi.Int(443),
UrlPath: pulumi.String("/api/version"), UrlPath: pulumi.String("/api/version"),
ReturnCode: pulumi.Int(200), ReturnCode: pulumi.Int(200),
}, },
Name: pulumi.Sprintf("%s-happydomain-nlbset4", ctx.Stack()), Name: pulumi.Sprintf("%s-happy-nlbset6", ctx.Stack()),
NetworkLoadBalancerId: nlb.ID(), LoadBalancerId: nlb.ID(),
Policy: pulumi.String("FIVE_TUPLE"), Policy: pulumi.String("FIVE_TUPLE"),
IpVersion: pulumi.String("IPV4"), IpVersion: pulumi.String("IPV6"),
IsPreserveSource: pulumi.Bool(true), IsPreserveSource: pulumi.Bool(true),
IsFailOpen: pulumi.Bool(true), IsFailOpen: pulumi.Bool(true),
}) })
@ -48,17 +74,17 @@ func setupHostMain(ctx *pulumi.Context, ocicfg *config.Config, compartment *iden
return err return err
} }
_, err = networkloadbalancer.NewListener(ctx, "happydomain-listener4", &networkloadbalancer.ListenerArgs{ _, err = loadbalancer.NewListener(ctx, "local-ia-listener6", &loadbalancer.ListenerArgs{
DefaultBackendSetName: nlbset4.Name, DefaultBackendSetName: nlbset6.Name,
Name: pulumi.Sprintf("%s-happydomain-nlb-listen4", ctx.Stack()), Name: pulumi.Sprintf("%s-happy-nlb-listen6", ctx.Stack()),
NetworkLoadBalancerId: nlb.ID(), LoadBalancerId: nlb.ID(),
Port: pulumi.Int(0), Port: pulumi.Int(0),
Protocol: pulumi.String("TCP"), Protocol: pulumi.String("TCP"),
IpVersion: pulumi.String("IPV4"), IpVersion: pulumi.String("IPV6"),
}) })
if err != nil { if err != nil {
return err return err
} }*/
// Get boot image // Get boot image
imageId := compartment.CompartmentId.ApplyT(func(id string) string { imageId := compartment.CompartmentId.ApplyT(func(id string) string {
@ -152,12 +178,11 @@ func setupHostMain(ctx *pulumi.Context, ocicfg *config.Config, compartment *iden
ctx.Export("instance-ip", instance.PublicIp) ctx.Export("instance-ip", instance.PublicIp)
// Add host to backend // Add host to backend
_, err = networkloadbalancer.NewBackend(ctx, "happydomain-lb4", &networkloadbalancer.BackendArgs{ _, err = loadbalancer.NewBackend(ctx, "happydomain-lb4", &loadbalancer.BackendArgs{
BackendSetName: nlbset4.Name, BackendsetName: nlbset4.Name,
NetworkLoadBalancerId: nlb.ID(), LoadBalancerId: nlb.ID(),
Port: pulumi.Int(0), Port: pulumi.Int(443),
IpAddress: instance.PrivateIp, IpAddress: instance.PrivateIp,
TargetId: instance.ID(),
}) })
if err != nil { if err != nil {
return err return err