서버/AWS (Amazon Web Services) 27

여러 회사 AWS CodeCommit 계정을 하나의 맥에서 사용하기

테스트 환경 OS: MacOS X MohaveGit 원격 저장소 : AWS CodeCommit 접속 방법 : SSH 개발하는 PC 한대에서 여러 업체 또는 개인 프로젝트를 하는 경우가 많습니다. 그러다보면, Git 원격 저장소도 여러 곳이 되는 경우가 생기는데요, 원격 저장소 주소가 모두 다르다면 큰 문제가 없겠지만, 여러 필드가 한곳의 원격 저장소 서비스를 사용할 수도 있습니다. 저의 경우는 AWS CodeCommit 을 사용하여 Git 리포지토리를 보관하는데, 문제는 여러 도메인이 AWS CodeCommit을 사용합니다. 즉, 현재 상황만 해도 제 사업장의 개인 프로젝트, 협업 프로젝트, 외부 프로젝트 3곳이 모두 AWS CodeCommit을 사용해야 하는 상황입니다. AWS CodeCommit의 공..

AWS CodeCommit 으로 Git 소스코드 관리 4 - 리포지터리 만들기 및 Push

이제 다 왔습니다. 마지막으로 CodeCommit 에서 원격저장소 (리포지토리 - Repository)를 만들고 소스코드를 푸쉬해 보도록 합니다. 앞의 과정이 복잡한것 같으나 사실 정리해보면 별 내용은 아닙니다. 그리고 일단 한번 설정해 두면 자주 건드릴 일은 없습니다. 그럼 이제 실제로 필욜한 원격 저장소를 만들어 보죠. (1) AWS CodeCommit 리포지토리 생성 다시 AWS 콘솔에서 CodeCommit 을 찾아갑니다. (서비스 목록에서 찾거나, 서비스 검색에서 CodeCommit 입력) CodeCommit 콘솔에서 왼쪽 메뉴의 '리포지토리'를 클릭하면 오른쪽에 리포지토리 화면이 나옵니다. [리포지토리 생성]을 클릭합니다. 리포지토로 생성 화면이 나옵니다. 고유한 리포지토리 이름을 정해 줍니다...

AWS CodeCommit 으로 Git 소스코드 관리 3 - SSH 연결 설정

이제 AWS CodeCommit 에 연결하기 위해 MacOS 터미널에서 개인키 / 공개키를 생성하고, 공개키를 AWS 에 생성한 CodeCommit 에 사용할 사용자 계정에 등록해 보겠습니다. AWS 는 기본적으로 SSH 를 통해 연결할 때 직접 아이디와 패스워드를 입력받는 것이 아니라, 암호화 키 파일을 통해 로그인을 하게 되어 있습니다. 따라서 먼저 맥에서 (또는 윈도우등에서) RSA 개인키/공개키 쌍 파일을 만든 뒤에 공개키를 AWS 에 등록하는 방법으로 로그인하게 됩니다. 이제 그 방법을 알아보겠습니다. (1) MacOS 에서 RSA 개인키/공개키 쌍 파일 만들기 먼저 MacOS 에서 터미널을 엽니다. 터미널에서 "/Users/[사용자명]/.ssh" 디렉터리로 이동합니다. > cd ~/.ssh s..

AWS CodeCommit 으로 Git 소스코드 관리 2 - IAM 계정 설정

이제 실제로 AWS CodeCommit 을 사용하기 위한 준비를 해 보겠습니다. 코드커밋을 사용하기 위해서, 계정에 사용 권한이 필요합니다. 물론 AWS 루트 계정으로 HTTPS 를 통한 연결을 할 수 있지만, 보안상 위험을 피하기 위해 AWS는 IAM 을 이용해 권한을 제한한 사용자 계정을 따로 만들거나 이미 있는 사용자 계정에 권한을 주는 식으로 관리할 것을 권장합니다. 더군다나 이 연재에서는 SSH 를 통한 연결을 할 것인데, 루트 사용자 계정으로는 SSH 연결을 할 수 없습니다. 말하자면 루트 계정은 관리목적과 같이 필요한 경우에만 사용하라는 것이지요. 따라서, 여기서는 CodeCommit을 사용할 계정과 그룹을 하나씩 만들어 보도록 하겠습니다.(이미 만들어 놓은 그룹이나 사용자 계정이 있고 해당..

AWS CodeCommit 으로 Git 소스코드 관리 1 - 소개

테스트환경운영체제 : MacOS X Mojave (터미널 사용을 윈도에서는 비슷하게 쉘을 이용해 할 수 있습니다.)원격저장소 플랫폼 : AWS CodeComit (AWS 코드커밋)소스코드관리툴 : Git (깃) 접속 방법 : SSH 요즘은 Git 원격 저장소(Repository) 를 제공하는 서비스가 여럿 있습니다. 그중에 유명한 곳이 GitHub (깃허브) 나 GitLab (깃랩) 같은 곳이겠죠. 대체로 공개 프로젝트를 진행하는데는 문제가 없으나 비공개 프로젝트 (Private) 의 경우 어느 서비스를 사용할지 고민이 됩니다. 깃허브의 경우 최근에 무료 계정으로도 비공개 저장소를 제공하기 시작하여 선택지는 더 넓어진 것 같네요. 제 경우는 두가지 점을 보고 선택을 하였는데요, 첫번째는 비용이 많이 들지..

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

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

워드프레스에서 SFTP를 사용하여 업데이트와 플러그인 테마등을 설치 가능 하도록 하기

워드프레스에서 테마와 플러그인을 설치하거나 업데이트 설치를 시도하면, 워드프레스는 FTP 또는 FTP-S 계정을 요구합니다. 예를 들어 새로운 테마를 다운로드 받고 설치 하려고 하면... 이렇게 Connection Type 선택지가 FTP와 FTPS 밖에 없습니다. 그러나 AWS EC2나 아마존 라이트세일 아마존 리눅스 서버 인스턴스는 기본적으로 SSH만 지원되고 FTP와 SFTP는 따로 설치 및 설정하지 않으면 기본적으로 세팅되어 있지는 않습니다. 그러면 워드프레스에서 어떻게 SFTP를 사용할 수 있을까요? 이 글에서는 가장 간단한 방법인 SFTP 지원 플러그인을 설치해서 SFTP를 사용할 수 있도록 만들어 봅니다. 1. SSH SFTP Updater Support 다운로드 먼저 워드프레스 관리자 페이..

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

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

워드프레스 서버 주소 변경 (아마존 라이트세일, 아마존 리눅스)

"Amazon Lightsail 여러개의 워드프레스 사이트 설치" 글을 쓰다보니, 한가지 중요한 점을 잊고 있었습니다. 서버 인스턴스를 삭제하고 다시 생성하면 (스냅샷에서 생성하는 것도 마찬가지) 서버 인스턴스의 퍼블릭 IP가 변경됩니다. 그런데 도메인을 연결하지 않고 작업을 하고 있기 때문에 워드프레스가 설치되면서 워드프레스 설정값에는 설치할 때의 서버 IP를 사이트 URL로 가지고 있게 됩니다. 따라서 스냅샷 서버 인스턴스를 다시 실행해도, 웹브라우저에서 새로 부여받은 퍼블릭 IP로 접속해 봤자, 화면이 깨지게 됩니다. (엉뚱한 주소로 작업을 할테니까요.) (바로 이런 현상이.... 페이지가 엉망이 되어 버립니다...) 서버의 주소가 변경되면, 워드프레스의 관리자 페이지에서 WordPress Addr..

Amazon Lightsail 여러개의 워드프레스 사이트 설치 (9) - 워드프레스 설치

이제 가상 서버에 워드프레스를 설치해 보겠습니다. 여기에서는 우선 minthands.com/kr과 minthands.com/en에만 설치하는 것을 보여드립니다. 다른 (예를 들어 여기서는 platcube.com/kr과 platcube.com/en이 되겠네요.) 사이트 디렉토리에 설치하는 것은 동일하기 때문에 따로 보여드리지 않아도 쉽게 설치 할 수 있으리라 생각합니다. 주의할 점은 지금 아파치의 도큐먼트 루트를 /var/www/minthands.com 으로 설정해 두었기 때문에 이상태에서 다른 디렉토리, 예를 들어 제 경우에 /var/www/platcube.com 하위 디렉토리에 설치를 하게 되면, 설정을 DB 부터 손봐야 되는 불편함이 있습니다. (더군다나 지금 상태에서는 웹브라우저에서 접근도 안됩니다..