Connect the Cloud9 IDE to the EKS VPC

标题: “将Cloud9 IDE连接到EKS VPC” 日期: 2018-09-18T16:01:14-05:00 权重: 553

cd ~/environment/tfekscode/c9net

运行脚本以初始化Terraform

terraform init -upgrade
正在初始化后端...

** 输出已截断,与之前的示例类似 **

验证Terraform代码

terraform validate
成功! 配置有效。

规划部署:

terraform plan -out tfplan
Terraform使用所选的提供程序生成了以下执行计划。资源操作用以下符号表示:
  + 创建


Terraform将执行以下操作:

  # aws_route.rt-def将被创建
  + resource "aws_route" "rt-def" {
      + destination_cidr_block    = (敏感值)
      + id                        = (在应用后知道)
      + instance_id               = (在应用后知道)
      + instance_owner_id         = (在应用后知道)
      + network_interface_id      = (在应用后知道)
      + origin                    = (在应用后知道)
      + route_table_id            = "rtb-0791087b7998a2af2"
      + state                     = (在应用后知道)
      + vpc_peering_connection_id = (在应用后知道)
    }

  # aws_route.rt-eks-isol将被创建
  + resource "aws_route" "rt-eks-isol" {
      + destination_cidr_block    = "172.31.0.0/16"
      + id                        = (在应用后知道)
      + instance_id               = (在应用后知道)
      + instance_owner_id         = (在应用后知道)
      + network_interface_id      = (在应用后知道)
      + origin                    = (在应用后知道)
      + route_table_id            = (敏感值)
      + state                     = (在应用后知道)
      + vpc_peering_connection_id = (在应用后知道)
    }

  # aws_route.rt-eks1将被创建
  + resource "aws_route" "rt-eks1" {
      + destination_cidr_block    = "172.31.0.0/16"
      + id                        = (在应用后知道)
      + instance_id               = (在应用后知道)
      + instance_owner_id         = (在应用后知道)
      + network_interface_id      = (在应用后知道)
      + origin                    = (在应用后知道)
      + route_table_id            = (敏感值)
      + state                     = (在应用后知道)
      + vpc_peering_connection_id = (在应用后知道)
    }

  # aws_security_group_rule.sg-def-22将被创建
  + resource "aws_security_group_rule" "sg-def-22" {
      + cidr_blocks              = [
          + (敏感值),
        ]
      + from_port                = 443
      + id                       = (在应用后知道)
      + protocol                 = "tcp"
      + security_group_id        = "sg-0b949a04282d5f1a9"
      + security_group_rule_id   = (在应用后知道)
      + self                     = false
      + source_security_group_id = (在应用后知道)
      + to_port                  = 443
      + type                     = "ingress"
    }

  # aws_security_group_rule.sg-def-eks-8080将被创建
  + resource "aws_security_group_rule" "sg-def-eks-8080" {
      + cidr_blocks              = [
          + "0.0.0.0/0",
        ]
      + from_port                = 8080
      + id                       = (在应用后知道)
      + protocol                 = "tcp"
      + security_group_id        = "sg-0b949a04282d5f1a9"
      + security_group_rule_id   = (在应用后知道)
      + self                     = false
      + source_security_group_id = (在应用后知道)
      + to_port                  = 8080
      + type                     = "ingress"
    }

  # aws_security_group_rule.sg-def-eks-all将被创建
  + resource "aws_security_group_rule" "sg-def-eks-all" {
      + cidr_blocks              = [
          + (敏感值),
        ]
      + from_port                = 22
      + id                       = (在应用后知道)
      + protocol                 = "tcp"
      + security_group_id        = "sg-0b949a04282d5f1a9"
      + security_group_rule_id   = (在应用后知道)
      + self                     = false
      + source_security_group_id = (在应用后知道)
      + to_port                  = 22
      + type                     = "ingress"
    }

  # aws_vpc_peering_connection.def-peer将被创建
  + resource "aws_vpc_peering_connection" "def-peer" {
      + accept_status = (在应用后知道)
      + auto_accept   = true
      + id            = (在应用后知道)
      + peer_owner_id = (在应用后知道)
      + peer_region   = (在应用后知道)
      + peer_vpc_id   = (敏感值)
      + tags_all      = (在应用后知道)
      + vpc_id        = "vpc-082154a9d0e423793"
    }

计划: 7 个添加, 0 个更改, 0 个销毁。

输出更改:
  + c9lab  = " true "
  + c9role = "arn:aws:iam::786690654287:role/workshop-stack-Cloud9Stack-24DETX-EksWorkshopC9Role-boJ6N8Jx2jx9"
  + peerid = (在应用后知道)

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

已将计划保存到: tfplan


从计划中可以看出,将创建以下资源来将Cloud9 IDE链接到EKS VPC

  • VPC对等连接。
  • 默认和EKS子网的VPC路由表条目:
    • 通过VPC对等连接到172.31的路由,用于EKS VPC。
    • 通过VPC对等连接到10.0的路由,用于默认VPC。
  • 允许来自10.0.x.x的流量的Cloud9安全组规则。
  • 允许来自Cloud9 IDE安全组的443端口流量的EKS集群安全组规则
  • 我们打开8080端口 - 以允许从外部访问istio仪表板(不建议在生产环境中使用)

构建环境:

terraform apply tfplan
aws_vpc_peering_connection.def-peer: 正在创建...
aws_security_group_rule.sg-def-eks-all: 正在创建...
aws_security_group_rule.sg-def-eks-8080: 正在创建...
aws_security_group_rule.sg-def-22: 正在创建...
aws_security_group_rule.sg-def-eks-all: 在1秒内创建完成 [id=sgrule-2171583231]
aws_vpc_peering_connection.def-peer: 在1秒内创建完成 [id=pcx-01cdf5c49662a28f5]
aws_route.rt-eks-isol: 正在创建...
aws_route.rt-def: 正在创建...
aws_route.rt-eks1: 正在创建...
aws_security_group_rule.sg-def-eks-8080: 在1秒内创建完成 [id=sgrule-3789227588]
aws_route.rt-eks-isol: 在0秒内创建完成 [id=r-rtb-0040125ffaca892553854007479]
aws_route.rt-def: 在0秒内创建完成 [id=r-rtb-0791087b7998a2af22265412760]
aws_route.rt-eks1: 在0秒内创建完成 [id=r-rtb-0150393876776262c3854007479]
aws_security_group_rule.sg-def-22: 在1秒内创建完成 [id=sgrule-3528490109]

应用完成! 资源: 7 个添加, 0 个更改, 0 个销毁。

输出:

c9lab = " true "
c9role = "arn:aws:iam::678308771871:role/eksworkshop-admin"
peerid = "pcx-0c834a7c14ed3bfab"


上述操作将Cloud9 IDE链接到EKS私有VPC,并允许所需的流量流动,以便我们可以从默认VPC中的Cloud9 IDE与集群进行通信。