Atlassian application tunnel 로 On-Prem 과 Cloud 연결하기
- 1 App tunnel 이란?
- 2 사전준비
- 2.1 Network 설정
- 2.2 HTTP connector 와 upstream port 설정
- 2.2.1 Confluence
- 2.2.2 Jira
- 2.2.3 Bamboo
- 3 설정하기
- 3.1 Confluence 와 연결
- 4 제약 사항
- 5 같이 보기
App tunnel 이란?
Atlassian Cloud를 사용하거나 사용할 계획이지만 여러 가지 이유로 On-Premise 환경에서 계속 Confluence 와 Jira 를 사용해야 할 경우가 있습니다.
이런 경우 서로 다른 네트워크에 존재하므로 각각의 데이터를 참고하기 어려워지는 문제가 있습니다.
즉 Cloud 에 새로 만든 Confluence 에서 On-premise 환경에 있는 Confluence Page나 JIRa Issue 참조하지 못하고 On-Premise 에 있는 Jira 에서도 Cloud 에 있는 Jira 이슈나나 Confluence 페이지를 연결할 수 없습니다.
App tunnel 은 이런 문제를 해결하기 위해 개발된 plugin 으로 Server 나 Data Center 에 설치하면 Cloud 에 있는 제품과 Application Link 로 연결할 수 있으므로 같은 네트워크에 있는 제품처럼 양방향으로 서로의 데이터를 참조할 수 있습니다.
App tunnel 의 전체 구성도는 위와 같으며 다음과 같은 구성을 갖고 있습니다.
Tunnel server: 사용하는 Cloud 제품이 tunnel server 역할을 수행하며 설정은 관리자 페이지인admin.atlassian.com 에서 할 수 있습니다.
Tunnel client: On-premise 에 있는 Confluence 나 Jira 제품이 Tunnel client 입니다.
Application link (cloud): 클라우드 제품마다 Application Link 를 생성하고 기존 생성된 app tunnel 을 사용하도록 할 수 있습니다. 하나의 tunnel 을 여러 개의 클라우드 제품이 사용할 수 있습니다. Application link 는 반드시 Cloud 에 생성해야 합니다.
Application link (self-managed): 상호 연결(reciprocal link)은 자동으로 on-premise 인스턴스에 생성됩니다. Cloud에서 들어오는 연결은 tunnel 을 사용하고 Cloud 로 나가는 경우 직접 연결하므로 on-premise 에서 cloud 로 연결할 수 있도록 방화벽에서 out bound 를 열어주어야 합니다.
제약 사항
각 on-premise instance 는 하나의 cloud instance 와 tunnel 구성이 가능합니다. 여러 개의 instance 가 있을 경우 개별 instance 마다 tunnel 을 구성해야 합니다.
사전준비
Network 설정
Application tunnel 은
https://tunnel.services.atlassian.com
에 연결할 수 있어야 제대로 동작하므로 On-premise 에 있는 Confluence/Jira/Bamboo 에서 위 서버의 443 포트로 연결할 수 있도록 Out bound 방화벽 정책을 등록합니다.On-premise 에 있는 제품이 Atlassian Cloud 에 연결할 수 있도록 나가는 방화벽 정책을 수정합니다. Cloud IP 와 도메인은 Atlassian cloud IP ranges and domains 에서 확인할 수 있습니다.
HTTP connector 와 upstream port 설정
연결하려는 instance 를 중지하고 conf/server.xml 을 열고 다음 커넥터를 추가합니다.
Confluence
<Connector port="8093" connectionTimeout="20000" maxThreads="200" minSpareThreads="10"
enableLookups="false" acceptCount="10" URIEncoding="UTF-8" />
bin/setenv.sh 를 에디터로 열고 다음 내용을 추가합니다.
## export CATALINA_OPS 앞에 와야 합니다.
CATALINA_OPTS="-Dsecure.tunnel.upstream.port=8093"
export CATALINA_OPTS
이제 bin/startup.sh 를 실행해서 Confluence 를 재구동합니다.
Jira
<Connector port="8081" connectionTimeout="20000" maxThreads="200" minSpareThreads="10"
enableLookups="false" acceptCount="10" URIEncoding="UTF-8"
relaxedPathChars="[]|" relaxedQueryChars="[]|{}^\`"<>"/>
bin/setenv.sh 를 열고 JVM_SUPPORT_RECOMMENDED_ARGS
에 다음 내용을 추가합니다.
Jira 를 재구동합니다.
Bamboo
Bamboo 9.3 부터 application tunnel 을 공식 지원합니다.!
bin/setenv.sh 를 열고 JVM_SUPPORT_RECOMMENDED_ARGS
에 다음 내용을 추가합니다.
설정하기
On-premise 에 있는 Confluence 나 Jira 에 Atlassian Marketplace 에 있는 Application tunnels 를 설치합니다. 설치가 끝나면 관리자 설정 화면에서 “Application tunnel” 을 볼 수 있습니다.
admin.atlassian.com 에 접속해서 On-premise 와 연결할 instance 를 선택합니다.
Settings → Application tunnels → Create tunnel 을 선택합니다.
Create tunnel 을 선택합니다.
Tunnel name(1) 에 이름을 넣고 Connect to(2) 에 연결할 URL 을 입력합니다.
연결을 위한 security key 가 생성되는데 하단의 Copy 를 눌른후에 메모장등에 복사해 둡니다.
Copy and proceed 를 누르면 연결할 On-premise 로그인 창으로 전환합니다. 관리자 암호를 넣어서 로그인합니다.
위에서 복사한 security key 를 입력한 후에 Add 를 눌러서 반영합니다.
Application tunnel 이 생성된 것을 볼 수 있습니다.
Confluence 와 연결
위는 Cloud instance 와 연결한 것이고 제품별로 Application Link 를 설정해줘야 합니다.
Confluene 관리자로 로그인한 후에 Administrator → Application links 에 들어갑니다.
상단의 Create link 를 클릭합니다.
Link type 은 Tunneled application link 를 선택하고 Application tunnel 은 위에서 생성한 tunnel 이름을 선택하고 Continue 를 클릭합니다.
Review Link 화면을 확인하고 Continue 를 클릭하면 Application Link 설정이 완료됩니다.
App Link 에 연결한 제품이 표시되는 걸 확인할 수 있습니다.
제약 사항
App tunnel 로 연결할 경우 같은 네트워크에 있는 제품을 Application Links 로 연결한것처럼 사용할 수 있지만 제품별로 여러 제약 사항이 있습니다.
Confluence Cloud Jira Server
Jira Cloud Confluence Server
Jira Cloud Jira Server
Jira SW Cloud Server dev tools(Bitbucket, Bamboo, Fisheye/Crucible)
같이 보기