构建Neo4j使用已存在的VPC和子网

Posted 品鉴初心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建Neo4j使用已存在的VPC和子网相关的知识,希望对你有一定的参考价值。

前言

关于使用 CloudFormation 构建 Neo4j 集群相关文档,我已写过两篇,感兴趣的朋友请移步:

定制模板

在设计我们的模板前,我们先理清需求,根据具体业务需求,添加或更改默认模板中相关模块。需求如下:

  • (1)使用已手动创建好的vpc网段;
  • (2)使用该vpc网段下手动创建好的子网subnet;
  • (3)neo4j集群各节点分布在同一可用区下,如"ap-southeast-1a";
  • (4)创建neo4j集群的安全组;

上面的需求点我们已经了解,下面我们来定制开发我们的模板吧。

具体实施流程

由于 template 文件涉及的配置较多,我这里挑重点部分说明下,文章后面我会共享一份我已修改的temptele,方便大家理解和参考。

指定可用区

在模板中Parameters下添加如下:

## 增加如下内容
"AvailabilityQu": 
            "Type": "String",
            "Description": "Availability Zone into which instance will launch",
            "Default": "ap-southeast-1a"
        ,

上面我们定义了一个"可用区"的参数,类型是字符串,默认值是"ap-southeast-1a"。下面我们在模板中引用该参数。

指定VPC网段和子网

在模板中Parameters下添加如下:

## 增加如下内容
## VPC
....
  "VpcId" : 
  "Type" :"AWS::EC2::VPC::Id",
  "Description" :"VPCId of Virtual Private Cloud (VPC).",
  "Default" :""
  ,
## Subnet
  "VpcSubnet": 
  "Description" :"SubnetId in VPC",
  "Type" :"AWS::EC2::Subnet::Id",
  "Default" :""
  
,

关联子网

在模板Resources下更新如下内容:

...
    "SubnetRouteTableAssociation0": 
      "Type": "AWS::EC2::SubnetRouteTableAssociation",
      "Properties": 
        "SubnetId": "subnet-01234563f26",
        "RouteTableId": 
          "Ref": "RouteTable"
        
      
    ,
    "SubnetNetworkAclAssociation0": 
      "Type": "AWS::EC2::SubnetNetworkAclAssociation",
      "Properties": 
        "SubnetId": "subnet-01234563f26",
        "NetworkAclId": 
          "Ref": "NetworkAcl"
        
      
    ,

关联网关

在模板Resources下更新如下内容:

"AttachGateway": 
      "Type": "AWS::EC2::VPCGatewayAttachment",
      "Properties": 
        "VpcId": "vpc-0c5123456c31898",
        "InternetGatewayId": "igw-03123456f66727"
      
    ,

这里涉及到的修改内容较多,详见文章后我已修改的temptele。

安全组

    "sgNeo4jEnterprise": 
      "Type": "AWS::EC2::SecurityGroup",
      "Properties": 
        "VpcId": "vpc-0c5123456c31898",
        "GroupDescription": "Neo4j Ports",
        "SecurityGroupIngress": [
          
            "IpProtocol": "tcp",
            "FromPort": "5000",
            "ToPort": "5000",
            "CidrIp": "10.x.0.0/16"
          ,

这里涉及到的修改内容较多,详见文章后我已修改的temptele。

分享Temptele

以上是关于构建Neo4j使用已存在的VPC和子网的主要内容,如果未能解决你的问题,请参考以下文章

具有相同 CIDR 块的多个 VPC 和子网

使用knife ec2插件在VPC私有子网中创建VM

EC2 实例的输出子网

CodeBuild 与 Amazon Virtual Private Cloud 结合使用

在VPC中访问RDS posgtgreSQL?

如何在带有 Terraform 的 AWS VPC 中的两个子网之间进行路由?