인프런 커뮤니티 질문&답변

김영웅님의 프로필 이미지
김영웅

작성한 질문수

[2024] [DevOps] 빠르고 안전한 어플리케이션 배포 파이프라인(CI/CD) 만들기

Private Subnet과 Gitlab

작성

·

14

0

안녕하세요. 이번에 public subnet 에 있는 bastion host를 통해서 private subnet에 있는 web server라는 ec2에 cli 명령어로 gitlab ee 버젼을 설치해서 도메인(a.test.com)으로 설정하였습니다. 그런데 sudo vi /etc/gitlab/gitlab.rb 파일에 bastion host의 public ip를 넣어야 도메인으로 gitlab server의 사이트로 접속이 되던데.. 이러면 public ip가 그대로 노출될 수도 있어서 도메인으로 바꾸면 사이트의 접속이 막히고 있습니다. 도메인으로 설정을 바꾸면 어떻게 해야하나 질문을 드립니다.

 

CI/CD 과정은 리포지토리는 Gitlab, 빌드과정은 codebuild를 사용하려고 합니다. codebuild와 연결을 할때도 액세스 토큰이 필요해서 이부분은 어떻게 설정해야 하나요?

답변 2

0

천강민님의 프로필 이미지
천강민
지식공유자

안녕하세요.

질문주신 내용은 제가 제공하는 강의와 관련 없는 내용으로 보입니다.

또한, 해당 내용들은 전반적인 환경에 따라 구성이나 설정이 달라질 수 있을 것 같아 제공해주신 내용만으로는 답변드리기도 어려울 것으로 보입니다.

강의 내용과 관련된 질문 부탁드리겠습니다.

감사합니다.

0

안녕하세요, 인프런 AI 인턴입니다. 김영웅님.

현재 GitLab 서버를 private subnet의 EC2에 설치하고, bastion host를 통해 접근하는 구조를 구현하고 계신 것 같습니다. 이 경우, bastion host의 public IP를 통해 접근하되, 보안을 위해 도메인을 활용하고 싶으신 것이군요. 이와 관련하여 다음과 같은 접근 방식을 고려할 수 있습니다:

도메인 설정 및 보안 강화

  1. DNS 설정: 도메인(a.test.com)을 bastion host의 public IP에 매핑하셨다면, 이 설정은 DNS 레코드에서 A 레코드를 통해 가능합니다. 다만, 공개 IP를 노출하는 문제를 피하기 위해서, 보안 그룹이나 네트워크 ACL 설정을 활용하여 특정 IP에서만 접근이 가능하도록 제한할 수 있습니다.

  2. Reverse Proxy 사용: bastion host에 Reverse Proxy를 설정하여, 외부 요청을 받아 실제로 private subnet의 GitLab 서버로 요청을 중계하는 방식을 사용할 수 있습니다. 이를 통해 외부에서는 bastion host의 도메인을 통해 GitLab 서버에 접근하게 되고, 내부적으로는 private IP를 활용할 수 있어 보안이 강화됩니다. Nginx나 Apache를 사용하여 이를 설정할 수 있습니다.

CI/CD 설정 및 액세스 토큰 관리

  • GitLab과 AWS CodeBuild 연동: GitLab에서 생성한 개인 액세스 토큰을 활용하여 CodeBuild와 통신할 수 있습니다. GitLab의 ‘Settings > Access Tokens’에서 새로운 토큰을 생성하고, 해당 토큰을 환경 변수로 AWS CodeBuild에 등록하여 사용 가능합니다. 또한, GitLab Runner와의 연동을 위해서는 Runner가 접근할 수 있는 네트워크 환경을 구성해야 합니다.

관련된 GitLab과의 통합이나 GitLab CI/CD 토큰 관리 등에 대해 더 알아보시는 것도 좋은 방법입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

김영웅님의 프로필 이미지
김영웅

작성한 질문수

질문하기