분류 전체보기
-
IIS 고급 로깅 설정Windows 2017. 11. 16. 18:01
Windows IIS 서비스에서 기본 로깅보다 다양한 로그를 남기고 싶을 때 고급로깅 모듈을 설치해 줍니다.특히 X-Forwarded-For 설정을 통해 프록시 서버 또는 LB를 통해 연결되는 Client IP를 확인 가능 합니다.고급 로깅은 IIS7.0 이상에서 사용 가능 합니다. X-Forwarded-For란?HTTP Header 중 하나로 HTTP 프록시 서버 또는 LB를 통해 HTTP Server에 요청한 Client의 IP를 확인하기 위해 사용IIS의 Advanced Logging 설치Advanced Logging 모듈 다운로드https://www.microsoft.com/ko-kr/download/details.aspx?id=7211다운로드 받은 파일을 IIS 웹서버에 설치고급 로깅 설정IIS..
-
Windows 작업 스케줄러에 URL 실행 예약작업 등록Windows 2017. 11. 14. 09:41
윈도우 서버에서 작업 스케줄러를 이용하여 URL을 호출해야 되는 경우, 아래와 같이 작업 스케줄러를 생성한 계정에서 IE나 chrome등의 브라우저를 실행하면서 인수값으로 해당 URL을 실행하는 것으로 설정을 많이 합니다. 근데 위의 방법은 해당 계정이 로그인이 되어 있는 상태에서만 가능합니다.그 이유는 윈도우의 예약된 작업은 작업을 예약한 사용자의 보안 컨텍스트에서만 실행이 되기 때문입니다. 그래서 서버를 재시작 하거나 작업실행 계정을 로그오프 해버리면 위와 같은 작업 스케줄러는 실행이 되지 않습니다.이와 같은 문제를 방지하고자 해당 계정을 로그인 하지 않아도 URL을 호출하는 작업을 Powershell을 이용해 구성해 보았습니다. 주의할 점은 Powershell은 3.0 이상이 설치되어 있어야 합니다..
-
Windows의 Disk 블록 에러 확인 및 해결 방법Windows 2017. 11. 10. 09:18
얼마전 사무실의 PC가 윈도우 업데이트도 안되고 프로그램 설치를 해도 계속 실패를 했어서 파악을 해봤습니다. 위에서 처럼 윈도우 업데이트나 프로그램을 설치하면 아래와 같이 Windows Modules Installer Worker가 과도한 CPU를 점유하는 것을 확인 했습니다. 좀 더 자세하게 프로세스 세부정보를 확인해 보니 TiWorker.exe가 과도하게 CPU를 점유하고 있었네요. Tiworker.exe가 뭔지 찾아보니 TrustedInstaller.exe의 부모프로세스란 것과 Windows Module Installer Service의 한 부분으로 Windows Update에 관여하고 있다고 합니다."Tiworker.exe" is by Microsoft. Its parent process is "..
-
오픈소스로 구성하는 데브옵스 시스템 - Docker 이미지 빌드 구성DevOps 2017. 11. 9. 00:34
지금까지는 오픈소스로 데브옵스 솔루션 구성을 완료 하였습니다.이제 마지막으로 젠킨스에서 Docker 이미지를 만들고 Marathon에서 이를 실행해 보도록 하겠습니다. 일단 gitlab에 project를 생성하고 index.html 파일을 commit 합니다. 그리고 jenkins와 gitlab을 연동하기 위해 User Settings > Access Tokens에서 access token key를 생성 합니다. 키 생성 버튼을 클릭하면 다음 화면에서 아래와 같은 키값이 나옵니다. 해당키를 잘 복사해 둡니다. 이제 Jenkins 구성을 해봅니다. 환경설정의 gitlab 부분에 아래와 같이 등록합니다. Credentials의 Add 버튼을 눌러 위에서 만든 access token key를 등록 합니다. 이..
-
오픈소스로 구성하는 데브옵스 시스템 - Gitlab 설치DevOps 2017. 10. 16. 23:24
여러분의 조직에서는 어떤 소스관리툴을 사용하고 계신가요?제가 다녔던 첫 개발회사에서는 Alienbrain이라는 scm을 사용하고 있었는데, 유료 라이선스이고, 소스코드 보다는 Art asset 관리에 유용한 툴로 기억을 합니다. 그래서 프로그래머 조직에서 그당시 유행하기 시작한 git을 도입하자는 의견이 많았고, 일부 개발자는 본인의 소스코드는 git으로 local repository를 만들어 관리하고는 했습니다.그러나 그당시에는 git을 손쉽게 사용할 수 있는 gui 툴이 부족하여 command를 익혀야 하는 노력이 필요로 했습니다. 그런데 최근에는 github의 유행으로 많은 개발조직이 git으로 소스관리를 하고 있습니다.다만 github는 private 저장소를 사용하기 위해서는 비용이 발생하게 됩..
-
오픈소스로 구성하는 데브옵스 시스템 - Nexus3 Repository 구성DevOps 2017. 10. 8. 00:48
회사 시스템으로 Docker 환경을 구성하시는 분들은 아무래도 빌드 이미지를 Docker Hub에 공유하기 어려울 수 있을 껍니다.물론 Docker Hub도 github와 마찬가지로 private repository를 제공하고 있습니다만....비용이 발생한다는 것과 계정 관리를 해야 된다는 이슈가 생깁니다. 우리는 오픈소스를 이용해서 하나의 시스템 환경에서 모든 플랫폼을 구성하는 것으로 계획을 세웠기에 private repository도 오픈소스 소프트웨어를 이용하여 구축을 해보도록 하겠습니다. 제가 찾은 오픈소스 소프트웨어는 Nexus로 아마 공용 라이브러리 저장소로 이용을 하고 계신분들도 있으실꺼라 추측이 됩니다. 이 Nexus가 3버전부터는 Docker를 지원하기 시작했네요.그리고 Nexus 자체도..
-
오픈소스로 구성하는 데브옵스 시스템 - Jenkins로 Docker 배포 구성DevOps 2017. 6. 6. 23:54
처음 빌드와 배포 업무를 담당 했을 때 수작업을 통해 일일이 배포를 하던 시절이 있었습니다. 그러다 매번 같은 파일을 업로드 하는 시간을 줄이고자 rsync를 이용하여 변경된 파일만 여러 서버에 동시에 배포하는 스크립트를 활용 했었습니다. 한단계 더 나아가 svn을 이용하여 배포에 대한 리비전 관리를 하였고, 배포중 문제가 발생하면 원래 잘되던 리비전으로 롤백을 하는 방식을 구성 했습니다. 그러나 최근에는 Jenkins가 CI툴의 대세가 된 듯 합니다.워낙에 다양한 플러그인이 존재하고 있어 왠만한 기능 구현이 다 된다고 보면 됩니다. 우리도 개발소스의 빌드부터 Docker 이미지의 생성 및 배포까지의 모든 자동화 작업을 위해 Jenkins를 구축해 보도록 하겠습니다. 다양한 설치 방법이 있지만 가장 심플..
-
오픈소스로 구성하는 데브옵스 시스템 - 서비스 디스커버리 구성DevOps 2017. 5. 21. 23:46
앞에서 Mesos 클러스터와 Marathon을 이용하여 서비스를 구성해 보았습니다. 그런데 marathon을 이용해 Application을 실행하게 되면, 어떤 Mesos slave에서 실행이 될지는 정해져 있지 않습니다. 또한 Instance는 임의의 포트를 할당 받게 되는데, 실제 사용자를 위한 서비스는 80 또는 443포트를 이용해야 합니다. 여기에 Mesos slave에는 다양한 서비스가 올라가고 이들은 보통 80 또는 443 포트를 이용해야 하기에 Virtual Host를 이용한 서비스 디스커버리도 필요로 합니다. 위의 모든 사항을 만족하기 위해 이제부터 Marathon-lb를 이용하여 서비스 디스커버리 및 로드밸런서 기능을 구현해 보도록 하겠습니다.Marathon-lb도 Marathon 프레임..