inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 번외편: AWS로 시작하는 서버 운영

Windows 실습

파트7의 게임서버를 AWS에 올리는 법 문의 드립니다.

181

mhyim

작성한 질문수 65

0

루키스님 안녕하세요?

이 강의 활용해서 파트7의 서버를 AWS에 올리는 연습을 해보려고 하는데 잘 안돼서 문의 드립니다.

 

일단 환경은 아래와 같이 만들었습니다

image.png

로컬 컴퓨터에서 52.1.1.1로 핑까지는 잘 뚫리는데,

게임 서버의 아래 코드가 private IP를 들고 있는 상태로 서버가 구동이 되는 것을 확인하였습니다.

// 서버 Program.cs
string host = Dns.GetHostName();
IPHostEntry ipHost = Dns.GetHostEntry(host);

// ipHost.AddressList는 총 두개의 IP를 가지고 있음
// 1번은 Ipv6 16진수 Ip
// 2번은 Ipv4 172.1.1.1
IPAddress ipAddr = ipHost.AddressList[0];
IPEndPoint endPoint = new IPEndPoint(ipAddr, 7777);

 

첫 번째 시도는 ipHost.AddressList[1];로 바꿔보았는데 클라이언트 접속이 안됐습니다.

// private IPv4인 172.1.1.1로 리스닝.. => 클라이언트가 못 찾음
IPAddress ipAddr = ipHost.AddressList[1];

 

두 번째 시도는 ipAddr를 public IP로 하드코딩 하는거였는데 없는 Ip라면서 크래쉬 나는 것을 확인했습니다.

// 서버가 52.1.1.1 못 찾겠다고 크래쉬
string ipAddressString = "52.1.1.1";
IPAddress ipAddress = IPAddress.Parse(ipAddressString);
IPEndPoint endPoint = new IPEndPoint(ipAddress, 7777);

 

그래서 좀 찾아보니까 아래처럼 하니까 이건 또 접속이 되는 것을 확인했습니다.

// 서버<--> 클라이언트 접속 성공
// 0.0.0.0으로 리스닝 되고 크래쉬도 안남
IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, port);

 

그러면 드리고 싶은 질문이

  1. 제가 성공했던 IPAddress.Any 방식으로 리스닝 해도 괜찮을까요?

(AWS로 뭔가 서비스하는 수준으로 하고 싶다고 하면)

IPEndPoint endPoint = new IPEndPoint(IPAddress.Any, port);

 

  1. 강의에서 쓰셨던 아래 코드 방식을 유지할 할 수 있는 방식이 있을까요?

    제가 public IP/private IP 사용 간에 놓친 부분이 있는지 궁금합니다.

     

     

    IPAddress ipAddr = ipHost.AddressList[0];
    // 또는 IPAddress ipAddr = ipHost.AddressList[1];
    // 또는 string ipAddressString = "52.1.1.1";
    IPEndPoint endPoint = new IPEndPoint(ipAddr, 7777);

 

 

linux aws

답변 1

0

Rookiss

aws에서 할땐 서버를 private ip로 구동하고 외부에서 public ip로 접속하면 잘됩니다. 얼마전 m2때도 했어요. 안된다면 서버 windows방화벽을 다 꺼버리시고, ec2 설정에서 in out 네트워크 트래픽 규칙을 허용하게 열어줘야합니다

AWS 요금 부과 질문 드립니다.

1

217

1

EC2가 늘어날때 자동으로 서버를 키는 방법은 없나요?

0

254

1

서버 실행파일을 ec2로 옮기는 정석적인 방법?

0

282

1

.NET과 OS

0

258

1

모바일게임에서 aws로 웹서버 사용시 얼마나 사용하게 되는건가요?

0

546

1

mac 에서 빌드한 파일(.exec) 리눅스 서버에서 실행이 안됩니다

0

697

1

mac 실행파일(.app) 리눅스 서버에서 실행 하기

0

597

1

yum install nodejs npm --enablerepo=epel 이 설치가 되지 않습니다.

0

335

1

VPC 접속시 다음 이유 중 하나로 인해 원격 데스크톱을 원격 컴퓨터에 연결할 수 없습니다.

0

1082

1

AWS 강의를 듣고, 7장의 완성 게임을 배포하는 것이 가능한가요?

0

422

1

서버 프로그램 띄우는 것

0

557

1

AccountServer 게시파일을 EC2에서 실행했을 때 접속이 되지 않습니다.

0

384

1

[해결]RDS MySql의 디비를 마이그레이션 하는 과정에서 질문이 있습니다.

0

528

1

aws추가 강좌 관련

0

726

1

ec2 서버 + 디비

1

627

8

aws 프리티어

1

347

1

windows server 2016이나 다른버전 iso를 구할방법이 없습니다.

0

408

1

서버, 클라이언트 코드베이스 활용 문의

1

360

2

aws 강의 질문

0

250

1

10:54 쯤에 퍼블릭 액세스 권한 하는 방법에 대해 질문드립니다.

0

296

1

리눅스를 사용하는 이유가 무엇인가요?

0

1216

1

2016Window_server_iso 다운로드 오류 발생

0

289

1

centos iso 다운로드 문제

0

272

1

aws같은 상용 서버를 안쓰고 같은 와이파이가 아닐시 로컬 서버에 접속은 불가능한건가요?

1

259

1