amazon-web-services - 负载均衡器上的入口 ip 白名单 - aws k8s

标签 amazon-web-services nginx kubernetes amazon-eks

我正在尝试使用安全组仅允许来自特定 IP 的 https 流量。我已经创建了入口服务和资源。 (引用: NGINX Controller

我尝试在 Ingress Service 上进行以下配置。

kind: Service
apiVersion: v1
metadata:
  name: ingress-nginx
  namespace: ingress-nginx
  labels:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-ssl-cert: {cert}
    # the backend instances are HTTP
    service.beta.kubernetes.io/aws-load-balancer-backend-protocol: "http"
    # Map port 443
    service.beta.kubernetes.io/aws-load-balancer-ssl-ports: "https"
    service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: "60"
    service.beta.kubernetes.io/aws-load-balancer-extra-security-groups: {SG Allowing ingres from IP}
spec:
  type: LoadBalancer
  selector:
    app.kubernetes.io/name: ingress-nginx
    app.kubernetes.io/part-of: ingress-nginx
  ports:
    - name: http
      port: 80
      targetPort: http
    - name: https
      port: 443
      targetPort: http

我也在下面尝试了资源。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: test-ingress
  annotations:
    service.beta.kubernetes.io/aws-load-balancer-extra-security-groups: {SG Allowing ingres from IP}
    ingress.kubernetes.io/whitelist-source-range: "IP"
spec:
  rules:
  - host: test.com
    http:
      paths:
      - backend:
          serviceName: backend
          servicePort: 8080
        path: /

我错过了什么?

我在负载均衡器上看到自动生成的 SG,它允许所有入站流量。但我不确定它是由服务还是资源创建的。如果可以直接编辑它。

更新:
自动生成的 SG
enter image description here

我添加了另一个 SG,它限制了 IP 的入口但没有被应用。

最佳答案

在入口的服务定义中添加以下部分

spec:
  loadBalancerSourceRanges: //add this section
    - 127.0.0.1/32
    - 28.50.20.12/31
  type: LoadBalancer

默认行为是当您不指定 loadBalancerSourceRanges 时它默认为 0/0

希望这可以帮助。

关于amazon-web-services - 负载均衡器上的入口 ip 白名单 - aws k8s,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55296543/

相关文章:

docker - docker 18.09 版本支持哪个 kubernetes 版本

amazon-web-services - 在午夜自动重启 AWS EC2 实例

linux - 为多个 odoo 实例配置 NGINX

linux - 如何杀死这个不朽的nginx worker?

ssl - nginx - 反向代理证书认证

kubernetes - .NET Core/Kubernetes - SIGTERM,干净关闭

amazon-web-services - AWS Cloudformation cfn-hup 在默认启动级别上失败

php - 在 PHP 中解压缩 LZO 流

amazon-web-services - 如何接受自由格式文本作为 Amazon Skill Kit 的输入?

kubernetes - 如何安装带有Helm的Prometheus,以便可以从浏览器中使用它?