You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* update to IP ranges page
* sort out nav levels
* remove ip ranges changelog
* tiny wording change for clarity
* changes from review
* update pipeline parameter name
Copy file name to clipboardExpand all lines: jekyll/_cci2/ip-ranges.adoc
+62-68Lines changed: 62 additions & 68 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ contentTags:
3
3
platform:
4
4
- Cloud
5
5
---
6
-
= IP ranges
6
+
= Restrict your pipeline traffic to specific IP ranges
7
7
:page-description: Enable CircleCI jobs to go through a set of well-defined IP address ranges
8
8
:experimental:
9
9
:icons: font
@@ -12,33 +12,37 @@ contentTags:
12
12
13
13
Enable CircleCI jobs to go through a set of well-defined IP address ranges. This can be useful if you are interacting with systems that are _not_ public, for example:
14
14
15
-
* Accessing a private artifact repository
16
-
* Testing internal systems
15
+
* Accessing a private artifact repository.
16
+
* Testing internal systems.
17
17
* Interfacing with a system on a cloud service: Google Cloud, AWS, Azure, etc.
18
18
19
19
[#overview]
20
20
== Introduction
21
21
22
-
IP ranges is a feature for CircleCI customers who need to configure IP-based access to their restricted environments using existing workflows and platforms. As part of this feature, CircleCI provides a list of well-defined IP address ranges associated with the CircleCI service. CircleCI jobs that have this feature enabled will have their traffic routed through one of the defined IP address ranges during job execution.
22
+
IP ranges is a feature for CircleCI customers who need to configure IP-based access to their restricted environments using existing workflows and platforms. As part of this feature, CircleCI provides a list of well-defined IP address ranges associated with the CircleCI service. CircleCI jobs that have the IP ranges feature enabled will have their traffic routed through one of the defined IP address ranges during job execution.
23
23
24
-
The feature is available to customers on a link:https://circleci.com/pricing/[Performance or Scale Plan]. This feature consumes 450 credits from your account for each GB of data used for jobs with IP ranges enabled.
24
+
IP ranges is available to customers on a link:https://circleci.com/pricing/[Performance or Scale Plan].
25
+
26
+
Use of the IP ranges feature consumes 450 credits from your account for each 1 GB of data used for jobs with IP ranges enabled.
25
27
26
28
[#use-cases]
27
29
== IP ranges use cases
28
30
29
-
IP ranges let you limit inbound connections to your infrastructure to IP address ranges that are verifiably associated with CircleCI.
31
+
Enabling IP ranges for a job limits inbound connections to your infrastructure to IP address ranges that are verifiably associated with CircleCI.
32
+
33
+
Some examples of when IP-based restricted access might be desired include the following:
30
34
31
-
Some example of where IP-based restricted access might be desired include:
35
+
* Accessing private artifact repositories.
36
+
* Pulling dependencies from a CocoaPods proxy hosted behind a firewall.
37
+
* Running test cases on an internal environment.
38
+
* Performing integration testing against private AWS resources.
39
+
* Deploying an internal app with sensitive data.
40
+
* Granting access to a production network.
32
41
33
-
* Accessing private artifact repositories
34
-
* Pulling dependencies from a CocoaPods proxy hosted behind a firewall
35
-
* Running test cases on an internal environment
36
-
* Performing integration testing against private AWS resources
37
-
* Deploying an internal app with sensitive data
38
-
* Granting access to a production network
42
+
== Examples of enabling IP ranges for a job
39
43
40
44
[#example-configuration]
41
-
== Example configuration file using IP ranges
45
+
=== Example configuration file using IP ranges
42
46
43
47
[,yaml]
44
48
----
@@ -58,9 +62,9 @@ workflows:
58
62
----
59
63
60
64
[#example-configuration-pipeline-parameters]
61
-
== Example configuration file using IP ranges with pipeline parameters.
65
+
=== Example configuration file using IP ranges with pipeline parameters.
62
66
63
-
Use conditional logic to control when IP ranges is enabled with pipeline parameters.
67
+
Use conditional logic to control when IP ranges is enabled with pipeline parameters. You can set the pipeline parameter `ip_ranges` to `true` to enable IP ranges for the `build` job. For more information on triggering pipelines with pipeline parameters, see the xref:triggers-overview#[Trigger a pipeline] page.
64
68
65
69
[,yaml]
66
70
----
@@ -73,6 +77,7 @@ parameters:
73
77
74
78
jobs:
75
79
build:
80
+
# opts the job into the IP ranges feature when the pipeline parameter pipeline.parameters.ip_ranges is true
== List of IP address ranges associated with feature
93
+
== List of IP address ranges associated with the IP ranges feature
89
94
90
95
_Last updated_: 2022-04-06
91
96
@@ -115,43 +120,6 @@ Jobs that have been opted into the IP ranges feature will have one of the follow
115
120
116
121
NOTE: Jobs can use any of the address ranges above. It is also important to note that the address ranges are shared by all CircleCI customers who have opted into using the feature.
117
122
118
-
[#list-of-ip-address-ranges-for-core-services]
119
-
== List of IP address ranges for core services
120
-
121
-
These are the IP address ranges for core services (used to trigger jobs, exchange information about users between CircleCI and GitHub etc):
122
-
123
-
* 18.214.70.5
124
-
* 52.20.166.242
125
-
* 18.214.156.84
126
-
* 54.236.156.101
127
-
* 52.22.215.219
128
-
* 52.206.105.184
129
-
* 52.6.77.249
130
-
* 34.197.216.176
131
-
* 35.174.249.131
132
-
* 3.210.128.175
133
-
134
-
[#list-of-ip-address-ranges-changelog]
135
-
=== List of IP address ranges changelog
136
-
137
-
==== 2024-11-05
138
-
139
-
* Added support for parameters.
140
-
141
-
Use parameters like << pipeline.parameters.ip_ranges >> to determine if IP ranges should be enabled.
142
-
143
-
==== 2021-08-23
144
-
145
-
* Added new items to the list of IP address ranges for core services.
146
-
147
-
The machine-consumable lists have also been updated to reflect the new IP address ranges.
148
-
149
-
==== 2022-04-06
150
-
151
-
* Added and removed new IP addresses as part of enabling Docker pulls to go through the list of IP addresses.
152
-
153
-
The machine-consumable lists have also been updated to reflect the new IP address ranges.
154
-
155
123
*Machine-consumable lists can be found by querying the DNS A records below:*
156
124
157
125
* IP address ranges _for jobs_: `jobs.knownips.circleci.com`.
@@ -168,11 +136,11 @@ dig all.knownips.circleci.com A +short
168
136
Notifications of a change to this list will be sent out by email to all customers who have at least one job opted into the IP ranges feature. *30 days notice* will be given before changes are made to the existing set of IP address ranges. This page and the machine-consumable list will also be updated when there are upcoming changes.
169
137
170
138
[#pricing]
171
-
== Pricing
139
+
== IP ranges feature pricing
172
140
173
141
Pricing is calculated based on the data usage of jobs opted into the IP ranges feature. It is possible to mix jobs with and without the IP ranges feature within the same workflow or pipeline. Data used to pull in the Docker image to the container before the job starts executing does _not incur usage costs_ for jobs with IP ranges enabled.
174
142
175
-
This feature consumes 450 credits from your account for each GB of data used for jobs with IP ranges enabled.
143
+
Enabling IP ranges consumes 450 credits from your account for each GB of data used for jobs with IP ranges enabled.
176
144
177
145
IP ranges usage is visible in the *Plan Usage* section of the CircleCI app:
178
146
@@ -182,18 +150,49 @@ On the *Resources* tab within the *Job Details* UI page, you can view approximat
182
150
183
151
image::resources-network-transfer.png[Screenshot showing the approximate network transfer]
184
152
153
+
[#known-limitations]
154
+
== Known limitations
155
+
156
+
* IP ranges is currently available for the xref:configuration-reference#machine[Docker executor], not including `remote_docker`. Jobs that attempt to use the IP ranges feature with a xref:configuration-reference#machine[Machine executor], or with `setup_remote_docker`, will fail with an error. See this link:https://discuss.circleci.com/t/fyi-jobs-that-use-the-ip-ranges-feature-and-remote-docker-will-begin-to-fast-fail-this-week/44639[Discuss post] for details.
157
+
158
+
== IP ranges for core CircleCI services
159
+
160
+
This section covers the IP ranges used by CircleCI core services. Core service IP ranges are separate from the IP ranges _feature_ list, which is available <<list-of-ip-address-ranges,here>>.
161
+
162
+
[#list-of-ip-address-ranges-for-core-services]
163
+
=== List of IP address ranges for core CircleCI services
164
+
165
+
The following list shows the IP address ranges for core CircleCI cloud services (used to trigger jobs, exchange information about users between CircleCI and GitHub/GitLab/Bitbucket):
166
+
167
+
* 18.214.70.5
168
+
* 52.20.166.242
169
+
* 18.214.156.84
170
+
* 54.236.156.101
171
+
* 52.22.215.219
172
+
* 52.206.105.184
173
+
* 52.6.77.249
174
+
* 34.197.216.176
175
+
* 35.174.249.131
176
+
* 3.210.128.175
177
+
185
178
[#aws-and-gcp-ip-addresses]
186
-
== AWS and GCP IP Addresses
179
+
=== AWS and GCP IP Addresses
180
+
181
+
The machines that execute all jobs on CircleCI's platform, not just jobs opted into IP ranges, are hosted on the following platforms:
187
182
188
-
The machines that execute _all jobs_ on CircleCI's platform, not just jobs opted into IP ranges, are hosted on Amazon Web Services (AWS), Google Cloud Platform (GCP), and CircleCI's macOS Cloud (see below). An exhaustive list of IP addresses that CircleCI's traffic may come from on these cloud providers`' platforms can be found by looking up each cloud provider's IP address ranges. AWS & GCP offer endpoints to find this information.
183
+
* Amazon Web Services (AWS)
184
+
* Google Cloud Platform (GCP)
185
+
* CircleCI's macOS cloud
189
186
190
-
* link:https://ip-ranges.amazonaws.com/ip-ranges.json[AWS]: CircleCI uses the _us-east-1_ and _us-east-2_ regions
191
-
* link:https://www.gstatic.com/ipranges/cloud.json[GCP]: CircleCI uses the _us-east1_ and _us-central1_ regions
187
+
An exhaustive list of IP addresses that CircleCI's traffic may come can be found by looking up each cloud provider's IP address ranges. AWS and GCP offer endpoints to find this information:
192
188
193
-
CircleCI _does not recommend_ configuring an IP-based firewall based on the AWS or GCP IP addresses, as the vast majority are not CircleCI's machines. There is _no guarantee_ that the addresses in the AWS or GCP endpoints persist from day-to-day, as these addresses are reassigned continuously.
189
+
* link:https://ip-ranges.amazonaws.com/ip-ranges.json[AWS]: CircleCI uses the _us-east-1_ and _us-east-2_ regions.
190
+
* link:https://www.gstatic.com/ipranges/cloud.json[GCP]: CircleCI uses the _us-east1_ and _us-central1_ regions.
191
+
192
+
CAUTION: CircleCI _does not recommend_ configuring an IP-based firewall using the AWS or GCP IP addresses. The vast majority are not CircleCI's machines. CircleCI can _not guarantee_ that the addresses in the AWS or GCP endpoints persist from day-to-day, as these addresses are reassigned continuously.
194
193
195
194
[#circleci-macos-cloud]
196
-
== CircleCI macOS cloud
195
+
=== CircleCI macOS cloud
197
196
198
197
In addition to AWS and GCP (see above), CircleCI's macOS cloud hosts jobs executed by machines. The following IP address ranges are used by CircleCI macOS Cloud:
macOS builds are automatically restricted within the IP ranges listed here. In other words, you do not have to explicitly set `circleci_ip_ranges: true` for macOS builds.
224
223
225
-
*macOS IP ranges are not included in the machine-consumable lists maintained in DNS.* Refer to the list above for the most up-to-date macOS IPs. Information about changes to macOS IP ranges will be included in the link:https://circleci.com/changelog/[changelog] and will be sent to the technical contact(s) listed under menu:Organization Settings[Overview].
226
-
227
-
[#known-limitations]
228
-
== Known limitations
229
-
230
-
* IP ranges is currently available for the xref:configuration-reference#machine[Docker executor], not including `remote_docker`. Jobs that attempt to use the IP ranges feature with a xref:configuration-reference#machine[Machine executor], or with `setup_remote_docker`, will fail with an error. See this link:https://discuss.circleci.com/t/fyi-jobs-that-use-the-ip-ranges-feature-and-remote-docker-will-begin-to-fast-fail-this-week/44639[Discuss post] for details.
224
+
*macOS IP ranges are not included in the machine-consumable lists maintained in DNS.* Refer to the list above for the most up-to-date macOS IP addresses. Information about changes to macOS IP ranges will be included in the link:https://circleci.com/changelog/[changelog] and will be sent to the technical contact(s) listed under menu:Organization Settings[Overview].
0 commit comments