詳細検索

CloudFormation을 사용해 redmine 인스턴스를 실행하기

아바타
글쓴이 miyashitak
6분 읽기

CloudFormation을 사용해 redmine 인스턴스를 실행하기
日本語에서 번역 • 원문 보기

좋은 아침입니다. 이쪽은 인프라의 미야시타입니다.

회사 내 Redmine은 오래돼서 교체를 고려 중입니다.
최대한 적은 노력으로 검증 환경을 준비하고 싶었기에 AWS 클라우드포메이션을 사용했습니다
레드마인을 준비하려고 했어요.


목차

  1. 서론
  2. CloudFormation에서 인스턴스를 생성하기
  3. 인스턴스가 실행된 후 구성

서론

현재 운영 중인 Redmine 환경은 매우 오래되었으며, 물리적 서버에 Redmine 1.1.2.stable(MySQL) 버전이 설치되어 있어서 결국 교체하고 싶습니다.

CloudFormation에서 인스턴스를 생성하세요

관리 콘솔에서 Cloudformation 화면을 열어보세요.
"Create Stack"으로 새 템플릿을 만들기 시작하세요.

·이름→ 관리하기 쉬운 이름을 자유롭게 붙여줘.

  • 템플릿의 SingleInstanceSamples에서 "Redmine 프로젝트 관리 시스템"을 선택→샘플 템플릿 사용.
    *검증 환경이기 때문에 이번에는 최소화된 구성으로 구축할 예정입니다.

"다음 단계"로 다음 단계로 이동하세요.

Specify Parameters에 값을 입력했는데, 기본적으로 키를 지정할 수 없었어요.

그래서 저는 '되돌아가'로 돌아가겠습니다.

아마존에서 게시한 다음 템플릿을 지역 PC에 저장하세요.
https://s3.amazonaws.com/cloudformation-templates-us-east-1/Redmine\_Single\_Instance.템플릿
샘플과의 차이점은 KeyName 정의만 포함하고 있다는 점입니다. 그래서 SSH 로그인하지 않으면
이 작업은 필요하지 않습니다.

[shell](8행) "KeyName": { "Description" : "인스턴스에 대한 SSH 접근을 가능하게 하는 기존 EC2 키쌍의 이름", "Type": "String", "MinLength": "1", "MaxLength": "255", "AllowedPattern" : "[\\x20-\\x7E]*", "ConstraintDescription" : "ASCII 문자만 포함할 수 있습니다." },

(230행) "KeyName" : { "ref" : "KeyName" },[/shell]
"Create A New Stack"의 Upload 템플릿 파일을 다시 선택한 후 저장된 템플릿을 선택한 후 "다음 단계"로 진행하세요.
Parameters에 KeyName 필드가 추가되므로, 생성된 키 이름을 입력하세요.

·DBRootPassword→ 자유롭게 사용하세요. 나중에 mysql에 로그인할 때 꼭 사용하세요.
·InstanceType→ 기본적으로 m1.small이지만, t1.micro로 변경합니다.

  • 이미 생성된 키→ KeyName을 지정하세요. 아직 생성되지 않았다면 먼저 생성하세요.
    • SSH→ SSH를 허용하는 NW를 지정하세요. 나중에 Securitypolicy에서 변경할 수 있습니다

"다음 단계"로 다음 단계로 이동하세요.

옵션이 필수는 아니지만, 관리하기 쉽게 하려면 태그 이름을 이름으로 붙이는 것이 좋다고 생각합니다
이번에는 고급 설정도 필요하지 않습니다. 자동 확장 시 알림을 받고 싶다면 설정하세요.

"다음 단계"로 다음 단계로 이동하세요.

리뷰에서 최종 체크가 있고 문제가 없다면, 창작은 "Create"로 시작합니다.

인스턴스 실행 후 구성

스택 이벤트가 업데이트되어 CREATE_COMPLETE가 되면 EC2 쪽을 확인하세요.
지정된 타입 인스턴스가 실행 중이므로, 먼저 브라우저에서 접근해 보세요.

http://ec2-54-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com/

Redmine 로그인 페이지가 뜨면 기본 관리자로 로그인해 보세요.
ID:admin 비밀번호:admin

안전하게 로그인할 수 있었습니다.

이제 시작했으니, HTTP 포트는 기본적으로 ANY에서 열려 있습니다.
이번에는 회사 입장이므로, 보안 정책을 변경하고 IP 주소 제한을 도입할 예정입니다.

80 (HTTP) 0.0.0.0/0 →80 (HTTP) 202.202.202.xx/32

*만약 ANY를 유지하고 싶다면, 관리자 비밀번호를 즉시 변경하는 것이 더 낫다고 생각합니다.

이제 인스턴스를 쉽게 만들 수 있습니다.
Bitnami의 AMI를 마켓플레이스에서 만들 수 있을 거예요.
운영체제가 우분투이고 앞으로 Autoscale을 사용하고 싶어서 이번에는 CloudFormation으로 빌드했습니다.

다음에는 Redmine 1.1.2 + MySQL 5.0 환경에서 Redmine 2.4.0 + MySQL 5.5로 데이터를 마이그레이션한 기록을 게시할 예정입니다.

○2014/4/8 업데이트
OpenSSL 취약점(하트블리드)을 방지하기 위해 버전을 업그레이드했습니다.
[shell]# rpm -qa|grep openssl openssl-1.0.1e-4.55.amzn1.x86_64 openssl-1.0.1e-4.55.amzn1.i686 openssl-devel-1.0.1e-4.55.amzn1.x86_64[/shell] *HTTS 통신이 없고 접근이 제한되어 있지만 불편합니다.
 이미 다뤄진 버전으로 업데이트하세요.

[shell]# yum update openssl 업데이트: audit.x86_64 0:2.3.2-3.19.amzn1 openssl.i686 1:1.0.1g-1.69.amzn1 openssl.x86_64 1:1.0.1g-1.69.amzn1

의존성 업데이트: audit-libs. i686 0:2.3.2-3.19.AMZN1 audit-libs.x86_64 0:2.3.2-3.19.amzn1 glibc.i686 0:2.17-36.81.amzn1 glibc.x86_64 0:2.17-36.81.amzn1 glibc-common.x86_64 0:2.17-36.81.amzn1 glibc-devel.x86_64 0:2.17-36.81.amzn1 glibc-headers.x86_64 0:2.17-36.81.amzn1 openssl-devel.x86_64 1:1.0.1g-1.69.AMZN1

완료! # rpm -q --changelog openssl * 2014년 4월 9일 수요일 크리스티안 개프턴 gafton@amazon.com - 업스트림 v1.0.1g로 리베이스

* 2014년 4월 7일 월요일 Ben Cressey bcressey@amazon.com - DLopen과 libssl 사용으로 FIPS 검증

* 2014년 4월 7일 월요일 크리스티안 개프턴 gafton@amazon.com - 상위 1.0.1f/g 릴리스 수정 추가(CVE-2014-0160, CVE-2013-0169 수정)[/shell]
업데이트는 이제 완료되었습니다. 하지만 도서관을 이용하는 모든 서비스는
다시 시작해야 해.
[shell]# /etc/init.d/httpd restart[/shell] *참고로, 현재 출시된 아마존 리눅스 AMI는 처음부터 준비된 버전입니다.
이제는 그렇게 되었다고 전해집니다.
 (시작 후 매번 다른 공개된 AMI의 버전을 확인하는 것이 더 좋습니다.)/gafton@amazon.com/bcressey@amazon.com/gafton@amazon.com

Related Articles