Skip to content

Commit a99e314

Browse files
authored
Merge pull request #5549 from mtulio/doc-review-byoipv4pool
📖 docs/byoIPv4pool: review documentation fragment for the feature
2 parents e7313b0 + 261b7ba commit a99e314

File tree

1 file changed

+29
-26
lines changed

1 file changed

+29
-26
lines changed

docs/book/src/topics/bring-your-own-aws-infrastructure.md

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -278,30 +278,32 @@ User should only use this feature if their cluster infrastructure lifecycle mana
278278

279279
## Bring your own (BYO) Public IPv4 addresses
280280

281-
Cluster API also provides a mechanism to allocate Elastic IP from the existing Public IPv4 Pool that you brought to AWS[1].
281+
Cluster API provides a mechanism to allocate Elastic IPs from an existing Public IPv4 Pool that you brought to AWS[1].
282282

283-
Bringing your own Public IPv4 Pool (BYOIPv4) can be used as an alternative to buying Public IPs from AWS, also considering the changes in charging for this since February 2024[2].
283+
Bringing your own Public IPv4 Pool (BYOIPv4) can serve as an alternative to purchasing Public IPs from AWS, especially considering the updated pricing model introduced in February 2024[2].
284284

285-
Supported resources to BYO Public IPv4 Pool (`BYO Public IPv4`):
285+
### Supported Resources for BYO Public IPv4 Pool
286+
287+
The following resources can consume IPs from a BYO Public IPv4 Pool:
286288
- NAT Gateways
287-
- Network Load Balancer for API server
289+
- Network Load Balancer for the API server
288290
- Machines
289291

290-
Use `BYO Public IPv4` when you have brought to AWS custom IPv4 CIDR blocks and want the cluster to automatically use IPs from the custom pool instead of Amazon-provided pools.
292+
Use `BYO Public IPv4` when you have custom IPv4 CIDR blocks advertised to AWS and want the cluster to automatically use IPs from the custom pool instead of Amazon-provided pools.
291293

292-
### Prerequisites and limitations for BYO Public IPv4 Pool
294+
### Prerequisites and Limitations for BYO Public IPv4 Pool
293295

294-
- BYOIPv4 is limited to AWS to selected regions. See more in [AWS Documentation for Regional availability](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-reg-avail)
295-
- The IPv4 address must be provisioned and advertised to the AWS account before the cluster is installed
296-
- The public IPv4 addresses is limited to the network border group that the CIDR block have been advertised[3][4], and the `NetworkSpec.ElasticIpPool.PublicIpv4Pool` must be the same of the cluster will be installed.
297-
- Only NAT Gateways and the Network Load Balancer for API server will consume from the IPv4 pool defined in the network scope.
298-
- The public IPv4 pool must be assigned to each machine to consume public IPv4 from a custom IPv4 pool.
296+
- **Regional Availability**: BYOIPv4 is limited to selected AWS regions. Refer to [AWS Documentation for Regional Availability](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-reg-avail).
297+
- **Provisioning and Advertising**: IPv4 addresses must be provisioned and advertised to the AWS account before the cluster is installed.
298+
- **Network Border Group**: Public IPv4 addresses are restricted to the network border group where the CIDR block has been advertised[3][4]. The `NetworkSpec.ElasticIpPool.PublicIpv4Pool` must match the cluster's installation location.
299+
- **Resource Scope**: Only NAT Gateways and the Network Load Balancer for the API server will consume IPs from the IPv4 pool defined in the network scope.
300+
- **Machine Assignment**: Each machine must be assigned to the public IPv4 pool to consume IPs from the custom pool.
299301

300-
### Steps to set BYO Public IPv4 Pool to core infrastructure
302+
### Steps to Configure BYO Public IPv4 Pool for Core Infrastructure
301303

302-
Currently, CAPA supports BYO Public IPv4 to core components NAT Gateways and Network Load Balancer for the internet-facing API server.
304+
CAPA supports BYO Public IPv4 for core components, including NAT Gateways and the Network Load Balancer for the internet-facing API server.
303305

304-
To specify a Public IPv4 Pool for core components you must set the `spec.elasticIpPool` as follows:
306+
To specify a Public IPv4 Pool for core components, set the `spec.elasticIpPool` in the `AWSCluster` object:
305307

306308
```yaml
307309
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
@@ -313,30 +315,31 @@ spec:
313315
networkSpec:
314316
vpc:
315317
elasticIpPool:
316-
publicIpv4Pool: ipv4pool-ec2-0123456789abcdef0
317-
publicIpv4PoolFallbackOrder: amazon-pool
318+
publicIpv4Pool: ipv4pool-ec2-0123456789abcdef0 # Custom IPv4 pool ID
319+
publicIpv4PoolFallbackOrder: amazon-pool # Fallback to AWS-provided pool
318320
```
319321

320-
Then all the Elastic IPs will be created by consuming from the pool `ipv4pool-ec2-0123456789abcdef0`.
322+
All Elastic IPs will be created by consuming from the pool `ipv4pool-ec2-0123456789abcdef0`.
321323

322-
### Steps to BYO Public IPv4 Pool to machines
324+
### Steps to Configure BYO Public IPv4 Pool for Machines
323325

324-
To create a machine consuming from a custom Public IPv4 Pool you must set the pool ID to the AWSMachine spec, then set the `PublicIP` to `true`:
326+
To configure a machine to consume IPs from a custom Public IPv4 Pool, specify the pool ID in the `AWSMachine` spec and set `PublicIP` to `true`:
325327

326328
```yaml
327329
apiVersion: infrastructure.cluster.x-k8s.io/v1beta2
328330
kind: AWSMachine
329331
metadata:
330332
name: byoip-s55p4-bootstrap
331333
spec:
332-
# placeholder for AWSMachine spec
333334
elasticIpPool:
334-
publicIpv4Pool: ipv4pool-ec2-0123456789abcdef0
335-
publicIpv4PoolFallbackOrder: amazon-pool
335+
publicIpv4Pool: ipv4pool-ec2-0123456789abcdef0 # Custom IPv4 pool ID
336+
publicIpv4PoolFallbackOrder: amazon-pool # Fallback to AWS-provided pool
336337
publicIP: true
337338
```
338339

339-
[1] https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html
340-
[2] https://aws.amazon.com/blogs/aws/new-aws-public-ipv4-address-charge-public-ip-insights/
341-
[3] https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-onboard
342-
[4] https://docs.aws.amazon.com/cli/latest/reference/ec2/advertise-byoip-cidr.html
340+
### References
341+
342+
[1] [AWS BYOIPv4 Documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)
343+
[2] [AWS Blog: Public IPv4 Address Charges](https://aws.amazon.com/blogs/aws/new-aws-public-ipv4-address-charge-public-ip-insights/)
344+
[3] [AWS BYOIPv4 Onboarding Guide](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html#byoip-onboard)
345+
[4] [AWS CLI: Advertise BYOIPv4 CIDR](https://docs.aws.amazon.com/cli/latest/reference/ec2/advertise-byoip-cidr.html)

0 commit comments

Comments
 (0)