[SAA] EC2 - Associate

Blue·2024년 1월 16일
0

SAA

목록 보기
4/25
post-thumbnail

Private vs Public IP(IPv4)

Network 는 두 종류가 있다.
Ipv4 는 컴퓨터망,데이터통신에서도 배운것으로 두종류로 Ipv6,Ipv4 가 있는것이고
Ipv4는 공용공간에서 37억개의 서로 다른 주소를 허용한다,,,
그러다 보니 이제 곧 고갈된다고 한다,,,

Ipv4 - 1.160.10.240 라고 예를 들어보자.
0.0.0.0 부터 255.255.255.255 까지 주소를 할당 할수 있으니까.
256의 4제곱하면 37억 정도 된다...

Private vs Public Ip Fundamental Differences

그래서 Public vs Private 차이를 보면

Web server 들은 public Ip를 통해서 인터넷에 접근가능하다.

사설 Network 내에 있는 컴퓨터들은 서로 통신이 가능하다.
그리고 공용 Gateway 인 인터넷 Gateway 를 이용하게 되면 Instance 들도 다른 서버 접근 가능하게 된다.

그래서 결국은 Public Ip가 있으면 인터넷 전역에 Access 가능하게 하고 Private Ip로는 Private Network 내에서만 Access 가능하다.


Public Ip는 기기가 internet 상에서 식별가능하고 전체 Web에서 유일해야한다.

Private Ip는 Private network 내에서만 식별된다. 그리고 Private Network 에서 유일해야한다.
사설 network 내에서만 통신이 가능하지만 internet gateway를 통해서 인터넷 연결이 가능하게 할수도 있다.

Elastic IPs

실제 실습했을때 Ec2 Instance 를 중지하고 다시 시작했을때 Public IP 가 변경되는것을 확인했다.

만약 자신이 고정된 Public Ip를 가지고 싶다면 Elastic Ip 를 사용하면 된다.
Elastic Ip 는 자신이 삭제하지 않는 이상 계속 유지된다.
한번에 한 Instance 에만 연결할수 있다.

이렇게 Elastic Ip를 사용하면 instance 의 실패 혹은 어떠한 사고에 대해서 빠르게 재매핑해줌으로써 사고 대응에 빠르게 대처할수있다.
그런 장점을 가지고있어서 Elastic Ip를 사용하는게 좋구나,,, 하고있었는데

사용하지 말란다.

왜,,,?
뭐,,,, 부족한 구조 결정을 반영하기도 하고, DNS 사용하는게 더 좋다고하고 Public IP 를 사용하지 않고 load Balancer 를 사용하는것도 더 좋다고 한다. 이건 뭐 솔직히 들어도모른다... 이후에 더 알아보자...

아 그리고 기본적으로 내부 AWS NET 은 사설 IP를 사용하고 WWW 인 internet 은 Public Ip로 접근한다.

Placement Groups

Ec2 Instance 가 AWS 인프라에 배치되는 방식을 제어할때 사용한다.
그래서 이게 뭔말인데?
일반적으로 Ec2 Instance 생성을 하면 AZ의 DC 중에서 무작위 하드웨어에 배치된다고한다.
하지만 우리는 특별한 룰에 따라서 배치해서 사용목적에 맞게 배치하여 목적을 맞출수있다.

3개의 방식이 있는데 Cluster,Spread,Partition 각각 사용 용도가 다르다.

Cluster 는 지연시간이 짧은 하드웨어 설정해서 성능이 좋다고한다.
AZ안에서 Ec2를 가깝게 배치해서 높은 네트워크를 설정한다는 뜻이다

Spread 는 Instance 가 다른 하드웨어에 분산된다고 한다. Critical 한 것들이 있을때 쓴다고하고

Partition 은 Instance를 분산하는것은 비슷하지만 여러 Partiton 에 Instance가 분할되어있다.
partition은 다양한 hardware rack set 에 의존한다.
(다른 실패에 격리되지 않고 partition은 격리된다고한다,,, 뭔소리,,,?)

Cluster

모든 Ec2 Instance 가 모두 동일한 Rack(Hardware) 에 있는 방법으로 동일한 hardware와 동일한 A에 있다. 이렇게 가까우니 짧은 지연시간을 가지게 되지만 하드웨어에 실패가 생기면 모든 Instance 가 실패라는 단점이 있다.

그러니 이러한 단점을 감수하고도 Application 의 매우 높은 대역폭과 짧은 지연 시간이 필요한 경우에 Cluster 방법을 사용하면 된다.

Spread

실패 위험을 최소화 할때 사용하는 방식이다. 모든 Instance 가 다른 하드웨어에 있는 방식이다.

장점으로는 여러 가용 영역에 있을수있고 동시에 발생하는 실패에 있어서 극복이 가능하다.
이말은 뭐냐면 h1 이 실패하게 된다해도 h2는 여전히 정상이다 Cluster 와 다르다.

하지만 단점으로는 가용영역 당 7개 instance로 제한한다.

이런 방식은 언제 쓰냐?
가용성을 극대화하고 위험을 줄일때 사용한다.
즉 instance 오류를 서로 격리해야 하는 critical application 을 사용할떄 사용한다.

Partition

여러 가용영역의 partition에 instance가 분산되어있다는 방식이다.
AZ 당 7개의 partitoin 을 나눌수있고 같은 지역에 여러 AZ를 거처서 SPan 가능하다.
최대 100개의 Ec2 Instance 를 가질수있고 rack 을 공유하지 않는다 한다..
사실 Spread , partition 의 차이를 정확하게는 몰라서 이부분은 공부후 수정을 좀 해야할것같다.

뭐 하튼 각 partition 은 AWS 의 Rack 이라고 하고 partition 이 많으면 instance 가 여러 hardware 에 분산되어있다는 뜻이다. 그래서 서로 실패로 부터 안전하다한다.

이러한 방식은 파티션을 전반에 걸쳐서 데이터와 서버를 퍼트려 두도록 파티션 인식이 가능한 Application 의 경우에 사용한다.

ENI(Elastic Network Interfaces)

VPC 의 논리적 구성요소라고 한다. 가상 Network Card 다.
Ec2 Instance 가 netwrok에 Access 하게 해준다.
인스턴스 생성시 기본 네트워크 인터페이스가 IP주소 등의 정보 할당과 함께 생성한다.

Amazon EC2 인스턴스에 여러 개의 가상 네트워크 인터페이스를 연결할수있다... 그러나 인스턴스와 가상 네트워크 인터페이스는 동일한 AZ 에 있어야함.

뭐 하튼 Instance 첨에 만들면 네트워크 인터페이스가 있지만 ENI 를 추가해서 보조 Private Ipv4를 제공하는게 ENI 라고 생각하면 좋을거같다.

실습때 두개의 instance를 만들어서 한개의 ENI를 두 Instance에 한번씩 연결해보는 실습을 해보며 명확하게 알수있었다.

같은 Application 를 가동중인 Ec2 Instance가 두개있고 Private Ipv4를 통해 다른 Instance로 Access 하려면 ENI 를 옮기면된다고 한다. 이렇게 함으로써 Network 장애조치 수행가능하고 Private Ipv4 활용 가능하다

EC2 Hibernate

절전 모드이다.
Instance Stop 하면 EBS Disk Data 가 유지되고
Terminate 하면 삭제된다.

원래는 그래서 중지하고 재 시작할떄까지 ,, ,OS 부팅하고 user data script 작동하고 캐시 ,,, 등등 으로 시작한다한다.

Hibernate 를 사용하면 ram에 있는 In-memory 보존하고 Booting 이 빨라진다.

Hibernate 과정을 보면 중지를 하면 Ram 내용은 EBS Volume에 저장되고 중지되면 Instance Ram은 사라지고 EBS Volume 에는 Ram이 Dump 된게 있다. (여기까지가 중지)
그리고 다시 재시작을 한다면 Disk 에서 Ram을 불러오고 Instance Memory 로 가져간다.

이렇게 된다면 Instance 는 운영체제 입장에서 중지된적이 없던것..!

이게 절전모드다,,,,

profile
할수있다가 아닌 해야한다!!

0개의 댓글