방화벽 설정
- 포트 열기: 데이터베이스 서버가 사용하는 포트를 애플리케이션 서버가 접근할 수 있도록 열어야 한다.
- IP 허용: 애플리케이션 서버의 IP 주소가 데이터베이스 서버에 접근할 수 있도록 허용해야 한다.
예시 1: Windows 방화벽 설정
a. 포트 열기
- Windows 방화벽 고급 보안을 연다.
- 인바운드 규칙에서 새 규칙을 클릭한다.
- 포트를 선택하고 다음을 클릭한다.
- TCP를 선택하고 특정 로컬 포트에 데이터베이스 포트를 입력한다. (예: 1433 for SQL Server)
- 연결 허용을 선택하고 다음을 클릭한다.
- 규칙이 적용될 네트워크 프로파일을 선택하고 다음을 클릭한다.
- 규칙의 이름을 입력하고 마침을 클릭한다.
b. IP 허용
- Windows 방화벽 고급 보안을 연다.
- 인바운드 규칙에서 새로 만든 포트 규칙을 찾는다.
- 해당 규칙을 더블 클릭하여 속성을 연다.
- 범위 탭에서 원격 IP 주소 섹션에 애플리케이션 서버의 IP 주소를 추가한다.
예시 2: Linux 방화벽 설정 (UFW)
a. UFW로 포트 열기
UFW가 설치되어 있는지 확인한다.
sudo ufw status
데이터베이스 서버 포트를 연다. (예: 5432 for PostgreSQL)
sudo ufw allow 5432/tcp
방화벽 규칙을 리로드한다.
sudo ufw reload
b. 특정 IP 주소 허용
특정 IP 주소가 포트에 접근할 수 있도록 규칙을 추가한다
sudo ufw allow from <application_server_ip> to any port 5432
예제 적용
애플리케이션 서버의 IP가 192.168.1.10이고, 데이터베이스 서버가 PostgreSQL을 사용하며 포트 5432를 사용하는 경우:
- Windows 방화벽: 인바운드 규칙에서 TCP 5432 포트를 열고, 범위 탭에서 원격 IP 주소에 192.168.1.10을 추가한다.
- Linux UFW:
sudo ufw allow 5432/tcp
sudo ufw allow from 192.168.1.10 to any port 5432
0. 연결 테스트
using (SqlConnection conn = new SqlConnection(newConnectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("SELECT 1", conn))
{
int result = (int)cmd.ExecuteScalar();
Console.WriteLine(result); // 1이 출력되면 연결 성공
}
}
반응형
'DB' 카테고리의 다른 글
| Driver Setting (0) | 2024.09.01 |
|---|---|
| SQL 주요 용어 (0) | 2024.08.06 |
| DB 이관 시 C# 변경 작업 - 코드 (0) | 2024.08.05 |
| JOIN 연산 (0) | 2024.08.04 |