SlideShare a Scribd company logo
Atlassian Server
RDS for MySQL 삽질
기
AWSKRUG 데이터베이스모임
May 2019
야놀자 김성한
Atlassian Server RDS for MySQL 삽질기
안녕하세요?
• 현 야놀자 R&D Technical Center, Systems Engineer
• AWSKRUG 답변러
• 시스템 관리자  DevOps 로 변화 중
• 가끔 DBA, Security 업무를 병행하거나, 협업을 자주 합니다
Atlassian Server RDS for MySQL 삽질기
Atlassian Server RDS for MySQL 삽질기
Atlassian Server RDS for MySQL 삽질기
Atlassian Server 소개
Atlassian Server RDS for MySQL 삽질기
Atlassian Server RDS for MySQL 삽질기
• ID 관리 통합 솔루션
• AD나 LDAP으로부터 디렉토리를 읽어와 통합할 수 있음
• SSO 기능으로 한 쪽에서 로그인한 세션을 다른 서버에서 같이 사용 가능
• Directory connector 로 연결하고, User/Group membership 을 Crowd 상에서 추가로 만들
수 있음
• 예: AD에 confluence-user 그룹을 만들지 않아도 Crowd 에서 만들면 사용할 수 있어요
• REST API 지원, Custom Application 지원되므로 IdP 로 사용할 수도…
• Rest API Reference : https://docs.atlassian.com/atlassian-crowd/current/REST/
• Server/Datacenter 버전만 존재하며 Cloud 에서는 Atlassian Access 가 대응
Atlassian Server RDS for MySQL 삽질기
• 위키!로 많이 알고 계시죠
• 문서 협업 작성 도구로 소개 되고 있습니다
• 최근엔 동시 편집 기능이 생겼어요 (6버전 이상)
Atlassian Server RDS for MySQL 삽질기
• 이슈 트래커 보다는 지라!로 많이 알고 계시죠
• 지라부터 도입했다면 지라 Internal directory 로 Crowd 를 대신할 수 있습니다
• REST API 같은 고급 기능은 안되요
• 6버전부터는 제품이 세분화 되었어요
• Jira Core – 일반 업무 중심
• Jira Software – Software 개발자 업무 중심
• Jira Service Desk – Agent 단위로 요청을 받는 업무 중심
Atlassian Server RDS for MySQL 삽질기
• Git 저장소 호스팅 서비스를 제공합니다
• 이름이 예전엔 Stash 였고, Cloud 버전이 Bitbucket 이었는데,
Server 버전도 이름을 Bitbucket 으로 바꿨어요
• GitLab Server 와 같이 다양한 기능은 없지만, 다른 Atlassian 제품과 호환에 강점
• OpenJDK도 제일 먼저 적용 가능했고, MariaDB도 사용할 수 있어요!
AWS의 데이터베이스
Atlassian Server RDS for MySQL 삽질기
• https://aws.amazon.com/ko/products/databases/
Atlassian Server RDS for MySQL 삽질기
• 관계형 ✨
• Amazon Aurora : MySQL, PostgreSQL
• Amazon RDS : MySQL, PostgreSQL, MariaDB, Oracle, SQL Server
• Amazon RedShift
• 키-값 : Amazon DynamoDB
• 문서 : Amazon DocumentDB (MongoDB 호환)
• 인메모리 : ElastiCache for Redis, ElastiCache for Memcached
• 그래프 : Amazon Neptune
• 시계열 : Amazon Timestream
• 원장 : Amazon Quantum Ledger Database (QLDB)
Atlassian Server RDS for MySQL 삽질기
왜 RDS를 선택 했나요?
Atlassian Server RDS for MySQL 삽질기
• Atlassian 제품군은 PostgreSQL, MySQL 위에 주로 올라감
• 해외의 경우는 PostgreSQL 에 대한 Reference 가 많음
• 하지만 국내의 경우 MySQL 로 운영하는 경우가 많음 : 익숙, 운영 편의성…
• 기존 운영 방식 : 서버에 MySQL 올려서 사용
• Dump 파일로 백업 : Atlassian 제품군 권고 방법  복구에 시간이 소요
• DB 파일 자체를 백업 : 복구 시간 단축, 무결성 issue
• OS 관리, 스펙 상향의 어려움  주로 Atlassian 제품 업그레이드시에만 챙김
• DB Tuning : my.cnf 관리의 어려움, Application 특성 파악 어려움
Atlassian Server RDS for MySQL 삽질기
• Amazon Aurora
• MySQL 인터페이스를 제공 + 완전히 다른 Storage Engine
• 무리 없이 사용할 수 있겠지 라고 생각했으나…
• 현재 Server 버전에서는 Amazon Aurora 를 공식 지원하지 않음
• 특히 로그 등에 특별히 명시되지 않는 형태로 에러가 나와서 찾기가 어려웠음 😭
• https://jira.atlassian.com/browse/CONFSERVER-36248
• https://jira.atlassian.com/browse/JRASERVER-41985
• Data Center 버전에서는 곧 지원 예정
• https://community.atlassian.com/t5/Summit-articles/What-happens-at-Atlassian-Summit-Las-Vegas-does-not-stay-
in/ba-p/1081981
Atlassian Server RDS for MySQL 삽질기
• 결국 방법은 RDS for MySQL 뿐인가…
• Open source MySQL 과 가장 유사한 관리형 서비스⭐️
• EC2 로 올렸을 때 OS관리의 번거로움, 사이즈 상향 시 튜닝 값 확인/수정의 어려움 해소
• 재기동만으로 올라가는 엔진 버전 + OS 접근 자체가 불가하므로 관리영역이 줄어듬
• 각종 메모리 관련 parameter 가 수식으로 설정되어 있어 별도로 계산할 필요가 없음
Atlassian Server RDS for MySQL 삽질기
• 결국 방법은 RDS for MySQL 뿐인가…
• Replication 은 걸어도 좋지만, Snapshot 정도로도 크게 이슈가 없음
• 어차피 가장 최종 버전의 정보만 중요할테니…
• 복구도 스냅샷으로 바로 띄우니, 기존의 dump 복구 시간보다 엄청난 단축!
• Confluence 서버 & RDS DB를 스냅샷에서 띄워서, Space Export 를 한 뒤,
실 서버에 Import 완료까지 1시간만에 끝!
Atlassian Server RDS for MySQL 삽질기
• 결국 방법은 RDS for MySQL 뿐인가…
• RDS 로 바꾸고 현재까지 반년이 넘었는데 별 탈 없이 사용하고 있습니다!
• 믿고 쓰는 AWS 관리형 서비스(?)
Atlassian Server RDS for MySQL 삽질기
운영 중 있었던 일…
Atlassian Server RDS for MySQL 삽질기
• Crowd 의 Group membership 을 일괄 수정 시도를 DB를 직접 접근
• 내용이 꼬이면서 Crowd 로 인증하는 모든 동작이 실패
• 마침 금요일이어서, “여러분 주말에 편하게 쉬세요. 어떻게든 고칠게요😭”
• 결국 처음부터 재설치 하여 복구
• Crowd 에 데이터가 별로 없었기에 가능한 일
• 교훈: ERD 없이 DB 건들지 말자
• https://developer.atlassian.com/server/crowd/crowd-database-schema/
Atlassian Server RDS for MySQL 삽질기
Crowd 의 DB를 수정하다가 그만…
• 동시 편집 기능이 들어가면서, 잦은 저장 실패가 발생
• 처음엔, 그냥 동시 편집을 여러 사람이 긴 문서를 수정해서 라고 생각했으나…
• 얼마 뒤 짧은 문서에도 동일한 에러가 발생!
• 확인해 보니, MySQL Collation 을 utf8bin 으로 설치하게 되는데,
emoji 입력 시 글자를 인지하지 못해 문제가 발생하게 되었다!
• Collation 을 utf8mb4 로 변경하여 해결
• https://confluence.atlassian.com/confkb/saving-page-throws-unable-to-communicate-with-
server-message-921470725.html
• Jira 의 경우 : https://confluence.atlassian.com/jirakb/emojis-and-special-characters-for-jira-
with-mysql-952604493.html
Atlassian Server RDS for MySQL 삽질기
Confluence 가 저장이 안 되요!
RDS 사용 시 유의사항 또는 팁
Atlassian Server RDS for MySQL 삽질기
• 먼저 VPC Private Network 를 꼭 만들고 사용하세요
• AWS IP 는 노출되어 있고, 업데이트되기 때문에, Brute Force 공격이 많이 들어오게 되어
있습니다.
• Public accessibility 를 켜 놓으면 접근은 쉽겠으나, 많은 공격 시도가 있을 것입니다.
• Bastion Host 등으로 SSH Tunneling 하여 사용을 강력히 권고 드립니다.
• 문제가 생기면 Error Log, Slow Query Log 를 보세요.
• 특히 RDS 는 Cloudwatch Logs Stream 으로 Log를 발행할 수 있습니다.
https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MyS
QL.html#USER_LogAccess.MySQLDB.PublishtoCloudWatchLogs
• Audit Log Plugin 을 설정하면, 특정 사용자의 Behavior 를 감사할 수 있습니다.
(Aurora, MariaDB, MySQL 중 일부 버전에 사용 가능)
• https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlu
gin.html
Atlassian Server RDS for MySQL 삽질기
Q&A
Atlassian Server RDS for MySQL 삽질기
끝.
들어주셔서 고맙습니다.
Atlassian Server RDS for MySQL 삽질기

More Related Content

PDF
클라우드 인프라로 협업 시스템 구축기 - 김성한 / 야놀자
PPTX
AWS Native하게 Atlassian 서버 설치하기
PDF
20180124 스타트업부터 대기업까지 aws와 함께한 7년
PDF
20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...
PPTX
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
PDF
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
PDF
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
PDF
20171221 naver labs aws 101
클라우드 인프라로 협업 시스템 구축기 - 김성한 / 야놀자
AWS Native하게 Atlassian 서버 설치하기
20180124 스타트업부터 대기업까지 aws와 함께한 7년
20190214 Startup의 한정된 자원(인력, 자금)에서 AWS를 효율적으로 사ᄋ...
서버리스 데이터 플로우 개발기 - 김재현 (Superb AI) :: AWS Community Day 2020
아마존의 관리형 게임 플랫폼 활용하기: GameLift (Deep Dive) :: 구승모 솔루션즈 아키텍트 :: Gaming on AWS ...
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
20171221 naver labs aws 101

What's hot (20)

PDF
AWS re:Invent 2016 참가자를 위한 강의 세션 가이드
PDF
AWS Enterprise Summit :: 클라우드 도입 사례를 통한 적용 대상과 실행 전략 (정우진 이사)
PDF
AWS CLOUD 2017 - 클라우드 마이그레이션 어떻게 할 것인가? (이병윤 이사)
PPTX
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)
PDF
AWS CLOUD 2018- 보다 강력한 Serverless, AWS Lambda 기능 확장(안효빈 솔루션즈 아키텍트)
PDF
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
PDF
EC2 컨테이너 서비스 고객사례 Vingle - 조휘철 소프트웨어 엔지니어 :: AWS Container Day
PDF
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
PDF
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
PDF
20180124 naver labs aws network and security
PPTX
AWS 아마존 웹 서비스 책 없이 시작하기 - AWS 유저그룹 엔터프라이즈 모임 발표 20180514 이준구(SDS)
PDF
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
PDF
VMware Cloud on AWS - AWS 엔터프라이즈 유저그룹 발표 20180405 김종서
PDF
AWS SAM을 이용한 모놀리식 서버리스 어플리케이션 운영하기
PDF
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
PPTX
Aws serverless services
PDF
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
PDF
20171013 데이터 분석가를 위한 데이터플랫폼 Seminar - Public Cloud 101
PDF
Elastic Load Balancing 심층 분석 - AWS Summit Seoul 2017
PDF
AWS Summit Seoul 2015 - AWS 이용사례 - SM 엔터테인먼트 및 셰이커미디어 사례를 중심으로
AWS re:Invent 2016 참가자를 위한 강의 세션 가이드
AWS Enterprise Summit :: 클라우드 도입 사례를 통한 적용 대상과 실행 전략 (정우진 이사)
AWS CLOUD 2017 - 클라우드 마이그레이션 어떻게 할 것인가? (이병윤 이사)
10월 웨비나 - AWS에서 MS Windows 운영, 관리 및 개발 손쉽게 하기 (박철수 솔루션즈 아키텍트)
AWS CLOUD 2018- 보다 강력한 Serverless, AWS Lambda 기능 확장(안효빈 솔루션즈 아키텍트)
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
EC2 컨테이너 서비스 고객사례 Vingle - 조휘철 소프트웨어 엔지니어 :: AWS Container Day
AWS SAM으로 서버리스 아키텍쳐 운영하기 - 이재면(마이뮤직테이스트) :: AWS Community Day 2020
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...
20180124 naver labs aws network and security
AWS 아마존 웹 서비스 책 없이 시작하기 - AWS 유저그룹 엔터프라이즈 모임 발표 20180514 이준구(SDS)
AWS로 사용자 천만 명 서비스 만들기 (윤석찬)- 클라우드 태권 2015
VMware Cloud on AWS - AWS 엔터프라이즈 유저그룹 발표 20180405 김종서
AWS SAM을 이용한 모놀리식 서버리스 어플리케이션 운영하기
AWS 서버리스 신규 서비스 총정리 - 트랙2, Community Day 2018 re:Invent 특집
Aws serverless services
AWS 9월 웨비나 | AWS 데이터베이스 마이그레이션 서비스 활용하기
20171013 데이터 분석가를 위한 데이터플랫폼 Seminar - Public Cloud 101
Elastic Load Balancing 심층 분석 - AWS Summit Seoul 2017
AWS Summit Seoul 2015 - AWS 이용사례 - SM 엔터테인먼트 및 셰이커미디어 사례를 중심으로
Ad

Similar to Atlassian Server RDS for MySQL 삽질기 (20)

PDF
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
PDF
Amazon RDS 살펴보기 (김용우) - AWS 웨비나 시리즈
PPTX
10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)
PDF
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
PDF
클라우드 환경으로 데이터베이스 이전하기 - 강민석, AWS SR. Database SA
PDF
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안
PDF
초보자를 위한 AWS EC2, RDS 설정
PDF
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)
PDF
레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017
PPTX
AWS RDS, DYNAMO
PDF
아마존 웹 서비스 상에서 MS SQL 100% 활용하기::김석원::AWS Summit Seoul 2018
PDF
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
PPTX
강의 4. 데이터베이스:: AWSome Day Online Conference
PDF
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
PDF
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 데이터베이스 - 박주연 AWS 솔...
PPTX
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
PDF
Amazon RDS 서비스 활용하기 - 신규 기능 중심으로 (윤석찬) :: AWS 월간 웨비나
PDF
[D3T2S01] Amazon Aurora MySQL 메이저 버전 업그레이드 및 Amazon B/G Deployments 실습
PDF
클라우드 기반 AWS 데이터베이스 선택 옵션 - AWS Summit Seoul 2017
PDF
MariaDB 제품 소개
나에게 맞는 AWS 데이터베이스 서비스 선택하기 :: 양승도 :: AWS Summit Seoul 2016
Amazon RDS 살펴보기 (김용우) - AWS 웨비나 시리즈
10월 웨비나 - AWS 상에서 Microsoft SQL Server 운영의 모범 사례 살펴보기 (최정욱 솔루션즈 아키텍트)
Amazon RDS Proxy 집중 탐구 - 윤석찬 :: AWS Unboxing 온라인 세미나
클라우드 환경으로 데이터베이스 이전하기 - 강민석, AWS SR. Database SA
[2017 Windows on AWS] AWS 를 활용한 SQL Server 최적 활용 방안
초보자를 위한 AWS EC2, RDS 설정
빠르고 안전하게 간편한 AWS로 데이터 마이그레이션 하기::최유정 (AWS 솔루션즈아키텍트)
레코벨의 추천 서비스 고군 분투기 - AWS Summit Seoul 2017
AWS RDS, DYNAMO
아마존 웹 서비스 상에서 MS SQL 100% 활용하기::김석원::AWS Summit Seoul 2018
[오픈소스컨설팅]Day #1 MySQL 엔진소개, 튜닝, 백업 및 복구, 업그레이드방법
강의 4. 데이터베이스:: AWSome Day Online Conference
게임 서비스를 위한 AWS상의 고성능 SQL 데이터베이스 구성 (이정훈 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
[Games on AWS 2019] AWS 입문자를 위한 초단기 레벨업 트랙 | AWS 레벨업 하기! : 데이터베이스 - 박주연 AWS 솔...
AWS 6월 웨비나 | AWS에서 MS SQL 서버 운영하기 (김민성 솔루션즈아키텍트)
Amazon RDS 서비스 활용하기 - 신규 기능 중심으로 (윤석찬) :: AWS 월간 웨비나
[D3T2S01] Amazon Aurora MySQL 메이저 버전 업그레이드 및 Amazon B/G Deployments 실습
클라우드 기반 AWS 데이터베이스 선택 옵션 - AWS Summit Seoul 2017
MariaDB 제품 소개
Ad

Atlassian Server RDS for MySQL 삽질기

  • 1. Atlassian Server RDS for MySQL 삽질 기 AWSKRUG 데이터베이스모임 May 2019 야놀자 김성한
  • 2. Atlassian Server RDS for MySQL 삽질기 안녕하세요? • 현 야놀자 R&D Technical Center, Systems Engineer • AWSKRUG 답변러 • 시스템 관리자  DevOps 로 변화 중 • 가끔 DBA, Security 업무를 병행하거나, 협업을 자주 합니다
  • 3. Atlassian Server RDS for MySQL 삽질기
  • 4. Atlassian Server RDS for MySQL 삽질기
  • 5. Atlassian Server RDS for MySQL 삽질기
  • 6. Atlassian Server 소개 Atlassian Server RDS for MySQL 삽질기
  • 7. Atlassian Server RDS for MySQL 삽질기 • ID 관리 통합 솔루션 • AD나 LDAP으로부터 디렉토리를 읽어와 통합할 수 있음 • SSO 기능으로 한 쪽에서 로그인한 세션을 다른 서버에서 같이 사용 가능 • Directory connector 로 연결하고, User/Group membership 을 Crowd 상에서 추가로 만들 수 있음 • 예: AD에 confluence-user 그룹을 만들지 않아도 Crowd 에서 만들면 사용할 수 있어요 • REST API 지원, Custom Application 지원되므로 IdP 로 사용할 수도… • Rest API Reference : https://docs.atlassian.com/atlassian-crowd/current/REST/ • Server/Datacenter 버전만 존재하며 Cloud 에서는 Atlassian Access 가 대응
  • 8. Atlassian Server RDS for MySQL 삽질기 • 위키!로 많이 알고 계시죠 • 문서 협업 작성 도구로 소개 되고 있습니다 • 최근엔 동시 편집 기능이 생겼어요 (6버전 이상)
  • 9. Atlassian Server RDS for MySQL 삽질기 • 이슈 트래커 보다는 지라!로 많이 알고 계시죠 • 지라부터 도입했다면 지라 Internal directory 로 Crowd 를 대신할 수 있습니다 • REST API 같은 고급 기능은 안되요 • 6버전부터는 제품이 세분화 되었어요 • Jira Core – 일반 업무 중심 • Jira Software – Software 개발자 업무 중심 • Jira Service Desk – Agent 단위로 요청을 받는 업무 중심
  • 10. Atlassian Server RDS for MySQL 삽질기 • Git 저장소 호스팅 서비스를 제공합니다 • 이름이 예전엔 Stash 였고, Cloud 버전이 Bitbucket 이었는데, Server 버전도 이름을 Bitbucket 으로 바꿨어요 • GitLab Server 와 같이 다양한 기능은 없지만, 다른 Atlassian 제품과 호환에 강점 • OpenJDK도 제일 먼저 적용 가능했고, MariaDB도 사용할 수 있어요!
  • 13. • 관계형 ✨ • Amazon Aurora : MySQL, PostgreSQL • Amazon RDS : MySQL, PostgreSQL, MariaDB, Oracle, SQL Server • Amazon RedShift • 키-값 : Amazon DynamoDB • 문서 : Amazon DocumentDB (MongoDB 호환) • 인메모리 : ElastiCache for Redis, ElastiCache for Memcached • 그래프 : Amazon Neptune • 시계열 : Amazon Timestream • 원장 : Amazon Quantum Ledger Database (QLDB) Atlassian Server RDS for MySQL 삽질기
  • 14. 왜 RDS를 선택 했나요? Atlassian Server RDS for MySQL 삽질기
  • 15. • Atlassian 제품군은 PostgreSQL, MySQL 위에 주로 올라감 • 해외의 경우는 PostgreSQL 에 대한 Reference 가 많음 • 하지만 국내의 경우 MySQL 로 운영하는 경우가 많음 : 익숙, 운영 편의성… • 기존 운영 방식 : 서버에 MySQL 올려서 사용 • Dump 파일로 백업 : Atlassian 제품군 권고 방법  복구에 시간이 소요 • DB 파일 자체를 백업 : 복구 시간 단축, 무결성 issue • OS 관리, 스펙 상향의 어려움  주로 Atlassian 제품 업그레이드시에만 챙김 • DB Tuning : my.cnf 관리의 어려움, Application 특성 파악 어려움 Atlassian Server RDS for MySQL 삽질기
  • 16. • Amazon Aurora • MySQL 인터페이스를 제공 + 완전히 다른 Storage Engine • 무리 없이 사용할 수 있겠지 라고 생각했으나… • 현재 Server 버전에서는 Amazon Aurora 를 공식 지원하지 않음 • 특히 로그 등에 특별히 명시되지 않는 형태로 에러가 나와서 찾기가 어려웠음 😭 • https://jira.atlassian.com/browse/CONFSERVER-36248 • https://jira.atlassian.com/browse/JRASERVER-41985 • Data Center 버전에서는 곧 지원 예정 • https://community.atlassian.com/t5/Summit-articles/What-happens-at-Atlassian-Summit-Las-Vegas-does-not-stay- in/ba-p/1081981 Atlassian Server RDS for MySQL 삽질기
  • 17. • 결국 방법은 RDS for MySQL 뿐인가… • Open source MySQL 과 가장 유사한 관리형 서비스⭐️ • EC2 로 올렸을 때 OS관리의 번거로움, 사이즈 상향 시 튜닝 값 확인/수정의 어려움 해소 • 재기동만으로 올라가는 엔진 버전 + OS 접근 자체가 불가하므로 관리영역이 줄어듬 • 각종 메모리 관련 parameter 가 수식으로 설정되어 있어 별도로 계산할 필요가 없음 Atlassian Server RDS for MySQL 삽질기
  • 18. • 결국 방법은 RDS for MySQL 뿐인가… • Replication 은 걸어도 좋지만, Snapshot 정도로도 크게 이슈가 없음 • 어차피 가장 최종 버전의 정보만 중요할테니… • 복구도 스냅샷으로 바로 띄우니, 기존의 dump 복구 시간보다 엄청난 단축! • Confluence 서버 & RDS DB를 스냅샷에서 띄워서, Space Export 를 한 뒤, 실 서버에 Import 완료까지 1시간만에 끝! Atlassian Server RDS for MySQL 삽질기
  • 19. • 결국 방법은 RDS for MySQL 뿐인가… • RDS 로 바꾸고 현재까지 반년이 넘었는데 별 탈 없이 사용하고 있습니다! • 믿고 쓰는 AWS 관리형 서비스(?) Atlassian Server RDS for MySQL 삽질기
  • 20. 운영 중 있었던 일… Atlassian Server RDS for MySQL 삽질기
  • 21. • Crowd 의 Group membership 을 일괄 수정 시도를 DB를 직접 접근 • 내용이 꼬이면서 Crowd 로 인증하는 모든 동작이 실패 • 마침 금요일이어서, “여러분 주말에 편하게 쉬세요. 어떻게든 고칠게요😭” • 결국 처음부터 재설치 하여 복구 • Crowd 에 데이터가 별로 없었기에 가능한 일 • 교훈: ERD 없이 DB 건들지 말자 • https://developer.atlassian.com/server/crowd/crowd-database-schema/ Atlassian Server RDS for MySQL 삽질기 Crowd 의 DB를 수정하다가 그만…
  • 22. • 동시 편집 기능이 들어가면서, 잦은 저장 실패가 발생 • 처음엔, 그냥 동시 편집을 여러 사람이 긴 문서를 수정해서 라고 생각했으나… • 얼마 뒤 짧은 문서에도 동일한 에러가 발생! • 확인해 보니, MySQL Collation 을 utf8bin 으로 설치하게 되는데, emoji 입력 시 글자를 인지하지 못해 문제가 발생하게 되었다! • Collation 을 utf8mb4 로 변경하여 해결 • https://confluence.atlassian.com/confkb/saving-page-throws-unable-to-communicate-with- server-message-921470725.html • Jira 의 경우 : https://confluence.atlassian.com/jirakb/emojis-and-special-characters-for-jira- with-mysql-952604493.html Atlassian Server RDS for MySQL 삽질기 Confluence 가 저장이 안 되요!
  • 23. RDS 사용 시 유의사항 또는 팁 Atlassian Server RDS for MySQL 삽질기
  • 24. • 먼저 VPC Private Network 를 꼭 만들고 사용하세요 • AWS IP 는 노출되어 있고, 업데이트되기 때문에, Brute Force 공격이 많이 들어오게 되어 있습니다. • Public accessibility 를 켜 놓으면 접근은 쉽겠으나, 많은 공격 시도가 있을 것입니다. • Bastion Host 등으로 SSH Tunneling 하여 사용을 강력히 권고 드립니다. • 문제가 생기면 Error Log, Slow Query Log 를 보세요. • 특히 RDS 는 Cloudwatch Logs Stream 으로 Log를 발행할 수 있습니다. https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/USER_LogAccess.Concepts.MyS QL.html#USER_LogAccess.MySQLDB.PublishtoCloudWatchLogs • Audit Log Plugin 을 설정하면, 특정 사용자의 Behavior 를 감사할 수 있습니다. (Aurora, MariaDB, MySQL 중 일부 버전에 사용 가능) • https://docs.aws.amazon.com/ko_kr/AmazonRDS/latest/UserGuide/Appendix.MySQL.Options.AuditPlu gin.html Atlassian Server RDS for MySQL 삽질기
  • 25. Q&A Atlassian Server RDS for MySQL 삽질기