관리서버에서 명령어로 서비스 네트워크를 만들어 보자.
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한다.
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
감사합니다.