brunch

You can make anything
by writing

- C.S.Lewis -

by 클라우드 엔지니어 Dec 19. 2018

49.(AWS)웹사이트 네트워크 구축(CLI)


관리서버에서   명령어로  서비스 네트워크를 만들어 보자.

2가지 네트워크가 필요하다.

관리 네트워크와  관리네트워크에서 명령어로 만들어진 서비스 네트워크.


네트워크는 비용이 안나온다.

편하게 공부하자 ~


<1> 관리네트워크와 관리서버 1대를 만들자.

만들어진 예)



캘리포니아에 관리네트워크와 관리서버를 만들자.

클릭클릭으로 관리네트워크와 관리서버를 만들수 있다.

AWS에 로그인해서  US West (N. California) 로 지역을 선택한다.

캘리포니아에  관리 서버를 만들자.



관리네트워크는 VPC Wizard(마법사)로 만들자.


콜솔 로그인  https://console.aws.amazon.com/console/home



1.  [VPC마법사]로 네트워크를 만든다.


VPC - Lanunch VPC Wizard(마법사).







2. 관리서버도 클릭클릭해서 하나 만들자.


EC2 클릭.
이 서버에서 명령어로  네트워크와  서버를 만들 것이다.




공인IP 할당을 Enable해서 외부에서 접속하도록 하자.

Auto-assign Public IP : Enable 



새 Key를 생성하자.

[Create a new key pair] 선택 

[Download Key Pair]  클릭 

자 ~ 이제  관리 서버가 만든어 졌다 !!






<2> 서비스 네트워크를 만들자.

미국 동부 버지니아에 서비스 네트워크 10.200.0.0/16을 하나 만들어보자.


아래는 다 만들어졌을때 GUI로 본건이다.

Us east 미국 동부 버지니아에 네트워크가 만들어진 경우.



만들어진 네트워크 VPC 10.200.0.0/16




서브네팅된 화면.


인터넷 게이트웨이 만들어지고, 연결(attached)된 화면.


라우팅 테이블 만들어지고

서브네팅된 네트워크 디폴트 게이트웨이로 igw인터넷게이트웨이가 연결된상태.




1.명령어로 서비스 네트워크와 서비스 서버를 만들어 보자.

캘리포니아에있는 관리서버에 CLI 툴을 설치하자.


[ec2-user@ip-192-168-100-197 ~]$ sudo su -

[root@ip-192-168-100-197 ~]# yum install python-setuptools

[root@ip-192-168-100-197 ~]# easy_install pip

[root@ip-192-168-100-197 ~]# pip install awscli

[root@ip-192-168-100-197 ~]# aws --version

aws-cli/1.15.80 Python/2.7.14 Linux/4.14.77-81.59.amzn2.x86_64 botocore/1.10.79



미국 동부 버지니어에  서비스 네트워크를 만들어보자. US East (N. Virginia) 


2. 캘리포니아 관리서버에서  권한을 확인한다.

우리는 관리서버 생성시에 [IAM Full 권한]을  받아서 

따로 access.key와  Secret key가 필요없다.


[root@ip-192-168-100-197 ~]# aws configure

AWS Access Key ID [None]:   엔터

AWS Secret Access Key [None]:   엔터

Default region name [None]: us-east-1

Default output format [None]:  엔터

[root@ip-192-168-100-197 ~]#



3. 미국동부에 10.200.0.0 /16 네트워크를 만든다.


[root@ip-192-168-100-139 ~]# aws ec2 create-vpc --cidr-block 10.200.0.0/16

{

    "Vpc": {

        "VpcId": "vpc-0260041ca499c58f0",


Dns hostname enable한다.

[root@ip-192-168-100-139 ~]# aws ec2 modify-vpc-attribute --vpc-id vpc-0260041ca499c58f0 --enable-dns-hostnames



4.서브네트 4개를 만든다.

서브넷 만들때 위에서 만든 vpc-id가 필요하다.

서비네팅할때 us-east-1a인지 1c인지 명확히 적어야 한다.


   #  aws ec2 create-subnet --vpc-id vpc-0260041ca499c58f0 --availability-zone us-east-1a --cidr-block 10.200.0.0/24


   # aws ec2 create-subnet --vpc-id vpc-0260041ca499c58f0 --availability-zone us-east-1c --cidr-block 10.200.4.0/24


   #  aws ec2 create-subnet --vpc-id vpc-0260041ca499c58f0 --availability-zone us-east-1a --cidr-block 10.200.8.0/24


   #  aws ec2 create-subnet --vpc-id vpc-0260041ca499c58f0 --availability-zone us-east-1c --cidr-block 10.200.12.0/24



Vpc생성시 명령어 결과 참고.

[root@ip-192-168-100-139 ~]# aws ec2 create-vpc --cidr-block 10.200.0.0/16

{

    "Vpc": {

        "VpcId": "vpc-0260041ca499c58f0",

        "InstanceTenancy": "default",

        "Tags": [],

        "CidrBlockAssociationSet": [

            {

                "AssociationId": "vpc-cidr-assoc-026dce96a4f1b83ce",

                "CidrBlock": "10.200.0.0/16",

                "CidrBlockState": {

                    "State": "associated"

                }

            }

        ],

        "Ipv6CidrBlockAssociationSet": [],

        "State": "pending",

        "DhcpOptionsId": "dopt-177c7e6e",

        "CidrBlock": "10.200.0.0/16",

        "IsDefault": false

    }

}


서브네팅  명령어 결과 참고.

[root@ip-192-168-100-139 ~]# aws ec2 create-subnet --vpc-id vpc-0260041ca499c58f0 --availability-zone us-east-1a --cidr-block 10.200.0.0/24

{

    "Subnet": {

        "AvailabilityZone": "us-east-1a",

        "AvailableIpAddressCount": 251,

        "DefaultForAz": false,

        "Ipv6CidrBlockAssociationSet": [],

        "VpcId": "vpc-0260041ca499c58f0",

        "State": "pending",

        "MapPublicIpOnLaunch": false,

        "SubnetId": "subnet-0abfbae97f17d3fd9",

        "CidrBlock": "10.200.0.0/24",

        "AssignIpv6AddressOnCreation": false

    }

}


[root@ip-192-168-100-139 ~]# aws ec2 create-subnet --vpc-id vpc-0260041ca499c58f0 --availability-zone us-east-1c --cidr-block 10.200.4.0/24

{

    "Subnet": {

        "AvailabilityZone": "us-east-1c",

        "AvailableIpAddressCount": 251,

        "DefaultForAz": false,

        "Ipv6CidrBlockAssociationSet": [],

        "VpcId": "vpc-0260041ca499c58f0",

        "State": "pending",

        "MapPublicIpOnLaunch": false,

        "SubnetId": "subnet-07e8557a3b21450be",

        "CidrBlock": "10.200.4.0/24",

        "AssignIpv6AddressOnCreation": false

    }

}


[root@ip-192-168-100-139 ~]# aws ec2 create-subnet --vpc-id vpc-0260041ca499c58f0 --availability-zone us-east-1a --cidr-block 10.200.8.0/24

{

    "Subnet": {

        "AvailabilityZone": "us-east-1a",

        "AvailableIpAddressCount": 251,

        "DefaultForAz": false,

        "Ipv6CidrBlockAssociationSet": [],

        "VpcId": "vpc-0260041ca499c58f0",

        "State": "pending",

        "MapPublicIpOnLaunch": false,

        "SubnetId": "subnet-0990850cccc4f794d",

        "CidrBlock": "10.200.8.0/24",

        "AssignIpv6AddressOnCreation": false

    }

}


[root@ip-192-168-100-139 ~]# aws ec2 create-subnet --vpc-id vpc-0260041ca499c58f0 --availability-zone us-east-1c --cidr-block 10.200.12.0/24

{

    "Subnet": {

        "AvailabilityZone": "us-east-1c",

        "AvailableIpAddressCount": 251,

        "DefaultForAz": false,

        "Ipv6CidrBlockAssociationSet": [],

        "VpcId": "vpc-0260041ca499c58f0",

        "State": "pending",

        "MapPublicIpOnLaunch": false,

        "SubnetId": "subnet-084bc31db0e0fa09e",

        "CidrBlock": "10.200.12.0/24",

        "AssignIpv6AddressOnCreation": false

    }

}




5. 라우팅 테이블 만들기.


[root@ip-192-168-100-139 ~]# aws ec2 create-route-table --vpc-id vpc-0260041ca499c58f0

{

    "RouteTable": {

        "Associations": [],

        "RouteTableId": "rtb-074af38b755fa11fa",

        "VpcId": "vpc-0260041ca499c58f0",

        "PropagatingVgws": [],

        "Tags": [],

        "Routes": [

            {

                "GatewayId": "local",

                "DestinationCidrBlock": "10.200.0.0/16",

                "State": "active",

                "Origin": "CreateRouteTable"

            }

        ]

    }

}




6. Subnet에 대해서도 라우팅 테이블이 적용되도록 설정 한다.


[root@ip-192-168-100-139 ~]# aws ec2 associate-route-table --route-table-id rtb-074af38b755fa11fa --subnet-id subnet-0abfbae97f17d3fd9

{

    "AssociationId": "rtbassoc-06dbb0bc065646122"

}


[root@ip-192-168-100-139 ~]# aws ec2 associate-route-table --route-table-id rtb-074af38b755fa11fa --subnet-id subnet-07e8557a3b21450be

{

    "AssociationId": "rtbassoc-0ec72a6c67dc5df5b"

}


[root@ip-192-168-100-139 ~]# aws ec2 associate-route-table --route-table-id rtb-074af38b755fa11fa --subnet-id subnet-0990850cccc4f794d

{

    "AssociationId": "rtbassoc-0771a01286c23272d"

}


[root@ip-192-168-100-139 ~]# aws ec2 associate-route-table --route-table-id rtb-074af38b755fa11fa --subnet-id subnet-084bc31db0e0fa09e

{

    "AssociationId": "rtbassoc-09437b55a50025bed"

}



7.인터넷 게이트웨이를 만든다.


[root@ip-192-168-100-139 ~]# aws ec2 create-internet-gateway

{

    "InternetGateway": {

        "Tags": [],

        "Attachments": [],

        "InternetGatewayId": "igw-0b5cc362801e2b388"

    }

}

[root@ip-192-168-100-139 ~]#



8.인터넷게이트웨이를 VPC와  연결한다.


[root@ip-192-168-100-139 ~]# aws ec2 attach-internet-gateway --internet-gateway-id igw-0b5cc362801e2b388 --vpc-id vpc-0260041ca499c58f0



9.디폴트라우팅을 igw로 잡는다.


[root@ip-192-168-100-139 ~]# aws ec2 create-route --route-table-id rtb-074af38b755fa11fa --destination-cidr-block 0.0.0.0/0 --gateway-id igw-0b5cc362801e2b388

{

    "Return": true

}



참고 : 명령어들 https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instances.html#examples


서비스 네트워크에 서버1대 만들고 

외부로 ping하니 잘된다.

네트워크는 잘 만들어 진거 같다 ^^



참고1. CLI로 서버 만드는법.

https://brunch.co.kr/@topasvga/345



감사합니다.














매거진의 이전글 48.[AWS] 웹사이트구축 14단계(GUI)

매거진 선택

키워드 선택 0 / 3 0
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari
;