■ AWS, ■ Linux

[리눅스] ns로부터 ip를 얻어올 수 있는, dig 명령어

AWS Route53에선 NS를 제공해주지만 ip주소를 제공해주지 않는다.

국내 cafe24도메인 호스팅같은 레지스트라에 네임서버를 등록할 경우 ip주소가 필요하다. 이땐

linux기반으로 dig명령어를 사용하여 각 도메인의 ip주소를 얻어온다.

하지만 AWS에선 가끔씩 ip가 변경되는 경우가 있다.

이럴땐 미리 공지를 해주니 공지가 확인되는 즉시 레지스트라측의 NS를 변경해주어야 한다.

사용법은

dig @servername 이렇게 사용하면된다.

자세한 설명

http://faq.hostway.co.kr/Linux_DNS/3577

ex)

$ dig @ns-16.awsdns-02.com.
Standard
■ AWS, ■ Node.js

[AWS] 아마존 웹 서비스에 Node.js 서버 구축 방법

AWS에 Node.js 서버를 구축하기 위해선 여러가지 절차가 필요하다.

먼저 개략적으로 큰 플로우는

1. AMI를 통한 EC2 인스턴스 생성 (EBS 또한 생성)

2. 보안그룹을 설정. (inbound 방화벽을 기본 22포트(ssh)에서 80포트(http)를 추가한다.)

2. 인스턴스상에서 Node.js, Mongodb, imagemagick, redis, git 등을 설치한다.

3. 필요에 따라서 FTP포트를 열고 80포트를 Node.js 메인 서버의 포트로 설정한다

4. 고정IP를 할당한다. Route53을통해 도메인을 연결한다.

5. S3를 필요에 맞게 세팅하고, CloudFont를 통해 CDN을 만든다.

6. mongodb의 admin을 설정한다. 사용자 계정 및 비번등을 설정한다.

7. mongodb replica set 및 sharding을 설정한다. (이땐 여러개의 EC2인스턴스가 필요하다.) 규모에 따라서 샤딩은 하지 않을수도 있으나 replica set은 필수로 한다. 또한 이때는 EC2의 인스턴스를 같은 region내에서 available zone을 다르게 해야한다.

이상 다음과 같은 플로우를 통해 기본적인 설정을 마칠수있다.

여기서 알아야할 부분은 EBS인데 EC2연동 여부와 상관없이 과금된다는 점과, 같은 region내에서 available zone (이하 az)가 다른 경우라도 전용선으로 서로 연결이 되어있기 때문에 내부 az간 통신은 과금되지 않는다.

추가적으로 알아볼 것은 EC2인스턴스와 EBS의 관계이다.

EC2인스턴스는 말그대로 인스턴스이다. 프로그래밍으로 치면 클래스를 통해 만든 인스턴스 변수와 같다는 말이다. 이뜻은 EC2인스턴스는 휘발성으로서, 영구적인 데이터는 저장하지 않고 그대신 EBS를 통해서 저장해야한다. EBS는 Elastic Block Store란 가상 하드디스크를 의미한다.

간단히 말하면 EC2에 무엇인가 저장했다면 그것은 휘발성인 메모리에 저장한 것이고, EBS를 통해 저장했다면 EBS라는 하드디스크에 저장하여 영구적으로 보존이 가능하다는 의미이다.

다음으로 AMI이다. 이것은 Amazon Machine Image라는 것으로 말그대로 우리가 윈도우 불법 복제를 통해 ISO등으로 구울때 사용했던 것과 비슷한 맥락이라고 보면된다. 즉 AMI를 미리 세팅하고 바로 내가 원하는 EC2인스턴스를 생성할수 있다는 의미이다.

Standard