EC2 9

Amazon Linux 에서 메모리 스왑 파일 생성 (Amazon Lightsail)

현재 아마존 라이트세일의 가장 작은 모델에서 워드프레스를 사용하고 있습니다. (현재는 2개) 메모리가 작다보니 (512MB) mysql이 자꾸 죽는 현상이 발생하고 있습니다. (mysql 로그 파일을 보면 innodb에서 메모리 부족 에러가...) 물리 메모리를 늘리기 위해서는 플랜을 상향해야 하지만, 그만큼 비용이 증가하겠죠. 가벼운 서비스를 하는데 플랜을 상향하고 싶지는 않아, 스왑 메모리를 사용하도록 설정해 보겠습니다.(당연히 스왑 메모리는 (가상)디스크를 메모리로 사용하기 때문에 물리 메모리보다 느리지만, 그래도 SSD이니 예전 HDD에 비해서는 빠르지 않을까 싶습니다. 그리고 운영체제에서도 무작정 스왑 메모리를 RAM처럼 사용하는게 아니고 사용 빈도에 따라 영역 배치에 대한 최적화 조절을 할테니..

워드프레스 Unable to create directory wp-content/uploads ... 에러 해결 방안 (아마존 라이트세일, 아마존 리눅스)

먼저, 이 글은 이 블로그에 게제되어 있는, "Amazon Lightsail 여러개의 워드프레스 사이트 설치" 연재글에 따라 아마존 리눅스에 워드프레스를 설치한 경우의 해결 방법임을 미리 알려 드립니다. 물론, 그렇지 않다고 하더라도 해결 방법에 있어서의 틀은 비슷할테니 참고하면 되겠습니다. 워드프레스를 처음 설치하고 관리자 페이지에서 플러그인이나 테마등을 다운로드 받으려고 하면, "Unable to create directory wp-content/uploads/.... Is its parent directory writable by the server?" 이와 같은 에러 메시지를 보여주며 실패하는 경우가 있습니다. 이런 경우에 대해 구글에서 검색해 보면 해결 방법에 대한 많은 글들이 나옵니다만, 결국..

[AWS의 기본 09] NGINX를 node.js의 프록시로 설정하기

이번에는 NGINX를 node.js의 프록시로 사용하는 방법을 살펴 봅니다. node.js의 알려지지 않은 보안 문제가 있을 수 있기 때문에 NGINX와 같은 웹서버를 앞단에 프록시 서버로 사용하는 것을 추천한다고 알려져 있지요. 그 방법을 살펴보겠습니다. [9] NGINX를 node.js의 프록시로 설정하기 지난 포스팅들에서 이미 EC2 인스턴스에 node.js와 NGINX를 설치는 했습니다만, 함께 사용해 보는 것은 처음인것 같습니다. 먼저 테스트를 위해 예제로 간단한 node.js 소스코드를 만들어 봅니다. (샘플일 뿐이므로 각자 원하는 대로 만들면 되겠네요.) 아래 내용을 홈디렉터리에 'test.js' 라는 이름으로 저장합니다. (샘플일 뿐이므로 원하는 디렉터리에 원하는 이름으로 저장해도 됩니다...

[AWS의 기본 08] EC2 인스턴스에 도메인 연결 (Route53)

지난 회에서는 AWS의 Elastic IP(이하 EIP)를 통해 고정 IP 주소를 획득하는 방법을 알아 보았습니다. 그러나 실제로 숫자로 이루어진 IP 주소로 접속하는 사람은 거의 없을 것입니다. 대부분은 사람이 기억하기 쉽고, 또한 IP 주소가 바뀌더라도 매핑만 바꾸어 주어 접속할 수 있도록 도메인 이름을 사용할 것입니다. 이번 포스팅에서는 EC2 인스턴스에 본인 소유의 도메인을 연결해 봅니다. 미리 여기에 사용할 자신의 도메인은 가지고 있어야 한다는 점을 미리 알려 드립니다. [8] EC2 인스턴스에 도메인 연결 (Route53) AWS에서 도메인을 연결하기 위해 사용하는 도메인 설정 서비스는 Route 53 이라고 부릅니다. Route 53은 일반적인 도메인 설정에 더해서 편리한 기능들을 제공합니다..

[AWS의 기본 07] Elastic IP (EIP) 고정 아이피 할당

지금까지는 EC2 인스턴스의 Pubic IP 를 통해 인스턴스에 접속 하였습니다. 그런데, 인스턴스의 Public IP는 고정된 IP 주소가 아니라 유동적인 IP 주소 입니다. 따라서, EC2 인스턴스를 STOP 한 후에 재시작 하게 되면 다른 IP 주소라 바뀌게 됩니다. 그렇기 때문에 기본 Public IP는 실제 서비스에서 사용하기가 어렵다고 볼 수 있습니다. (이는 우리가 보통 인터넷 서비스를 받을 때 사용하는 유동 IP와 같은 개념이라고 보면 되겠습니다.) 따라서 우리가 외부에서 안정적으로 접속하기 위해서는 고정 IP가 필요한데, 이 고정 IP를 AWS에서는 Elastic IP (엘라스틱 IP, 이하 EIP), 줄여서 EIP라고 부릅니다. 고정 아이피는 전세계적으로 부족한 자원이기 때문에, 보통 ..

[AWS의 기본 06] EC2 인스턴스에 NGINX 설치와 보안 그룹 설정

지난회에 이어 이번에는 경량 웹서버로 인기를 얻고 있는 NGINX를 EC2 인스턴스에 설치해 봅니다. 지금까지 만든 인스턴스의 OS가 우분투 리눅스이므로, 우분투에 설치하는 것과 같습니다. 다만, 지난번에 하지 않은 보안 그룹 설정을 이번 기회에 간단해 해봅니다. [06] EC2 인스턴스에 NGINX 설치와 보안 그룹 설정 NGINX는 Apache 웹서버와 같은 부류의 웹서버 프로그램입니다. 가볍고 빨라서 사용 빈도가 점점 늘어나고 있다고 하는군요. 아파치의 경우는 프로세스와 쓰레드 기반으로 처리를 하고, NGINX의 경우는 비동기 이벤트 방식으로 요청을 처리한다고 합니다. 특히 모바일 서비스쪽으로 많이들 쓴다고 합니다. 어쨌든 NGINX를 이전에 생성한 EC2 인스턴스에 설치해 보겠습니다. 먼저 NGI..

[AWS의 기본 05] EC2 인스턴스에 node.js 설치 (우분투)

이번 포스팅에서는 지난번에 생성한 EC2 인스턴스에 요즘 많이들 사용하고 있는 node.js를 설치해 보도록 하겠습니다. 이번에는 조금 번외적인 부분이기 때문에 node.js를 사용하고자 하는 경우가 아니라면 넘어가도 좋습니다. APM(Apache+PHP+MySQL) 설치는 인터넷 검색하면 자료가 많이 나오니 생략하고요, 저는 EC2 인스턴스 서버를 node.js와 nginx 구성으로 해보고자 합니다. node.js를 설치하는 방법은 몇가지가 있습니다. 우분투의 apt-get을 이용하는 방법, node.js 사이트에서 바이너리를 다운로드 받는 방법. node.js나 github를 통해 node.js의 소스코드를 다운로드 받아 직접 빌드하는 방법이 있죠. 여기서는 github를 통해 소스코드를 다운로드 받..

[AWS의 기본 04] EC2 인스턴스에 SSH로 접속하기

지난회에서는 EC2 인스턴스를 만들었습니다. 이제 만들어진 인스턴스에 SSH로 접속해 보도록 합니다. [4] EC2 인스턴스에 SSH로 접속하기 EC2 인스턴스에 SSH로 접속하는 것은 어렵지 않습니다. 일반적인 접속과 차이는 키파일(pem)만 입력하면 끝입니다. EC2의 안내대로 하기만 하면 됩니다. 먼저 EC2 콘솔에 들어갑니다. (AWS 관리자 콘솔에서 EC2 선택하면 됩니다.) 좌측, Instances를 선택하면, 우측에 인스턴들의 목록이 나타납니다. 접속할 인스턴스를 선택합니다. 하단 정보란에 보면, 중요한 것이 'Public DNS'와 'Public IP' 입니다. 이 둘중 하나의 주소로 접속하면 되는 겁니다. 상단의 [Connect]를 클릭합니다. 아래와 같이 팝업이 뜨는데, 바로 접속할 수..

[AWS의 기본 03] EC2 인스턴스 만들기

지난 시간까지 AWS의 계정을 만들고, 2중 암호로 로그인 보안을 강화하는 것 까지 살펴 보았습니다. 이제, AWS의 핵심 서비스라고 할 수 있는 EC2의 인스턴스를 생성해 보겠습니다. EC2는 가상의 컴퓨터(대부분의 목적이 서버이죠)를 만들고 관리하는 서비스라고 보면 되겠죠. VirtualBox나 VMWare, Paralles, Virtual PC 와 같은 소프트웨어를 사용해본 분들도 요즘은 많을 것이라고 생각합니다. 간단히 PC 내에서 가상의 PC를 만들 수 있는 프로그램들이죠. EC2도 비슷한 개념으로 가상의 컴퓨터를 만들어서 필요한 운영체제와 소프트웨어 상에서 필요한 서비스를 할 수 있다고 보면 되겠습니다. EC2에서 만드는 가상의 컴퓨터 하나를 인스턴스라고 부르는데, 우리가 쓰는 실제 컴퓨터와는..