Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions backend/src/main/resources/application-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,24 @@ spring:
port: ${PROD_REDIS_PORT}
password: ${PROD_REDIS_PASSWORD}
embedded: false
kafka:
bootstrap-servers: kafka:9092
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.springframework.kafka.support.serializer.JsonSerializer
consumer:
group-id: chat-processing-group # ์ปจ์Šˆ๋จธ ๊ทธ๋ฃน ID
key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
value-deserializer: org.springframework.kafka.support.serializer.JsonDeserializer
properties:
spring.json.trusted.packages: "*"
task:
scheduling:
shutdown:
await-termination: true
await-termination-period: 60s
lifecycle:
timeout-per-shutdown-phase: 60s

security:
oauth2:
Expand Down
3 changes: 2 additions & 1 deletion infra/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ terraform.tfstate
terraform.tfstate.backup
.terraform.tfstate.lock.info
secrets.tf
init/sql
init/sql
init/qdrant
33 changes: 23 additions & 10 deletions infra/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -165,14 +165,14 @@ resource "aws_s3_object" "init_data_sql" {

resource "aws_s3_object" "law_data_sql" {
bucket = aws_s3_bucket.s3_bucket_1.bucket
key = "lawData-dev.sql"
source = "${path.module}/init/sql/dev/lawData-dev.sql"
key = "lawData.sql"
source = "${path.module}/init/sql/prod/lawData.sql"
}

resource "aws_s3_object" "precedent_data_sql" {
bucket = aws_s3_bucket.s3_bucket_1.bucket
key = "precedentData-dev.sql"
source = "${path.module}/init/sql/dev/precedentData-dev.sql"
key = "precedentData.sql"
source = "${path.module}/init/sql/prod/precedentData.sql"
}

# EC2 ์„ค์ • ์‹œ์ž‘
Expand Down Expand Up @@ -311,12 +311,13 @@ docker run -d \


# SQL ํด๋” ์ƒ์„ฑ
mkdir -p /home/ec2-user/app/init/sql/dev
mkdir -p /home/ec2-user/app/init/sql/prod

# S3์—์„œ SQL ํŒŒ์ผ ๋‹ค์šด๋กœ๋“œ
aws s3 cp s3://${var.prefix}-s3-bucket-1/init.sql /home/ec2-user/app/init/sql/init.sql
aws s3 cp s3://${var.prefix}-s3-bucket-1/lawData-dev.sql /home/ec2-user/app/init/sql/dev/lawData-dev.sql
aws s3 cp s3://${var.prefix}-s3-bucket-1/precedentData-dev.sql /home/ec2-user/app/init/sql/dev/precedentData-dev.sql
aws s3 cp s3://${var.prefix}-s3-bucket-1/lawData.sql /home/ec2-user/app/init/sql/prod/lawData.sql
aws s3 cp s3://${var.prefix}-s3-bucket-1/precedentData.sql /home/ec2-user/app/init/sql/prod/precedentData.sql
aws s3 cp s3://${var.prefix}-s3-bucket-1/legal_cases.snapshot /home/ec2-user/app/init/qdrant/snapshot/legal_cases.snapshot

# MySQL ์„ค์ • ํด๋” ์ƒ์„ฑ ๋ฐ UTF8 ์„ค์ •
mkdir -p /dockerProjects/mysql/volumes/etc/mysql/conf.d
Expand All @@ -325,6 +326,13 @@ cat <<EOF > /dockerProjects/mysql/volumes/etc/mysql/conf.d/charset.cnf
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
lower_case_table_names=1
innodb_buffer_pool_size = 1G
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
tmp_table_size = 256M
max_heap_table_size = 256M
max_connections = 100

[client]
default-character-set = utf8mb4
Expand Down Expand Up @@ -366,16 +374,21 @@ docker exec mysql mysql -uroot -p${var.password_1} -e "

FLUSH PRIVILEGES;
"
docker exec -i mysql mysql -uroot -p${var.password_1} ${var.app_1_db_name} < /home/ec2-user/app/init/sql/dev/lawData-dev.sql
docker exec -i mysql mysql -uroot -p${var.password_1} ${var.app_1_db_name} < /home/ec2-user/app/init/sql/dev/precedentData-dev.sql
docker exec -i mysql mysql -uroot -p${var.password_1} ${var.app_1_db_name} < /home/ec2-user/app/init/sql/prod/lawData.sql
docker exec -i mysql mysql -uroot -p${var.password_1} ${var.app_1_db_name} < /home/ec2-user/app/init/sql/prod/precedentData.sql

# Qdrant ์„ค์น˜
mkdir -p /qdrant/snapshots/legal_cases
aws s3 cp s3://${var.prefix}-s3-bucket-1/legal_cases.snapshot /qdrant/snapshots/legal_cases/legal_cases.snapshot

docker run -d \
--name qdrant \
--restart unless-stopped \
--network common \
-p 6333:6333 \
-p 6334:6334 \
-v /qdrant/storage:/qdrant/storage \
-v /qdrant/snapshots:/qdrant/snapshots \
qdrant/qdrant

# Qdrant healthcheck ๋Œ€๊ธฐ
Expand Down Expand Up @@ -440,7 +453,7 @@ resource "aws_instance" "ec2_1" {
# ์‚ฌ์šฉํ•  AMI ID
ami = data.aws_ami.latest_amazon_linux.id
# EC2 ์ธ์Šคํ„ด์Šค ์œ ํ˜•
instance_type = "t3.micro"
instance_type = "t3.small"
# ์‚ฌ์šฉํ•  ์„œ๋ธŒ๋„ท ID
subnet_id = aws_subnet.subnet_2.id
# ์ ์šฉํ•  ๋ณด์•ˆ ๊ทธ๋ฃน ID
Expand Down