C# winform에서 AWS LightShall 연결하는 방법 혹시 있나요

저번에 파이어베이스를 직접 연결해서

프로그램을 생성해 보려고 했는데

이게 생각해보니 어플도 만들어서 연동을 할거라

파이어베이스를 직접 건들수 있게 하면 보안상의 문제가 있어서

파이어베이스 - 서버 - 클라이언트 앱 이런식으로

서버를 중간다리로 둘 생각인데

저희가 지금 AWS LightShall을 사용해서 학생이라 무료로

연결을 해보려고 하거든요

서버에서 엑셀 파일 내용을 json으로 보관하고

그 json을 파이어베이스, 데스크탑 클라이언트 앱에 펼쳐주는

그런 디자인을 생각중인데

혹시 읽어볼만한 문서나 간단한 예제 알려주실수 있나요

언어는 현재 .NET 5를 사용중입니다.

아 Firebase는 데스크탑 C#을 제대로 지원을 안해서

FireSharp를 사용해봤는데 생각보다 .NET 5에서도 잘 굴러가는거

확인했구요

ps.

파이어베이스에서 아이디 존재 유무로

로그인 하는 기능을 만들어봤는데 뭔가 되게 허접한거같네요 ㅋㅋㅋ

C#으로 서버 클라이언트 네트워크 프로그램을 만드는 부분을 찾아보시면 될거 같습니다.
잘 하고 계시네용 ㅎㅎㅎ

간단하게 생각해보면 그냥 메시지 패싱이라 네트워크만 잘 핸들링되면 큰 문제 없을 것 같네요.

AWS LightShall쓰고 포트도 XX.XX.XX.XX:3000/api/ex/upload

이런식으로 줘서 눌러 들어가면 웹페이지로 연결되는데

이러면 웹서버쪽 연결을 알아봐야 하는거죠?

LightShall이 저는 잘 모르지만, 웹은 네트워크의 하나의 서비스일 뿐이니까요. http 프로토콜을 이용해서 통신을 하는…

결국 네트워크를 쓰는거니까요. 이건 제 생각인에 lambda랑 S3로 만드는게 더 낫지않나 싶기도하고요. 어쩌피 서버는 메시지 패싱만 하는거니 굳이 계속 켜져있을 필요도 없구요. json은 S3에 저장하면 되니까요

조언 감사합니다

맞게 잘 하고 계신 것 같은데요?
어차피 다 웹 기반 호출일거라
서비스에서 제공하는 API 문서 찾아가시면서
작업하시면 될 것 같습니다.

Amazon Lightsail 이라네요. 작은 프라이빗 서버라고하네요.

제 생각엔 그냥 소켓통신으로 받으면 될거같은데
그냥 .Net Core로 서버를 구현하는게 간단할 것 같습니다. 이미 클라이언트 단에 어느정도 구현해놓으셨을테니,
굳이 웹서비스 만들 필요가 없는듯 하네요.

아 이게 그냥 EC2같은 VPS 인가보네요?
그럼 서버 만들어서 올리는거랑 같은거 아닌가요?

맞아용 지금 클라이언트에 firebase연결하는 부분이 구현이 되어있는데 그걸 숨기고 싶어하시는거 같으니,
그걸 서버로 옮기고, 서버랑 클라이언트랑 통신하는 부분을 구현하시려는거 같아요.

프록시 서버가 필요한거군요.
적당히 포워딩해줄 수 있는 URL 몇개 뽑아주고
asp.net 으로 구현해주면 괜찮을 것 같습니다.

1 Like

맞아요.
로그인 정보 넘기고, json 파일만 받아서 winform으로 보여주시는거 같더라구요.
그래서 웹이 필요는 없어보여서 그냥 서버에 아무 포트나 오픈을 해서 서비스를 열면 되지않을까 싶은데

말씀하신대로 질문자님은 이미 어느정도 웹서비스로 생각중이신거 같더라구요. 뭐 가능은 한데 제 생각에는 굳이라 ㅎㅎㅎ

서비스의 확장가능성을 고려하면 웹으로 만드는게 ㅎㅎㅎ
winform프로그램보다는 웹서비스가 훨씬 디자인도 좋고, 편리하니까요

1 Like

그렇죠 소를 키우겠다고
농기구부터 만들고 있으면 안되죠 ㅎㅎ

1 Like

그래서 웹으로 하기보단 필요한 만큼만 구현하는게 좋은방법인듯 싶네유 ㅎㅎㅎ

1 Like

RESTful 한 API에 접근할땐 RestSharp

지금 바로 NuGet에서 만나보세요.