Skip to content
This repository was archived by the owner on Nov 19, 2024. It is now read-only.

Commit 0e1dfa4

Browse files
meker12maeker12hguthrie
authored
Added PrivateLink service documentation: (#7425)
* Added PrivateLink service documentation: - Added PrivateLink topic to the Technologies and Requirements section - Documented Privatelink support and features, prerequisites for adding support, and provided the enablement workflow. - Added AWS and Azure documentation links for PrivateLink overview, concepts, and detailed configuration instructions - Updates based on review feedback: - Added test instructions - Added Change PrivateLink configuration - Clarifications and corrections based on review feedback - Fix broken links Co-authored-by: maeker12 <{ID}+{username}@users.noreply.github.com> Co-authored-by: hguthrie <[email protected]>
1 parent bd7d68f commit 0e1dfa4

File tree

5 files changed

+222
-2
lines changed

5 files changed

+222
-2
lines changed

src/_data/toc/cloud-guide.yml

+4
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ pages:
5757
url: /cloud/env/environments-ssh.html
5858
versionless: true
5959

60+
- label: PrivateLink
61+
url: /cloud/project/privatelink-service.html
62+
versionless: true
63+
6064
- label: New Relic
6165
url: /cloud/project/new-relic.html
6266
versionless: true

src/cloud/bk-cloud.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ functional_areas:
55
- Cloud
66
---
77

8-
{{site.data.var.ece}} is a managed, automated hosting platform for the {{site.data.var.ee}} software. {{site.data.var.ece}} comes with a variety of additional features that sets it apart from the on-premise {{site.data.var.ee}} and {{site.data.var.ce}} platforms:
8+
{{site.data.var.ece}} is a managed, automated hosting platform for the {{site.data.var.ee}} software. {{site.data.var.ece}} comes with a variety of additional features that sets it apart from the on-premises {{site.data.var.ee}} and {{site.data.var.ce}} platforms:
99

1010
![Cloud Benefits]
1111

+216
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,216 @@
1+
---
2+
group: cloud-guide
3+
title: PrivateLink service
4+
functional_areas:
5+
- Cloud
6+
- Setup
7+
---
8+
9+
Magento supports integration with the [AWS PrivateLink][] or [Azure Private Link][] service to allow Cloud customers to establish secure, private communication between {{site.data.var.ece}} environments and services and applications hosted on external systems. Both the Magento application and external systems must be accessible through private VPC endpoints configured within the same Cloud region (AWS or Azure).
10+
11+
## Features and support
12+
13+
The PrivateLink service integration for {{site.data.var.ece}} projects includes the following features and support:
14+
15+
- A secure connection between a customer Virtual Private Cloud (VPC) and the Magento VPC within the same Cloud region.
16+
- Support for unidirectional or bidirectional communication between endpoint services available in Magento and Customer VPCs.
17+
- Service enablement–
18+
- Open required ports in the {{site.data.var.ece}} environment
19+
- Establish the initial connection between the customer and Magento VPCs
20+
- Troubleshoot connection issues during enablement
21+
22+
## Limitations
23+
24+
- Support for PrivateLink is available on Pro plan Production and Staging environments only. It is not available on local or integration environments, or on Starter plan projects.
25+
- You cannot establish SSH connections using PrivateLink. For SSH, use the Magento SSH capabilities. See [Enable SSH keys][].
26+
- Magento support does not cover troubleshooting AWS PrivateLink issues beyond initial enablement. Customers have the option to purchase additional support from Magento Services.
27+
- Customers are responsible for costs associated with managing their own VPC.
28+
29+
## PrivateLink connection types
30+
31+
The following network diagram shows the PrivateLink connection types available to establish secure communication between the Magento store and external systems hosted outside of the Cloud environment.<br><br>
32+
33+
![PrivateLink network diagram]
34+
35+
You must determine the PrivateLink connection type required for your {{site.data.var.ece}} environments:
36+
37+
- **Unidirectional PrivateLink**–Choose this configuration to retrieve data securely from a Magento Commerce store.
38+
- **Bidirectional PrivateLink**–Choose this configuration to establish secure connections to and from systems outside of the {{site.data.var.ece}} environment. The bidirectional option requires two connections:
39+
- A connection between the customer VPC and the Magento VPC
40+
- A connection between the Magento VPC and the customer VPC
41+
42+
{:.bs-callout-tip}
43+
Work with your network administrator or Cloud platform provider for help selecting the PrivateLink connection type, or help with VPC setup and administration. Also, see your Cloud platform PrivateLink documentation [AWS PrivateLink][], [Azure Private Link][].
44+
45+
## Request PrivateLink enablement
46+
47+
{:.bs-callout-warning}
48+
Enabling PrivateLink can take up to 5 business days. Providing incomplete, or inaccurate information can delay the process.
49+
50+
### Prerequisites
51+
52+
- {:.fix}A Cloud account (AWS or Azure) in the same region as the {{site.data.var.ece}} instance
53+
- {:.fix}A VPC in the customer environment that hosts the services to connect via PrivateLink. See the AWS or Azure documentation for help with VPC set up or contact your network administrator.
54+
- {:.fix}For bidirectional PrivateLink connections, you must create the endpoint service configuration for your application or service, and create an endpoint in your VPC environment before requesting Magento PrivateLink enablement. See [Set up for bidirectional PrivateLink connections](#set-up-for-bidirectional-privatelink-connections).
55+
- {:.fix}Gather the following data required for PrivateLink enablement:
56+
57+
- **Customer Cloud account number** (AWS or Azure)–Must be in the same region as the {{site.data.var.ece}} instance
58+
- **Cloud region**–Provide the Cloud region where the account is hosted for verification purposes
59+
- **Services and communication ports**–Magento must open ports to enable service communication between VPCs, for example _Webserver, HTTP port 80_, _SFTP port 2222_
60+
- **Magento Cloud Project ID**–Provide the {{site.data.var.ece}} Pro project ID. You can get the Project ID and other project information using the folllowing [Magento Cloud CLI][] command: ```magento-cloud project:info```
61+
- **Connection type**–Specify unidirectional or bidirectional for connection type
62+
- **Service endpoint**–For bidirectional PrivateLink connections, provide the DNS URL for the VPC service endpoint that Magento must connect to, for example `com.amazonaws.vpce.<cloud-region>.vpce-svc-<service-id>`.
63+
64+
### Enablement workflow
65+
66+
The following workflow outlines the enablement process for PrivateLink integration with {{site.data.var.ece}}.
67+
68+
1. **Customer** submits a support ticket requesting PrivateLink enablement with the subject line `PrivateLink support for <company>`. Include the [data required for enablement](#prerequisites) in the ticket.
69+
70+
We use the Support ticket to coordinate communication during the enablement process.
71+
72+
1. **Magento** enables customer account access to the endpoint service in the Magento VPC.
73+
74+
- Update the Magento endpoint service configuration to accept requests initiated from the customer AWS or Azure account.
75+
76+
- Update the Support ticket to provide the service name for the Magento VPC endpoint to connect to, for example `com.amazonaws.vpce.<cloud-region>.vpce-svc-<service-id>`.
77+
78+
1. **Customer** adds the Magento endpoint service to their Cloud account (AWS or Azure), which triggers a connection request to Magento. See the Cloud platform documentation for instructions:
79+
80+
- For AWS, see [Accepting and rejecting interface endpoint connection requests][].
81+
- For Azure, see [Manage connection requests][].
82+
83+
1. **Magento** approves the connection request.
84+
85+
1. After connection request approval, **the customer** [verifies the connection](#test-vpc-endpoint-service-connection) between their VPC and the Magento VPC.
86+
87+
1. Additional steps to enable bidirectional connections:
88+
89+
- **Magento** supplies the Magento account principal (root user for AWS or Azure account) and requests access to the customer VPC endpoint service.
90+
91+
- **Customer** enables Magento access to the endpoint service in customer VPC.
92+
93+
- Update the customer endpoint service configuration to accept requests initiated from Magento account. See the Cloud platform documentation for instructions:
94+
95+
- For AWS, see [Adding and removing permissions for your endpoint service][].
96+
- For Azure, see [Manage a Private Endpoint connection][]
97+
98+
- Provide Magento with the endpoint service name for the customer VPC.
99+
100+
- **Magento** adds the customer endpoint service to Magento platform account (AWS or Azure), which triggers a connection request to customer VPC.
101+
102+
- **Customer** approves the connection request from Magento to complete the setup.
103+
104+
- **Customer** [verifies the connection](#test-vpc-endpoint-service-connection) from the Magento VPC.
105+
106+
## Test VPC endpoint service connection
107+
108+
You can use the Telnet application to test the connection to the VPC endpoint service.
109+
110+
{:.bs-callout-tip}
111+
For help installing and using Telnet, see [Telnet How-To][] in the Telnet documentation.
112+
113+
{:.procedure}
114+
To test the connection to the VPC endpoint service:
115+
116+
1. Log in to {{site.data.var.ece}} project, and checkout the Staging or Production environment.
117+
118+
```bash
119+
magento-cloud login
120+
```
121+
122+
1. From the project root directory, checkout the environment configured to access the PrivateLink service endpoint.
123+
124+
```bash
125+
magento-cloud environment:checkout <environment-id>
126+
```
127+
128+
1. Run the following CURL command:
129+
130+
```bash
131+
curl telnet://<endpoint-service-dns-url>:<port>/ -vvv
132+
```
133+
134+
For example:
135+
136+
```bash
137+
curl telnet://vpce-004678b7ff06dfxxx-qmmwuxxx.vpce-svc-0aca4ec0ef530xxxx.us-east-1.vpce.amazonaws.com:8443/ -vvv
138+
```
139+
140+
If the connection succeeds, the following output displays:
141+
142+
```terminal
143+
* Trying vpce-004678b7ff06dfxxx-qmmwuxxx.vpce-svc-0aca4ec0ef530xxxx.us-east-1.vpce.amazonaws.com:8443...
144+
* TCP_NODELAY set
145+
* Connected to //vpce-004678b7ff06dfxxx-qmmwuxxx.vpce-svc-0aca4ec0ef530xxxx.us-east-1.vpce.amazonaws.com:8443 (xx.xxx.xxx.xx) port 8443 (#0)
146+
```
147+
{:.no-copy}
148+
149+
If the connection fails, review the error messages which might indicate that the port is closed, or that the indicated remote server is not listening on the specified port.
150+
151+
See the following articles for help troubleshooting connection issues:
152+
153+
- [AWS: Troubleshooting endpoint service connections][]
154+
- [Amazon: Troubleshooting Azure Private Link connectivity problems][]
155+
156+
If you cannot resolve the errors, update the Magento Support ticket to request help establishing the connection.
157+
158+
## Change PrivateLink configuration
159+
160+
Submit a Magento Support ticket to change an existing PrivateLink configuration. For example, you can request changes like the following:
161+
162+
- Remove the PrivateLink connection from the {{site.data.var.ece}} Pro Production or Staging environment.
163+
- Change the customer Cloud platform account number for accessing the Magento endpoint service.
164+
- Add or remove PrivateLink connections from the Magento VPC to other endpoint services available in the customer VPC environment.
165+
166+
## Set up for bidirectional PrivateLink connections
167+
168+
The customer VPC must have the following resources available to support bidirectional PrivateLink connections:
169+
170+
- A Network Load Balancer
171+
- An endpoint service configuration that enables access to an application or service from the customer VPC
172+
- An [interface endpoint][] (AWS) or [private endpoint][] (Azure) that allows Magento to connect to endpoint services hosted in your VPC
173+
174+
If these resources are not available in the customer VPC, you must sign into your Cloud platform account to add the configuration.
175+
176+
- Amazon VPC console– `https://console.aws.amazon.com/vpc/`
177+
- Azure portal– `https://portal.azure.com`
178+
179+
See your Cloud platform documentation for PrivateLink set up instructions:
180+
181+
- **AWS PrivateLink documentation**
182+
- [Create a Network Load Balancer][]
183+
- [Create an endpoint service configuration][]
184+
- [Create an interface endpoint][]
185+
- [Interface endpoint lifecycle][]
186+
187+
- **Azure PrivateLink documentation**
188+
- [Create a Load Balancer][]
189+
- [Azure Private Link workflow][]
190+
191+
<!--Link definitions-->
192+
193+
[PrivateLink network diagram]: {{site.baseurl}}/common/images/cloud/cloud-privatelink-architecture-diagram.png
194+
{:width="800px"}
195+
196+
[Accepting and rejecting interface endpoint connection requests]: https://docs.aws.amazon.com/vpc/latest/userguide/accept-reject-endpoint-requests.html
197+
[Adding and removing permissions for your endpoint service]:https://docs.aws.amazon.com/vpc/latest/userguide/add-endpoint-service-permissions.html
198+
[Amazon: Troubleshooting Azure Private Link connectivity problems]: https://docs.microsoft.com/en-us/azure/private-link/troubleshoot-private-link-connectivity
199+
[AWS PrivateLink documentation]: https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html#what-is-privatelink
200+
[AWS PrivateLink Overview]: https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-service.html#endpoint-service-overview
201+
[AWS PrivateLink]: https://aws.amazon.com/privatelink/
202+
[AWS: Troubleshooting endpoint service connections]: https://aws.amazon.com/premiumsupport/knowledge-center/connect-endpoint-service-vpc/
203+
[Azure Private Link workflow]: https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#workflow
204+
[Azure Private Link]: https://docs.microsoft.com/en-us/azure/private-link/
205+
[Create a Load Balancer]: https://docs.microsoft.com/en-us/azure/load-balancer/quickstart-load-balancer-standard-public-portal
206+
[Create a Network Load Balancer]: https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-network-load-balancer.html
207+
[Create an endpoint service configuration]: https://docs.aws.amazon.com/vpc/latest/userguide/create-endpoint-service.html
208+
[Create an interface endpoint]: https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint
209+
[Enable SSH keys]: https://devdocs.magento.com/cloud/before/before-workspace-ssh.html
210+
[interface endpoint lifecycle]: https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#vpce-interface-lifecycle
211+
[interface endpoint]: https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html
212+
[Magento Cloud CLI]: {{site.baseurl}}/cloud/reference/cli-ref-topic.html
213+
[Manage a Private Endpoint connection]: https://docs.microsoft.com/en-us/azure/private-link/manage-private-endpoint
214+
[Manage connection requests]: https://docs.microsoft.com/en-us/azure/private-link/private-link-service-overview#manage-your-connection-requests
215+
[private endpoint]: https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-overview
216+
[Telnet How-To]: https://www.telnet.org/htm/howto.htm

src/common/images/cloud/CloudBenefits.svg

+1-1
Loading
Loading

0 commit comments

Comments
 (0)