(transfer): How to get the subnet ip addresses of a SFTP server hosted in a VPC?
See original GitHub issueDescription
I created an sftp server and I use the option endpointType: 'VPC'
.
The idea was to put the sftp server under a network load balancer allowing us to enhance the security and change the port to connect to the sftp server.
To do that, I attached the sftp server to two different subnets (from two different AZs) belonging to the same VPC.
The problem is once the sftp server is created, it is difficult to get the two IP addresses allocated to the sftp server (one per subnet)
This is what I would like to have and is red in the following image:
Use Case
I need these two IP addresses in my case for the network load balancer where I use them in the target group:
const targetGroup = new elb.NetworkTargetGroup(this, 'fcxPrintSftpServerTargetGroup', {
port: 22,
vpc: vpc,
protocol: elb.Protocol.TCP,
targetType: elb.TargetType.IP,
});
// my use case
targetGroup.addTarget(new elbTargets.IpTarget(sftpServerIpSubnet1, 22));
targetGroup.addTarget(new elbTargets.IpTarget(sftpServerIpSubnet2, 22));
Problem: currently it is difficult to get sftpServerIpSubnet1
and sftpServerIpSubnet2
.
I tried something like:
sftpServer.endpointDetails.addressAllocationIds
But typescript did not like it because: endpointDetails is type CfnServer.EndpointDetailsProperty | cdk.IResolvable
Proposed Solution
Add the attribute endpointConfiguration
to CfnServer
sftpServer.endpointConfiguration
And we could have the ip addresses as followed:
const sftpServerIpAddresses = sftpServer.endpointConfiguration.PrivateIPv4Address;
console.log(sftpServerIpAddresses[0]);
console.log(sftpServerIpAddresses[1]);
Feedback: for the naming convention, it is great to follow the AWS console. This is why I suggested endpointConfiguration.PrivateIPv4Address
, it matches the screenshot of the AWS console I previously shared.
Other
I also created a stackoverflow question: https://stackoverflow.com/questions/67099895/how-to-get-the-subnet-ip-addresses-of-a-sftp-server-hosted-in-a-vpc-with-aws-cdk
Maybe the answer is simple or maybe we need to use a custom resource for that, as mentioned in issue 11374: https://github.com/aws/aws-cdk/issues/11374
- 👋 I may be able to implement this feature request
- ⚠️ This feature might incur a breaking change
Issue Analytics
- State:
- Created 2 years ago
- Reactions:2
- Comments:5 (2 by maintainers)
@gcaggia Yes this would require both a custom resource and an initial implementation of an L2 construct for
CfnServer
.We are unassigning and marking this issue as p2, which means that we are unable to work on this immediately. We use +1s to help prioritize our work, and are happy to revaluate this issue based on community feedback. You can reach out to the cdk.dev community on Slack to solicit support for reprioritization.
This issue has not received any attention in 1 year. If you want to keep this issue open, please leave a comment below and auto-close will be canceled.