AWS-SUBNET(IP 주소 범위 분할)
1. Subnet에 대한 이야기
앞서 VPC에 대한 이야기중 사용할 수있는 IP 대역대를 VPC에서 설정한다고 이야기했습니다. 그리고 CIDR블럭을 /16으로 지정하여 3번째 IP주소도 사용할 수 있게 하였는데 서브넷은 이 3번째 주소의 대역대를 이용하여 네트워크 대역대를 분리한다고 보시면 쉽습니다.
즉, 10.0.1.x 대역대를 사용하는 서브넷 10.0.2.x 대역대를 사용하는 서브넷
이런식으로 대역대를 설정하고 해당 대역대에 EC2를 넣게되면 마지막 ip를 달리하여 어떤 대역대의 어떤 IP를 가진 PC가 그 EC2임을 나타나게됩니다.
최대한 쉽게 설명한다고 하다보니 비유를 하면서 설명하는거니 깊게 공부하실분들은 정확하게 이해하시고 알려주시면 해당 내용을 반영해보겠습니다.
AWS는 전세계적인 서비스이고 통신선의 길이가 길면 그만큼 데이터를 주고받는데 시간이 걸립니다. 그래서 리전이라는곳을 여러곳 두어 통신을 적절히 조절합니다. 저희는 서울의 리전을 사용할것이기때문에 ap-northeast-2a
가 서울 리전임을 알아야합니다.
이 서브넷은 VPC내부에 연결될것임으로 subnet의 선행은 VPC이다…
계단식으로 한단계씩 이해하실수있으면 좋겠습니다.
AWSPublicSubnet1:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref AWSVPC
CidrBlock: 10.0.1.0/24
AvailabilityZone: ap-northeast-2a
Tags:
- Key: Name
Value: AWSpublicsubnet1
2. Subnet - Console(콘솔)
이전 글을 참고하여 VPC를 다시 생성하고
VPC 대시보드에서 Subnet을 선택하여 Subnet생성을 누릅니다.
VPC ID를 선택할 수있는데 AWS-VPC의 이름을 가진 VPC를 선택해줍니다.
VPC의 Key중 Name태그는 이런식으로 활용이 가능합니다.
Subnet 이름을 AWSPublicSubnet1로 넣어주시고
가용영역을 ap-northeast-2a로 선택합니다.
CidrBlock을 10.0.1.0/24로 선택해줍니다.
서브넷이름을 넣으면 자동으로 Key Name이 셋팅됩니다.
삭제
생성된 내역을 확인하고 삭제를 해줍니다.
체크된 상태에서 우측상단의 작업을 눌러 서브넷 삭제를 해줍니다.
VPC에 서브넷이 물려있기때문에 VPC만 단독삭제가 되지 않으며
VPC를 만들고 서브넷을 만들듯이
서브넷을 만들고 VPC까지 삭제해줍니다.
사용하지 않는 서비스는 꼭 삭제해주셔야 불필요한 요금이 나오지 않습니다.
테스트하시면서 발생되는 비용은 배움의 비용으로 사용해주시길 바랍니다.
3. VPC - CloudFormation(클라우드포메이션)
이제 똑같은 구성으로 CloudFormation으로 만들어보겠습니다.
이번에는 복습할겸 새로 작성합니다.
Resources:
AWSVPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
Tags:
- Key: Name
Value: AWSVPC
위 상태까지 작업한 후에
좌측리스트에 subnet을 검색하여 AWS::EC2::Subnet
를 추가해줍니다.
템플릿에 아래 내용을 확인할 수 있습니다.
Subnet:
Type: AWS::EC2::Subnet
Properties:
VpcId: <String>
VpcId 부분에 AWSVPC를 입력합니다.
대시보드에서 했던 내용을 다시 생각하며 매칭해봅니다.
- details
VpcId: !Ref AWSVPC
CidrBlock: 10.0.1.0/24
AvailabilityZone: ap-northeast-2a
Tags:
- Key: Name
Value: AWSpublicsubnet1
- Templete
AWSPublicSubnet1:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref AWSVPC
CidrBlock: 10.0.1.0/24
AvailabilityZone: ap-northeast-2a
Tags:
- Key: Name
Value: AWSpublicsubnet1
canvas에서 두 서비스가 연결된것도 확인이 가능합니다.
그 후 스택을 생성하면 대시보드에서 생성한것과 똑같은 VPC와 Subnet이 생성됩니다.
삭제
CloudFormation에서 스택을 선택하여 삭제합니다.
4. 기존 리소스 불러오기
S3 대시보드에 들어가서 자동으로 생성된 cf-template… 로시작되는 S3버킷에 들어가면
속성중 객체 URL을 입력하여 가져와서 진행이 가능합니다.
새 스택생성에서 해다 객체 URL을 이용하여 생성하면 이전 구성과 똑같은 인프라로 생성됩니다.
이를 이용하여 이전 VPC만 생성된 상태를 확인하고 삭제합니다.
5. VPC만 생성된 상태에서 CloudFormation Update
Resources:
AWSVPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
Tags:
- Key: Name
Value: AWSVPC
을 이용하여 VPC만 생성합니다.
생성중엔 스택 세부 정보 화면으로 전환됩니다.
생성이 완료되면 현재 VPC만 생성되고 Subnet은 생성되지 않음이 확인됩니다.
다시 스택 세부 정보 화면상의 템플릿 탭으로 들어가서
인프라 컴포저에서 보기로 들어가 Subnet 작업을 해줍니다.
Resources:
AWSVPC:
Type: AWS::EC2::VPC
Properties:
CidrBlock: 10.0.0.0/16
Tags:
- Key: Name
Value: AWSVPC
AWSPublicSubnet1:
Type: AWS::EC2::Subnet
Properties:
VpcId: !Ref AWSVPC
CidrBlock: 10.0.1.0/24
AvailabilityZone: ap-northeast-2a
Tags:
- Key: Name
Value: AWSpublicsubnet1
그 후 update를 마무리하면 subnet까지 잘 생성되었음을 확인할 수 있습니다.
6. Next
- InternetGateway
Related Pages
- 1. VPC
- 2. Subnet
- 3. InternetGateway
- 4. RouteTable
- 5. SecurityGroup
- 6. EC2