Back to blog

FIPS 컴플라이언스 환경에서 EFM 및 Barman 설치 구성 방법

August 10, 2026

데이비드 와일
2024년 12월 23일

FIPS 컴플라이언스 환경에서 EDB Failover Manager(EFM)와 Barman을 구성할 때는 일반적인 설치 환경과 다른 설정이 필요합니다. 이 글에서는 TPA를 사용해 FIPS 환경에 EFM을 배포하는 방법과 Barman의 WAL 아카이빙을 rsync로 구성하는 절차를 설명합니다.


TPA를 사용하여 FIPS 컴플라이언스 서버에 EFM을 설치하는 방법

FIPS가 활성화된 상태에서는 TPA가 EFM 데이터베이스 사용자를 생성할 수 없습니다. 배포 과정에서 EFM이 제대로 설치되도록 하려면 다음 단계를 수행해야 합니다.

  1. 배포 중 모든 서버에서 FIPS를 비활성화합니다.
  2. 배포 완료 후 FIPS를 다시 활성화합니다.
  3. EFM 데이터베이스 사용자에 대한 SCRAM-SHA-256 암호화 비밀번호를 생성합니다.
    기본적으로 MD5 암호화를 사용해 배포한 후, 아래 과정을 통해 SCRAM-SHA-256 비밀번호를 생성하고 TPA 볼트에 저장합니다.

EFM 데이터베이스 사용자 비밀번호 설정

데이터베이스 서버에서:

>> On database server:
enterprisedb@database-server1#  psql -d postgres
>>
postgres>    SHOW password_encryption;

(Expected output: "SCRAM-SHA-256". If not, run "SET password_encryption = 'scram-sha-256';")

postgres>    \password efm

(Type new password 2x)

>> On TPA server:
root@tpa-server#  cd ~/clusters/cluster-name
root@tpa-server#  tpaexec store-password . efm

(Type new password 2x)

FIPS 준수 서버에서 Barman을 설치하는 방법(TPA 또는 수동 설치)

barman-wal-archive 명령은 FIPS를 준수하지 않습니다. 따라서 FIPS 준수 서버에서 Barman을 사용해 아카이브를 올바르게 설정하려면 rsync를 사용해야 합니다. 배포 유형에 따라 다음 단계를 수행하세요.

TPA 배포에서 Barman archive_command 설정

TPA 설치 환경에서는 $PGDATA/conf.d 디렉터리로 이동하여 9999-override.conf 파일을 엽니다. 아래 매개변수를 입력하여 archive_command에서 rsync를 사용하도록 설정합니다. 명령어의 TPA 서버 및 기본 데이터베이스 서버 호스트 이름을 사용자의 환경에 맞게 업데이트하십시오.

>>        archive_command = 'rsync -a %p
          barman@tpa-server:/barman/database-server1/incoming/%f'  

구성 변경 사항을 적용하려면 구성을 다시 로드합니다.

>> 각 데이터베이스 서버에서:

>> On each database server:
enterprisedb@database-server1/database-server2#  psql -d postgres
>>
postgres>    SELECT pg_reload_conf();

(Expected output: "t")

클러스터의 모든 데이터베이스 서버에서 이 단계를 수행하세요.

참고:
Barman은 기본 데이터베이스 서버 이름을 사용하여 전체 클러스터를 참조하기 때문에, archive_command 경로는 클러스터의 모든 서버에서 여전히 database-server1 호스트 이름을 참조합니다.


수동 배포에서 Barman archive_command 설정

수동 배포의 경우 postgresql.conf 파일을 직접 수정하거나 psql 유틸리티를 사용하여 archive_command를 업데이트할 수 있습니다.

옵션 1: postgresql.conf 파일에서 archive_command 직접 업데이트

클러스터의 모든 데이터베이스 서버에서 $PGDATA 디렉터리로 이동한 후 postgresql.conf 파일을 열어 archive_command 매개변수를 찾습니다. 아래 archive_command 값을 입력하여 rsync를 사용하도록 설정합니다. 명령어의 서버 이름을 TPA 서버 및 기본 데이터베이스 서버 호스트 이름에 맞게 수정하세요.

>> On each database server:
enterprisedb@database-server1/database-server2#  cd $PGDATA
enterprisedb@database-server1/database-server2#  vi postgresql.conf

>>        archive_command = 'rsync -a %p
          barman@tpa-server:/barman/database-server1/incoming/%f'
          
>> Save and exit.

enterprisedb@database-server1/database-server2#  psql -d postgres -c "SELECT pg_reload_conf();"

(Expected output: "t")

옵션 2: psql 유틸리티에서 archive_command 업데이트

클러스터의 모든 데이터베이스 서버에서 psql을 사용해 데이터베이스에 접속한 후, ALTER SYSTEM 명령을 사용하여 archive_command를 변경합니다. 아래 rsync 명령을 사용자 환경에 맞게 TPA 서버와 기본 데이터베이스 서버의 호스트 이름으로 업데이트하세요.

>> On each database server:
enterprisedb@database-server1/database-server2#  psql -d postgres
>>
postgres>    ALTER SYSTEM SET archive_command TO "archive_command = 'rsync -a %p
             barman@tpa-server:/barman/database-server1/incoming/%f'"
             
postgres>    SELECT pg_reload_conf();

(Expected output: "t")

ALTER SYSTEM을 사용하여 archive_command를 업데이트하면, 새 archive_command 값은 데이터 디렉터리 내의 postgresql.auto.conf 파일에 저장됩니다.

참고:
Barman은 기본 데이터베이스 서버 이름을 사용하여 전체 클러스터를 참조하기 때문에, archive_command 경로는 클러스터의 모든 서버에서 여전히 database-server1 호스트 이름을 참조하게 됩니다.


FIPS 환경의 EFM 및 Barman 구성 FAQ

FIPS가 활성화된 상태에서 TPA로 EFM을 바로 배포할 수 있나요?

본문에 따르면 FIPS가 활성화된 상태에서는 TPA가 EFM 데이터베이스 사용자를 생성할 수 없습니다. 따라서 배포 중 모든 서버에서 FIPS를 비활성화하고, 배포가 완료된 후 다시 활성화해야 합니다.

EFM 데이터베이스 사용자 비밀번호는 어떤 방식으로 생성해야 하나요?

배포 후 EFM 데이터베이스 사용자에 대해 SCRAM-SHA-256 암호화 비밀번호를 생성해야 합니다. PostgreSQL에서 password_encryption 설정을 확인한 뒤 비밀번호를 생성하고 TPA 볼트에 저장합니다.

FIPS 준수 서버에서 Barman의 barman-wal-archive를 사용할 수 있나요?

본문에서는 barman-wal-archive 명령이 FIPS를 준수하지 않는다고 설명합니다. 따라서 FIPS 준수 서버에서는 WAL 아카이빙을 설정할 때 rsync를 사용해야 합니다.

TPA 환경에서 Barman archive_command는 어디에서 설정하나요?

TPA 설치 환경에서는 $PGDATA/conf.d 디렉터리의 9999-override.conf 파일에서 archive_command를 설정합니다. 설정 후 pg_reload_conf()를 실행해 변경 사항을 다시 로드합니다.

수동 배포에서 archive_command를 변경하는 방법은 무엇인가요?

본문에서는 postgresql.conf 파일을 직접 수정하는 방법과 psql에서 ALTER SYSTEM을 사용하는 방법을 안내합니다. ALTER SYSTEM을 사용하면 새 설정값은 데이터 디렉터리의 postgresql.auto.conf 파일에 저장됩니다.


관련 자료 및 EDB 문의

본문: FIPS-compliant installation specifications

EDB 영업 기술 문의: 02-501-5113

이메일: salesinquiry@enterprisedb.com

홈페이지 문의하기

Share this