Skip to content

Commit 5453063

Browse files
authored
Merge branch 'dev' into Feat/255
2 parents bbad22f + 58236df commit 5453063

File tree

127 files changed

+482
-448
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+482
-448
lines changed

infra/terraform/main.tf

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,58 @@ resource "aws_security_group" "sg_1" {
174174
}
175175
}
176176

177+
# Coturn 서버 전용 보안 그룹 (Security Group)
178+
resource "aws_security_group" "coturn_sg" {
179+
name = "team5-coturn-server-sg"
180+
description = "Allow WebRTC TURN server traffic"
181+
vpc_id = aws_vpc.vpc_1.id
182+
183+
ingress {
184+
description = "SSH for maintenance"
185+
from_port = 22
186+
to_port = 22
187+
protocol = "tcp"
188+
cidr_blocks = ["0.0.0.0/0"]
189+
}
190+
191+
ingress {
192+
description = "TURN Listening Port (TCP)"
193+
from_port = 3478
194+
to_port = 3478
195+
protocol = "tcp"
196+
cidr_blocks = ["0.0.0.0/0"]
197+
}
198+
199+
ingress {
200+
description = "TURN Listening Port (UDP)"
201+
from_port = 3478
202+
to_port = 3478
203+
protocol = "udp"
204+
cidr_blocks = ["0.0.0.0/0"]
205+
}
206+
207+
ingress {
208+
description = "TURN Media Relay Ports (UDP)"
209+
from_port = 49152
210+
to_port = 65535
211+
protocol = "udp"
212+
cidr_blocks = ["0.0.0.0/0"]
213+
}
214+
215+
egress {
216+
from_port = 0
217+
to_port = 0
218+
protocol = "-1"
219+
cidr_blocks = ["0.0.0.0/0"]
220+
}
221+
222+
tags = {
223+
Key = "TEAM"
224+
Value = "devcos-team05"
225+
Name = "team5-coturn-sg"
226+
}
227+
}
228+
177229
# EC2 역할 생성
178230
resource "aws_iam_role" "ec2_role_1" {
179231
tags = {
@@ -307,6 +359,55 @@ ${local.ec2_user_data_base}
307359
EOF
308360
}
309361

362+
resource "aws_instance" "coturn_server" {
363+
ami = "ami-02835aed2a5cb1d2a" # 서울 리전 Ubuntu 22.04 LTS
364+
instance_type = "t3.micro"
365+
subnet_id = aws_subnet.subnet_1.id
366+
vpc_security_group_ids = [aws_security_group.coturn_sg.id]
367+
associate_public_ip_address = true
368+
369+
tags = {
370+
Key = "TEAM"
371+
Value = "devcos-team05"
372+
Name = "team5-coturn-server"
373+
}
374+
375+
# EC2 부팅 시 Coturn 자동 설치 및 설정 스크립트
376+
user_data = <<-EOF
377+
#!/bin/bash
378+
apt-get update
379+
apt-get install -y coturn
380+
381+
PUBLIC_IP=$(curl -s http://169.254.169.254/latest/meta-data/public-ipv4)
382+
PRIVATE_IP=$(curl -s http://169.254.169.254/latest/meta-data/local-ipv4)
383+
384+
cat <<EOT > /etc/turnserver.conf
385+
listening-port=3478
386+
external-ip=$PUBLIC_IP/$PRIVATE_IP
387+
388+
# 동적 인증을 위한 비밀키 설정
389+
use-auth-secret
390+
static-auth-secret=${var.turn_shared_secret}
391+
392+
lt-cred-mech
393+
realm=${var.catfe_domain_1}
394+
log-file=/var/log/turnserver.log
395+
verbose
396+
fingerprint
397+
no-multicast-peers
398+
EOT
399+
400+
systemctl restart coturn
401+
systemctl enable coturn
402+
EOF
403+
}
404+
405+
# 3. 결과 출력 (Output - Turn 서버 IP 주소 출력)
406+
output "coturn_server_public_ip" {
407+
description = "The public IP address of the Coturn server."
408+
value = aws_instance.coturn_server.public_ip
409+
}
410+
310411
# RDS용 Security Group
311412
resource "aws_security_group" "rds_sg_1" {
312413
name = "team5-rds-sg-1"
@@ -361,6 +462,8 @@ resource "aws_db_instance" "mysql" {
361462
db_subnet_group_name = aws_db_subnet_group.db_subnet_group.name
362463
vpc_security_group_ids = [aws_security_group.rds_sg_1.id]
363464

465+
# RDS 퍼블릭 액세스 허용
466+
publicly_accessible = true
364467

365468
multi_az = false
366469

src/main/java/com/back/domain/board/comment/entity/Comment.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
11
package com.back.domain.board.comment.entity;
22

33
import com.back.domain.board.post.entity.Post;
4-
import com.back.domain.user.entity.User;
4+
import com.back.domain.user.common.entity.User;
55
import com.back.global.entity.BaseEntity;
66
import jakarta.persistence.*;
77
import lombok.Getter;
88
import lombok.NoArgsConstructor;
99

1010
import java.util.ArrayList;
1111
import java.util.List;
12-
import java.util.Objects;
1312

1413
@Entity
1514
@Getter

src/main/java/com/back/domain/board/comment/entity/CommentLike.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package com.back.domain.board.comment.entity;
22

3-
import com.back.domain.user.entity.User;
3+
import com.back.domain.user.common.entity.User;
44
import com.back.global.entity.BaseEntity;
55
import jakarta.persistence.*;
6-
import lombok.AllArgsConstructor;
76
import lombok.Getter;
87
import lombok.NoArgsConstructor;
98

src/main/java/com/back/domain/board/comment/repository/custom/CommentRepositoryImpl.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,8 @@
88
import com.back.domain.board.comment.entity.QComment;
99
import com.back.domain.board.common.dto.QAuthorResponse;
1010
import com.back.domain.board.post.entity.QPost;
11-
import com.back.domain.user.entity.QUser;
12-
import com.back.domain.user.entity.QUserProfile;
13-
import com.querydsl.core.BooleanBuilder;
11+
import com.back.domain.user.common.entity.QUser;
12+
import com.back.domain.user.common.entity.QUserProfile;
1413
import com.querydsl.core.types.Order;
1514
import com.querydsl.core.types.OrderSpecifier;
1615
import com.querydsl.core.types.dsl.BooleanExpression;

src/main/java/com/back/domain/board/comment/service/CommentLikeService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@
66
import com.back.domain.board.comment.repository.CommentLikeRepository;
77
import com.back.domain.board.comment.repository.CommentRepository;
88
import com.back.domain.notification.event.community.CommentLikedEvent;
9-
import com.back.domain.user.entity.User;
10-
import com.back.domain.user.repository.UserRepository;
9+
import com.back.domain.user.common.entity.User;
10+
import com.back.domain.user.common.repository.UserRepository;
1111
import com.back.global.exception.CustomException;
1212
import com.back.global.exception.ErrorCode;
1313
import lombok.RequiredArgsConstructor;

src/main/java/com/back/domain/board/comment/service/CommentService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
import com.back.domain.board.post.repository.PostRepository;
1313
import com.back.domain.notification.event.community.CommentCreatedEvent;
1414
import com.back.domain.notification.event.community.ReplyCreatedEvent;
15-
import com.back.domain.user.entity.User;
16-
import com.back.domain.user.repository.UserRepository;
15+
import com.back.domain.user.common.entity.User;
16+
import com.back.domain.user.common.repository.UserRepository;
1717
import com.back.global.exception.CustomException;
1818
import com.back.global.exception.ErrorCode;
1919
import lombok.RequiredArgsConstructor;

src/main/java/com/back/domain/board/common/dto/AuthorResponse.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.back.domain.board.common.dto;
22

3-
import com.back.domain.user.entity.User;
3+
import com.back.domain.user.common.entity.User;
44
import com.querydsl.core.annotations.QueryProjection;
55

66
/**

src/main/java/com/back/domain/board/post/entity/Post.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.back.domain.board.post.entity;
22

33
import com.back.domain.board.comment.entity.Comment;
4-
import com.back.domain.user.entity.User;
4+
import com.back.domain.user.common.entity.User;
55
import com.back.global.entity.BaseEntity;
66
import jakarta.persistence.*;
77
import lombok.Getter;

src/main/java/com/back/domain/board/post/entity/PostBookmark.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package com.back.domain.board.post.entity;
22

3-
import com.back.domain.user.entity.User;
3+
import com.back.domain.user.common.entity.User;
44
import com.back.global.entity.BaseEntity;
55
import jakarta.persistence.*;
6-
import lombok.AllArgsConstructor;
76
import lombok.Getter;
87
import lombok.NoArgsConstructor;
98

src/main/java/com/back/domain/board/post/entity/PostLike.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package com.back.domain.board.post.entity;
22

3-
import com.back.domain.user.entity.User;
3+
import com.back.domain.user.common.entity.User;
44
import com.back.global.entity.BaseEntity;
55
import jakarta.persistence.*;
6-
import lombok.AllArgsConstructor;
76
import lombok.Getter;
87
import lombok.NoArgsConstructor;
98

0 commit comments

Comments
 (0)