Step function integration with internal API using http task

0

Hello, Step functions now provides direct integration with 3rd party APIs instead of using lambdas for API invocation. I was able to integrate external API with Step function by following this article. https://docs.aws.amazon.com/step-functions/latest/dg/connect-third-party-apis.html.

But this is failing if integrated with internal API with an error like 'Unable to resolve domain 'internal api url here' to IpV4 address.

Does this mean internal APIs that are not publicly exposed can't be used? I wouldn't want to make this API public just to get the integration working or to set up an API gateway. Is there any other way than using lambda?

Thank you!

veera
已提问 1 个月前101 查看次数
3 回答
0
已接受的回答

You are correct. HTTP tasks do not support private endpoints. To call thise endpoints, you will need to use a Lambda function that you attache to the VPC and let it make the call.

profile pictureAWS
专家
Uri
已回答 1 个月前
0

You can also use API Gateway with Private Integration

已回答 25 天前
  • API Gateway with private integration wouldn't work as the Step function will not be able to resolve the DNS.

  • Actually, this is another option. API Gateway has private or public endpoints, and also, public or private integrations (using VPC link). In this case the recommendation is to use an API Gateway with a Public endpoint, which can be accessed from EventBridge, and a private integration, using VPC Link, to the internal API.

  • Creating a public endpoint would no longer mean it is a private and defeats the whole purpose. I implemented this with lambda function attached to the VPC and invoking the private API from that.

0

API Gateway with private integration wouldn't work as the Step function will not be able to resolve the DNS.

veera
已回答 25 天前
  • You could block external access to the API with a policy or IAM authentication. It works and it should have a lower latency, but a Lambda function is easier. And if you use Step Functions, probably latency is not a concern

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则