클라우드의 장점 중 하나는 빠르게 서비스를 구축할수 있다는 것이다.
그중 AWS에서 제공하는 자동화 구축 툴인 Cloudformation을 이용하면 더 빠르게 서비스를 구축할수 있다.
1
장점
빠르게 서비스를 구축할수 있다.
실행하다 실패하면 자동 롤백 된다.
2
단점
코드형태로 관리하므로 계속 해당 코드로 관리해야 한다.
AWS에 종속될수 있다.
Retain옵션을 안주면 Cloudformation 스택 삭제시 리소스가 모두 지워진다.
3
절충안
처음에 표준화된 서비스만 코드형태로 빠르게 구축한다.
정리된 코드는 Retain 옵션을 주어 삭제되지 않도록 한다.
추가 구축은 콘솔이나 CLI로 관리한다.
테라폼등 사용을 통해 멀티 클라우드를 대비할수 있다.
1
코드로 관리하게 된다.
AWS Cloudformation에 코드를 올려 서비스를 구축한다.
2
Cloudformation 실행 하는 화면
문법에 오류가 있으면 자동으로 롤백한다.
보통 리전에 맞지 않는 AMI를 사용할경우 롤백을 한다.
3
만들어진 리소스를 확인할수 있다.
4
코드로 관리하게 된다.
다음이 기본 코드이다.
코드를 이해해 보자.
1
VPC1 3개 , Pub1 4개 로 총 7개 리소스 사용한다.
VPC관련 3개
VPC 10.0.0.0/16 // 전체 IP블럭이다,
InetnetGateway // 인터넷으로 나가는 게이트웨이이다
AttatchGateway // 게이트 웨이를 VPC에 연결하는 것이다.
Public 서브넷 라우팅 관련 4개
PublicSubnet1 10.0.0.0/24 // Public망에 서브넷이다.
PublicRouteTable // Public망의 라우팅 테이블이다.
PublicRoute 0.0.0.0/0 // Public망의 디폴트 라우팅 테이블이다. 인터넷 게이트웨이로 추가한다.
PublicSubnetRouteTableAssociation1 // Public망의 라우팅 테이블에 서브넷을 연결하는 것이다.
2
리소스 7개 생성 된다.
Cloudformation은 VPC관련 3개가 필요하다.
1
VPC 10.0.0.0/16 // 전체 IP블럭이다,
2
InetnetGateway // 인터넷으로 나가는 게이트웨이이다
Attatchgateway // 게이트 웨이를 VPC에 연결하는 것이다
3
서브넷 라우팅 관련 4개
Publicsubnet1 10.0.0.0/24 // Public망에 서브넷이다.
4
PublicRouteTable // Public망의 라우팅 테이블이다.
PublicRoute 0.0.0.0/0 // Public망의 디폴트 라우팅 테이블이다. 인터넷 게이트웨이로 추가한다.
5
PublicSubnetRouteTableAssociation1 // Public망의 라우팅 테이블에 서브넷을 연결하는 것이다.
VPC관련 3개 , Pub관련 4개 로 총 7개 리소스 사용한다.
Cloudformation관련 Private 서브넷 라우팅 관련 3개가 필요하다.
1
VPC관련 3개
VPC 10.0.0.0/16 // 전체 IP블럭이다,
InetnetGateway // 인터넷으로 나가는 게이트웨이이다
AttatchGateway // 게이트 웨이를 VPC에 연결하는 것이다.
2
Public 서브넷 라우팅 관련 4개
PublicSubnet1 10.0.0.0/24 // Public망에 서브넷이다.
PublicRoutetable // Public망의 라우팅 테이블이다.
PublicRoute 0.0.0.0/0 // Public망의 디폴트 라우팅 테이블이다. 인터넷 게이트웨이로 추가한다.
PublicSubnetRouteTableAssociation1 // Public망의 라우팅 테이블에 서브넷을 연결하는 것이다.
3
Private 서브넷 라우팅 관련 3개
// Private 서브넷이 추가될때 리소스가 3개 추가 된다.
PrivateSubnet1
PrivateRoutetable
PrivateSubnetRouteTableAssociation1
1
EC2 를 만들거라 Key Pair를 지정할거라 파라미터 1개 필요하다.
2
VPC1 3개 , Pub1 4개 로 총 7개 리소스 사용한다.
3
Priavete 서브넷이 추가되는경우 3개가 추가 된다.
4
보안그룹1개, EC2 인스턴스 2개로 2개 추가
1
EC2 를 만들거라 Key Pair를 지정할거라 파라미터 1개 필요하다.
EC2 Key Pair가 미리 만들어져 있어야 한다.
2
VPC1 3개 , Pub1 4개 로 총 7개 리소스 사용한다.
3
VPC 3개 필요
testVPC:
testIGW:
testIGWAttachment:
4
Pub1 4개 필요
testPublicSN:
testPublicRT:
DefaultPublicRoute: 0.0.0.0/0 인터넷 게이트웨이로 추가
testPublicSNRouteTableAssociation:
5
Priavete 서브넷이 추가되는경우 3개가 추가 된다.
testPrivateSN:
testPrivateRT:
testPrivateSNRouteTableAssociation:
6
보안그룹 1개, EC2 인스턴스 2개로 2개 추가 된다.
testSecurityGroup:
testPublicEC2:
testPrivateEC2:
감사합니다.