AWS IP, ENI, hibernate
Public IP
인스턴스를 생성하면 퍼블릭 서브넷에 생성되었고 ipv4를 할당 받았다면 public ip를 부여 받았을 것이다.
인터넷에서는 public ip를 사용하여 통신하여야한다.
Private IP
사내 통신인 경우에 하나의 라우터 밑에 여러 기기가 있고, 그 기기들은 각각 private ip를 할당 받아 사용하고 있다.
이 private ip로는 인터넷에 접근할 수 없으니 라우터를 통해 아이피를 퍼블릭으로 바꾼 뒤 인터넷으로 통신할 수 있다.
Elastic IP
인스턴스를 중지하였다 실행시키면 아이피가 바뀔 수 있다. 이를 위해서 고정아이피를 부여하는 것을 엘라스틱 아이피라고한다.
근데 엘라스틱 아이피는 왠만하면 쓰지 말라고 한다. DNS에 등록 한 다음에 사용하라고 하는데. 이게 무슨 말인지 잘 모르겠다.
ec2 > 네트워크 및 보안 > 탄력적 ip( elastic ip ) 에 들어가면 만들 수 있다. 버튼 하나만 누르면 생성 가능
작업 -> 인스턴스에 할당 누르면
아래와 같이 나오고 연결 누르면 끝
탄력적 주소에 위에서 만든 것이 들어왔고 퍼블릭 주소도 그 값으로 변경된 것을 확인할 수 있다. elastic ip를 취소해버리면 다른 아이피로 돌아온다.
배치그룹
인스턴스 들을 용도에 맞게 배치하면 효율을 높일 수 있다고 한다.
인스턴스가 6개 있다고 가정하자
1. 클러스터
하나의 AZ안에서 또 하나의 rack안에 모든 ec2를 모아 놓은 것.
엄청나게 빠른 속도로 통신이 가능하다.
하지만 AZ에 문제가 생겨버리면 전부다 통신이 끊기게 된다. 하이리스크 하이리턴
빠른 계산이 필요한 빅데이터, 빠른 접속이 필요할 때 사용한다고 한다.
2. 스프레드
데이터 소실 및 서비스 실패와 같은 위험을 감소시키기 위해 다수의 AZ를 사용하고,
서로 다른 하드웨어 랙에 인스턴스를 분산 배치한다. 3개의 AZ가 있다면 2개씩 분배
따라서 각 ec2는 각각 다른 하드웨어에 저장되어있을 것이다.
따라서 위험이 줄어든다 하나의 하드웨어가 고장나도 나머지 하드웨어는 살아있기 때문이다.
단점은 배치그룹의 가용영역당 인스턴스의 갯수가 7개로 제한이 된다. 하나가 각 파티션에 들어가기 때문인가봄
3.분할그룹
스프레드와 클러스터를 적절히 섞은 방법이다.
여러 가용영역의 파티션(하나의 Rack이라 생각)에 인스턴스를 분산할 수 있다.
가용영역당 최대 7개의 파티션을 만들 수 있다.
각 파티션 안에는 여러개의 ec2가 들어갈 수 있다.
각 파티션은 AWS의 rack을 나타낸다. 하나의 파티션안에 여러개의 ec2를 넣어 클러스터 처럼 활용할 수 있지만
그 파티션의 하드웨어가 고장이나도, 다른 파티션이 살아있기 때문에 연결이 끊기지 않는다.
만드는 건 정말 간단하다.
배치그룹 누르고 생성 누른 뒤에, 인스턴스를 생성할 때 고급 설정에서 배치 그룹을 선택하면 그 배치 그룹으로 들어가게 된다
ENI
elastic network interface이다.
ENI는 EC2가 네트워크에 접속할 수 있도록 해준다고 한다.
그리고 인스턴스의 외부에서도 사용할 수 있다고 한다 ?
처음 인스턴스를 만들면 기본 인터페이스인 eth0에 연결된다. 인스턴스 네트워크의 연결을 제공한다. ( 사설 아이피 )
eni의 특성은 다음과 같다.
하나의 사설 아이피를 가지고, 보조 아이피를 하나 더 가질 수 있다.
예를들어 인스턴스에 eh1을 추가하여 보조 사설 아이피를 더 가질 수 있다 ( 당연히 주소가 다름 )
각 ENI는 사설 아이피 하나당 elastic ip하나를 가질 수 있다고 한다 이말인 즉슨 보조 아이피가 여러개 있다면 여러 탄력 아이피를 가질 수 있다는 뜻?
예를들어 하나의 인스턴스에 기본적으로 하나의 사설아이피가 존재할테고 거기에 인터페이스를 추가하여 사설아이피가 하나 더 있다고 해보자 근데 이 인스턴스에 문제가 생겼을 경우 추가했던 인터페이스를 다른 인스턴스에 옮길 수도 있다. 이렇게 하면 기존에 사용하던 아이피를 계속 사용할 수 있을 것이다. ( 인스턴스는 바뀌었지만 )
ENI를 하나 만들었다. 만들 때 보안그룹을 하나 꼭 지정해주어야 한다. 보안그룹은 인스턴스에 지정하는거아니야?? 라는 생각이 들었는데
사실은 인터페이스에 지정했던 것은 아닐까??
아래에 실습 했던 내용이 있다. 참고하면 좋을거같다.
2023.01.27 - [AWS SAA] - AWS ENI 실습 미완
AWS ENI 실습 미완
ENI란 elastic network interface로 1.인스턴스에 탈부착 할 수 있으며, 2.생성 시 프라이빗 아이피가 주어지고, 3.엘라스틱 아이피를 붙일 수 있다고 알고있다. 따라서 해당 인스턴스가 사용이 불가되면
taehyeki.tistory.com
EC2절전모드 hibernate
절전모드를 하게되면
EC2의 RAM에 들어있는 데이터를 먼저 EBS에 저장하고
EC2를 종료한다.
다시 EC2를 부팅하면 EBS에 있던 데이터를 다시 RAM으로 넣는다.
따라서 부팅속도도 빠르고 절전모드를 하기 전 상태와 동일 한 상태를 유지할 수 있다. ( 한번도 중지 된 적이 없는 것 처럼 )
여러 운영체제에 사용할 수 있고 EBS볼륨에만 (must be EBS )저장할 수 있다. 또한 암호화도 필요하다( encrypted )
온디멘드,리설브,스팟 인스턴스에 다 사용할 수 있다. 그리고 60일까지 절전모드를 유지할 수 있다.
인스턴스를 생성할 때 hibernate를 active 해주어야 한다.
아래 문구에서 나오는 내용은, 저장할 루트볼륨(EBS)의 용량이 ram의 용량보다 커야한다고하고, 암호화가 되어있어야한다고했다.
위와 같이 스토리지에서 암호화를 해주고 암호화 해줄 키를 선택해주면 된다.