개발자

AWS 32bit 프로그램 서버 연결해보신 분 있나요?

2월 14일조회 39

안녕하세요, AWS 서버를 구축하다가 의문이 생겨서 여럿 서치 후 질문합니다. 일단 저는 64bit 환경에서, 아나콘다로 32bit 가상 환경을 만들어 작업을 하고 있습니다. (증권사 API를 사용해야 해서 어쩔 수 없었습니다) 이 상태에서 만들어진 프로그램을 서버 구축 후 연결하려고 하는데, AWS로 시도 했을 때 32bit 환경에서는 해당 명령어를 사용할 수 없어 뭔가 연결이 안되는 듯 합니다... 이게 연결 방식이 잘못 된건지 아니면 애초에 32bit 가상 환경에 AWS 서버를 연결할 수 없는 건지 궁금합니다. azure를 이용해보려고 하는데 그것도 마찬가지일 수 있을 것 같아서, 혹시 개발 환경이 32bit 이고 서버를 64bit에서 만들어도 원래 연결이 가능한건지 여쭙고 싶습니다!!! 답변해주시는 모든 분들 감사드립니다.

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

장훈님의 프로필 사진

콘다로 개발환경을 분리해도 결국 호스트 아키텍처를 따라갈 것으로 보입니다. 파이썬으로 개발하는 것이라면 os에 종속적인 네이티브 라이브러리를 연동해서 쓰지 않는 이상 문제가 없을 것 같은데, 네이티브 라이브러리를 사용하거나 파이썬 런타임이 아닌 바이너리 실행파일로 32비트 프로그램을 배포하셨다면 몇 가지 확인할 만한 사항이 있습니다. 1. 개발언어 - 파이썬이 아닌 c/c++로 툴체인을 구성한 경우 64bit 환경에서 32비트 glibc 등 라이브러리가 설치되었다면 32비트 프로그램 실행을 위해 -m32 옵션등을 적용해야 합니다. 2. 실행 파일 아키텍처 확인 - file <program path> 명령으로 결과를 확인했을때 ELF 32-bit LSB executable 와 같이 출력된다면 32비트 프로그램입니다. 3. 실행 파일 동적 라이브러리 참조 - 개발한 32비트 프로그램을 실제 다른 환경의 32비트 os에 배포하여 실행한다면 필요한 종속 라이브러리 확인이 필요합니다. ldd <program path> 명령으로 참조 라이브러리를 모두 os에서 링크하고 있는지 확인합니다. 4. 실행 권한 확인 - 간혹 실행파일을 그대로 복사하는 과정에서 실행 권한을 주지 않는 실수를 할 수도 있습니다.ls 명령을 통해 프로그램 실행권한이 있는지 확인하고 없다면 chmod +x <program path> 명령으로 실핼권한을 부여합니다. 현재 작성해주신 내용만으로 알 수 있는 내용이 한계가 있어, 개발언어 빌드 명령, 실행 명령등을 추가로 작성해주시면 좀 더 확인이 가능할 것 같습니다. conda는 개발 환경을 분리하는 원리가 디렉터리와 종속 라이브러리를 분리하는 것이라 호스트 os의 아키텍처를 따르기 때문에 완전 32비트 가상환경을 구성했다고 하기는 어려워 보입니다.

profile picture

익명

작성자

2월 17일

먼저 답변 감사드립니다..!!😭 현재 개발 언어는 python을 이용하고 있고 django를 사용하고 있습니다. c/c++은 전혀 사용하지 않았습니다. 또한 window, vscode에서 작업 중입니다. 애초에 linux, ubuntu 환경에서는 해당 프로그램이 돌아가지 않는 것 같습니다. 증권사 api가 window 환경+32bit 환경에서만 돌아가는 경우가 많고, 32bit가 문제이기 전에 window 환경이 아니어서라는 추측까지 해보게 되었습니다.. linux 서버에서 빌드 후 실행하려고 시도했었을 때, requirements.txt에 있는 증권사 라이브러리 를 제거해야만 빌드가 되었었고, 제거하고 나니 실행과정에서 당연하게도 오류가 나더라구요. AWS에서 window 서버를 이용할 수 있는 것으로 아는데, 그 방식으로 하는 것을 추천하시는지, 아니면 제가 이해 못하고 있는 부분이 있는지 궁금합니다ㅠ 초보라 재답변이 매끄럽지 못한 점 죄송합니다ㅠ

장훈님의 프로필 사진

장훈

Solution developer2월 17일

aws에서 windows 서버를 지원하고 있지만 모두 64비트 운영체제 뿐이고 ami 마켓에도 32비트는 제공하지 않는 것 같습니다. 32비트 windows python에서만 돌아가는 파이썬 라이브러리라니... 아마 보안을 위해 내부 로직을 네이티브 라이브러리로 만들어놓고 파이썬에서는 인터페이스만 제공하는 것으로 보입니다.

profile picture

익명

작성자

2월 17일

답변 남겨주셔서 너무 감사하고 도움 많이 되었습니다!! 결국 다른 증권사를 이용해 다시 개발할 것 같습니다ㅠㅠ 그래도 궁금했던 점이 덕분에 많이 풀려 다시 한 번 감사드립니다!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2월 14일

안녕하세요, AWS와 같이 클라우드 서비스는 대부분 64bit 환경을 지원하며, 일반적으로 32bit 프로그램도 64bit 환경에서 적절히 실행할 수 있어야 합니다. 그러나 모든 경우에 이가 가능한 것은 아닙니다. AWS에서 32bit 프로그램이 정상적으로 작동하지 않는다면 두 가지 가능성을 고려해 볼 수 있습니다. 첫째, 말씀하신대로 아나콘다로 생성된 가상 환경 설정의 문제일 수 있습니다. 클라우드 서버(OS)에 해당 가상환경이 완벽하게 설치되지 않았거나, 혹은 서버의 커널(어플리케이션과 하드웨어 사이에서 중재 역할을 하는 운영체제의 핵심 부분) 설정 등과 충돌하는 경우 문제가 발생할 수 있습니다. 둘째, 사용중인 증권사 API 자체가 64bit 환경에서 실행될 수 없는 구조를 가지고 있는 경우입니다. 이 경우 불가피하게 해당 API를 제공하는 증권사에 상황을 상세히 알려서 해결 방법을 얻어야 할 수도 있습니다. 많은 시간 여운에도 해결되지 않는다면 마지막으로, 32bit 지원이 가능한 호스팅 서비스를 찾는 것도 고려해 볼 만한 대안입니다. 다만 이러한 환경 문제는 상황에 따라 다르기 때문에 보다 정확하고 세부적인 조언을 얻으려면, AWS 또는 해당 프로그램의 기술 지원팀에 문의하는 것이 가장 좋습니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!