Overview
IBM webMethods Hybrid Integration allows the creation of integrations using the IBM App Connect capability. By default, integration flows running in App Connect are accessible via public internet endpoints. However, many enterprise customers require their internal applications to securely access these integration flows without exposing them to the public internet.
This article demonstrates how to enable ingress connectivity - allowing applications running in a customer's private AWS VPC to securely call App Connect integration flows using AWS PrivateLink. When using this approach, the App Connect endpoints are only accessible from the customer's private network and are not exposed to the public internet.
This enables enterprise-grade security for integration scenarios where internal applications need to invoke cloud-based integration flows while maintaining complete network isolation.
Use Case Scenario
A financial services company operates a loan processing system that has strict requirements for secure networking connectivity. They want to leverage IBM App Connects powerful integration capabilities to:
- Validate loan applications by calling multiple partner APIs.
- Enrich customer data by integrating with data from the company's systems of record.
- Send notifications through various channels (email, SMS, webhooks).
- Archive documents to cloud storage services.
However, their security requirements mandate that:
- The loan processing application must remain in their private VPC.
- No public internet exposure of integration endpoints.
- All traffic must flow through private, encrypted connections.
- Compliance with financial industry regulations.
The solution uses AWS PrivateLink to create a private connection from their VPC to the App Connect service, allowing their loan processing application to securely invoke integration flows without any public internet exposure.
Architecture Flow
[Loan Processing App] → [Private Subnet] → [VPC Endpoint] → [AWS PrivateLink] → [VPC Endpoint Service] → [App Connect Integration Runtime] → [External APIs/Services]
Key Components:
- Customer VPC: Contains the loan processing application in a private subnet.
- VPC Endpoint: AWS PrivateLink endpoint in the customer's VPC.
- Route53 Private Hosted Zone: DNS configuration for private access.
- VPC Endpoint Service: Configured in the App Connect/IWHI environment.
- App Connect Runtime: Hosts the integration flows that process requests.
- External Services: Third-party APIs accessed by the integration flows.
The integration flow receives loan application data from the private application, orchestrates calls to multiple external services (credit bureaus, document storage, notification services), and returns the consolidated results - all while maintaining the security boundary of the customer's private network.
Prerequisites
To follow this tutorial and set up a similar system, you will need:
- One of these Required Role(s) in webMethods Hybrid Integration:
- Service admin: Enables you to manage capabilities in a specific environment.
- iPaaS admin: Enables you to manage capabilities across all environments in a specific subscription.
- For more information about permissions, see the Roles documentation .
- Enable Private Network Connections and App Connect Capabilities:
- You must have the App Connect capability enabled and added to your environment.
- You must have the Private network connections capability enabled and added to your environment.
- For more information, see Configuring private network connections .
- AWS Account Access with permissions to:
- Create and manage VPCs.
- Create VPC Endpoints (Interface Endpoints).
- Create and manage Route53 Private Hosted Zones.
- Configure security groups.
- Create IAM roles (for service consumer ARN).
- Launch EC2 instances (for testing).
- Familiarity with AWS PrivateLink:
- Important Restrictions:
- Private network connections are not currently available in Microsoft Azure regions.
- You can only create private network connections within the same region as your App Connect environment.
- To view your environment region, click Manage capabilities → Environment details tab.
- This guide focuses specifically on App Connect capability private network connections.
Architecture Overview
The complete architecture for ingress connectivity looks like this:
Traffic Flow:
- Application in customer's private subnet makes HTTPS request to integration endpoint.
- DNS query resolves to VPC Endpoint private IP via Route53 Private Hosted Zone.
- Request is routed to VPC Endpoint (Interface Endpoint) in the same VPC.
- AWS PrivateLink securely forwards the request to the VPC Endpoint Service.
- Network Load Balancer distributes traffic to App Connect runtime instances.
- Integration flow processes the request and returns response through the same private path.
Implementation Guide
This tutorial will guide you through the complete setup process following the official IBM webMethods Hybrid Integration workflow. The process involves:
- Configure the inbound connection in IWHI - Start the wizard and provide your AWS account details.
- Wait for environment preparation - IWHI prepares the VPC Endpoint Service.
- Create VPC infrastructure in AWS - Set up VPC, subnets, and VPC Endpoint.
- Create Route53 Private Hosted Zone - Configure DNS for private access.
- Complete the connection - Finish the wizard and verify connectivity.
- Deploy and test - Create integration flows and test from your VPC.
Step 1: Start the Configure Inbound Connection Wizard in IWHI
▸ 1.1: Access Private Network Connections
- Log into your IBM webMethods Hybrid Integration console.
- On the main menu, click Private network connections.
- On the Private network connections tab, click Create.
- Select the AWS PrivateLink (Inbound) tile.
- (Optional) You can use the default name for the connection or create your own.
- Names must start and end with a lowercase alphanumeric character.
- Names must be between 2-20 characters.
- Example: "loan-app-ingress".
- Click Next
- The Configure inbound connection wizard opens.
▸ 1.2: Enter AWS Account Details
- In the wizard, you'll be prompted to enter your AWS account details.

- Enter the Amazon Resource Name (ARN) of the service consumer:
- The service consumer is the AWS account where the private endpoint will be created.
- Providing the ARN means that connection requests from your AWS account will be automatically accepted.
- You can create an AWS IAM role to use as the service consumer.
ARN Format:
For more information about AWS ARN formats, see Amazon Resource Names in the AWS documentation.
Example:
arn:aws:iam::123412341234:user/samsmith
For more information about creating IAM roles, see IAM role creation in the AWS documentation.
- Click Next
▸ 1.3: Wait for Environment Preparation
- The wizard will display a message: "Preparing environment".
- Your webMethods Hybrid Integration environment is being prepared so that it can be called by an AWS PrivateLink endpoint.
- This process typically takes 3-5 minutes.
- You can use this time to familiarize yourself with the AWS documentation about how to create a VPC endpoint .
- When the status message updates to "Environment is ready", click Next.
The wizard will now display the "Set up connections" page with the information you need to configure AWS resources.
▸ 1.4: Note the Connection Details
On the "Set up connections" page, you'll see the following information that you'll need for AWS configuration:
- Service name: A unique identifier for your webMethods Hybrid Integration environment.
- Format: "com.amazonaws.vpce.{region}.vpce-svc-{service-id}".
- Example: "com.amazonaws.vpce.eu-central-1.vpce-svc-0a1b2c3d4e5f6g7h8".
- Copy and save this - you'll need it to create the VPC Endpoint.
- Private DNS name: The DNS name pattern for accessing App Connect runtimes.
- Format: "*.private.{environment-id}.appconnect.ipaas.ibmappdomain.cloud".
- Example: "*.private.a-vir-s1.appconnect.ipaas.ibmappdomain.cloud".
- The "*" represents the App Connect runtime hostname.
- Domain name: The base domain for the Route53 hosted zone.
- This is the last part of the Private DNS name.
- Example: "ipaas.ibmappdomain.cloud".
- Record name: The subdomain for the DNS record.
- This is the first part of the Private DNS name.
- Example: "*.private.a-vir-s1.appconnect".
Keep this page open - you'll refer to it while configuring AWS resources.
Step 2: Create VPC Infrastructure in AWS
Now you'll create the necessary AWS infrastructure to connect to the IWHI environment.
▸ Naming Convention
For this tutorial, we'll use the naming prefix "loan-app" for all AWS components. Feel free to replace this with your own naming convention.
▸ 2.1: Create VPC and Subnets
If you don't already have a VPC, create one:
- Log into your AWS Console and navigate to the VPC service.
- Ensure you're in the correct region (must match your IWHI instance region).
- Click Create VPC and select VPC and more.
- Configure the VPC:
- Name tag auto-generation: "loan-app-vpc".
- IPv4 CIDR block: "10.0.0.0/16".
- IPv6 CIDR block: No IPv6 CIDR block.
- Tenancy: Default.
- Configure subnets:
- Number of Availability Zones: 1.
- Number of public subnets: 1.
- Number of private subnets: 1 (for applications).
- Configure NAT Gateway:
- This allows private subnet instances to access the internet for updates.
- Ignoring for this tutorial as no need for our VPC to call the public Internet.
- DNS options:
- Enable DNS hostnames: Yes.
- Enable DNS resolution: Yes.
- Click Create VPC.
▸ 2.2: Create VPC Endpoint
Now create the Interface VPC Endpoint that connects to the IWHI App Connect service:
- In the VPC console, navigate to Endpoints in the left sidebar.
- Click Create endpoint.
- Endpoint settings
Name tag:
- Provide a name tag that describes your new endpoint.
- Example: "loan-app-appconnect-endpoint".
- This represents the webMethods Hybrid Integration environment and that it's an inbound service.
Type:
- Select Endpoint services that use NLBs and GWLBs.
Service name:
- Copy the Service name from the "Set up connections" page in the IWHI wizard.
- Paste it into the Service name field in AWS.
- Example: "com.amazonaws.vpce.eu-central-1.vpce-svc-0a1b2c3d4e5f6g7h8".
- Click Verify service.
- You should see a message: "Service name verified".
VPC:
- Select your VPC (e.g., "loan-app-vpc").
- Subnets: Select the private subnets where your applications will run.
- Choose subnets in multiple AZs for high availability, for our case we just have the one private subnet available: "loan-app-vpc-subnet-private1-us-east-1b".
DNS options:
- Enable private DNS name: false (we'll use Route53 for DNS).
- Security groups:
- Create a new security group or select an existing one that allows similar traffic.
Inbound rules must allow:
- Type: HTTPS.
- Protocol: TCP.
- Port: 443.
- Source: Your VPC CIDR (e.g., "10.0.0.0/16") or specific application security groups.
Outbound rules:
- Type: All traffic.
- Destination: "0.0.0.0/0".
- Click Create endpoint.
The endpoint creation will take 5-10 minutes. The status will change from "Pending" to "Available".
Note the VPC Endpoint ID - you'll need it for the Route53 configuration. It will look like:
vpce-0d0c61697f89a5660
Step 3: Create Route53 Private Hosted Zone
Now you'll create a private hosted zone with DNS records that point to your VPC Endpoint.
▸ 3.1: Create the Hosted Zone
- In the AWS Console, navigate to Route53.
- In the left sidebar, click Hosted zones.
- Click Create hosted zone.
- Hosted zone configuration:
Domain name:
- Copy the domain name from the "Set up connections" page in the IWHI wizard.
- Paste it into the Domain name field - be sure to remove the asterisk prefix.
- This is the last part of the Private DNS name value.
- Example: "private.a-vir-s1.appconnect.ipaas.ibmappdomain.cloud".
Description (optional):
- Provide a description of the domain.
- Example: "Private hosted zone for App Connect integration endpoints".
Type:
- Select Private hosted zone.
VPCs to associate with the hosted zone:
- Region: Select your region (e.g., "us-east-1").
- VPC ID: Select your VPC (e.g., "loan-app-vpc").
- Click Create hosted zone.
Step 4: Complete the Connection in IWHI
Now return to the IWHI wizard to complete the configuration:
- Return to the Configure inbound connection wizard in the IWHI console.
- You should still be on the "Set up connections" page.
- After completing the AWS configuration (VPC Endpoint and Route53), click Finish.
- The wizard closes and you're returned to the Private network connections page.
- Your new AWS PrivateLink (Inbound) connection is listed in the table with a status of "Waiting for endpoint availability".
- After the interface VPC Endpoint is fully available in AWS (usually 5-10 minutes), the status will change to "Ready".
Troubleshooting: If the connection status shows "Error":
- Hover your cursor over the error icon to view the error message.
- Click the options menu (three dots) and select View details to review the connection properties.
Common issues:
- VPC Endpoint not in "Available" state.
- If needed, delete the connection and create a new one with the correct configuration.
Step 5: Deploy Integration Flow
Now that the private connection is established, let's deploy an integration flow in App Connect that we can test calling over the private link connection. You can deploy flows authored in both Designer or Toolkit, and for purposes of this example we will use Designer.
▸ 5.1: Create a Sample Integration Flow
- Log into the IWHI App Connect Designer.
- Create a new flow for API:
- Name: "Loan Validation API".
- Model: loan.
- Let’s add a property for creditScore to the loan model.
- Add an Operation to create a new Loan:
- Now implement the flow - for a production case this is where you would be adding the integration logic for validating input data, calling other services required for the loan validation etc. In our case we will simply get the flow to return a static data response so we can test the API call quickly.
- Save and test the flow in the Designer.
▸ 5.2: Deploy the Flow
- In the App Connect Designer, click Deploy.
- Select deployment options:
- Runtime: Create a new runtime or deploy to an existing one.
- Click Deploy.
The deployment will take 2-3 minutes. Once deployed, note the runtime hostname (e.g., "runtime-abc123").
▸ 5.3: Configure API Security
- Navigate to Manage → Runtimes.
- Select your Runtime.
- Navigate to the Security tab - here take note of the public Host of the Runtime, as well as the BasicAuth credentials required to call the runtimes endpoint.
▸ 5.4: Construct the Private Endpoint URL
Your integration flow will soon be accessible via the private DNS name:
URL Format:
https://{runtime-hostname}.private.{environment-id}.appconnect.ipaas.ibmappdomain.cloud/{base-path}/{endpoint}
Example:
The public URL:
https://loan-service-https-acdev6375817.a-vir-s1.appconnect.ipaas.ibmappdomain.cloud
The private URL:
https://loan-service-https-acdev6375817.private.a-vir-s1.appconnect.ipaas.ibmappdomain.cloud
Where:
- "loan-service-https-acdev6375817" is your App Connect runtime hostname.
- "a-vir-s1" is your environment ID.
- "appconnect" is the capability.
- "ipaas.ibmappdomain.cloud" is the base domain.
The final step is to configure a DNS CNAME record within the Private Hosted Zone we created in Route53 earlier. This will forward traffic for the runtime's private endpoint through the VPC Endpoint to the connected Endpoint Service for your IWHI instance.
Step 6: Create DNS Records per flow endpoint
▸ 6.1: Create DNS Record
Now create a CNAME record that points to your VPC Endpoint:
- Open the hosted zone you created previously.
- Click Create record.
- Record configuration:
Record name:
- This will be your runtime hostname from before - in my case that was:
‘loan-service-https-acdev6375817’.
Record type:
Alias:
- Toggle Alias to Off.
- Set the value to the DNS Name on the Endpoint Service we created earlier - in my case it was:
"vpce-0d0c61697f89a5660-jmwu8f09.vpce-svc-01103498bb801b6dd.us-east-1.vpce.amazonaws.com".
Routing policy:
- Ensure Simple routing is selected.
- Click Create records.
Note: This DNS record enables private access to the specific App Connect runtime we setup in our IWHI App Connect instance. To route additional runtimes, you will need to create additional DNS records. Each record should be for a unique VPC endpoint.
Step 7: Test from Customer VPC
Now let's test the connection from an application running in your private VPC.
▸ 7.1: Launch EC2 Instance in Private Subnet
- In the AWS Console, navigate to EC2 → Instances.
- Click Launch instance.
- Configure the instance:
- Name: "loan-app-test-instance".
- AMI: Amazon Linux 2023.
- Instance type: t3.micro (free tier eligible).
- Key pair: Create or select an existing key pair.
- Network settings:
- VPC: "loan-app-vpc".
- Subnet: Select a private subnet (e.g., "loan-app-vpc-subnet-private1-us-east-1b").
- Auto-assign public IP: Enable (Only for our SSH testing).
- Security group: Create new or select existing.
- Inbound rules: Allow SSH from My IP for SSH access to test.
- Outbound rules: Allow HTTPS (443) to VPC Endpoint security group.
- Click Launch instance.
▸ 7.2: Connect to the Instance
As a temporary measure to enable SSH connections from outside the VPC - you can configure the Route table for the private subnet your application is running to accept a destination for the Internet Gateway that will have been created at the VPC creation time.