brunch

You can make anything
by writing

C.S.Lewis

by Master Seo Dec 19. 2020

526. AWS자동화 Cloudformation VPC


클라우드의 장점 중 하나는 빠르게 서비스를 구축할수 있다는 것이다.

그중 AWS에서 제공하는 자동화 구축 툴인 Cloudformation을 이용하면 더 빠르게 서비스를 구축할수 있다.


<1>  Cloudformation 장점, 단점

<2>  Cloudformation 사용법

<3>  VPC 1개, Public Subnet 1개  만들기

<4>  VPC 1개, Public Subnet 1개 , Private Subnet1개  만들기

<5>  VPC 1개, Public Subnet 1개 , Private Subnet1개 , Pub EC2 1개, Pri EC2 1개 만들기



<1>  Cloudformation 장점, 단점


1

장점

빠르게 서비스를 구축할수 있다.

실행하다 실패하면 자동 롤백 된다.


2

단점

코드형태로 관리하므로 계속 해당 코드로 관리해야 한다.

AWS에 종속될수 있다.  

Retain옵션을 안주면 Cloudformation 스택 삭제시 리소스가 모두 지워진다.


3

절충안

처음에  표준화된 서비스만  코드형태로 빠르게 구축한다. 

정리된 코드는 Retain 옵션을 주어 삭제되지 않도록 한다.

추가 구축은  콘솔이나 CLI로  관리한다.

테라폼등 사용을 통해 멀티 클라우드를 대비할수 있다.




<2>  Cloudformation 사용법


1

코드로  관리하게 된다.

AWS Cloudformation에 코드를 올려 서비스를 구축한다.



2

Cloudformation 실행 하는 화면

문법에 오류가 있으면 자동으로 롤백한다.

보통 리전에 맞지 않는 AMI를 사용할경우 롤백을 한다.


3

만들어진 리소스를 확인할수 있다.



4

코드로  관리하게 된다.

다음이 기본 코드이다.

코드를  이해해 보자.



<3>  VPC 1개, Public Subnet 1개  만들기





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망의 라우팅 테이블에  서브넷을 연결하는 것이다.





<4>  VPC 1개, Public Subnet 1개 , Private Subnet1개  만들기






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






<5>  VPC 1개, Public Subnet 1개 , Private Subnet1개 , Pub EC2 1개, Pri EC2 1개  만들기



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:



감사합니다.


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari