

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# IBM Db2 데이터베이스에서 Amazon S3에 직접 DB2 로그 아카이빙 활성화 Amazon S3 Db2
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database"></a>

*Ambarish Satarkar, Amazon Web Services*

## 요약
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-summary"></a>

이 패턴은 스테이징 영역을 사용하지 않고 IBM Db2에서 생성한 아카이브 로그의 카탈로그 스토리지로 Amazon Simple Storage Service(Amazon S3)를 사용하는 방법을 설명합니다.

[logarchmeth1](https://www.ibm.com/docs/en/db2/12.1.0?topic=parameters-logarchmeth1-primary-log-archive-method) 및 [logarchmeth](https://www.ibm.com/docs/en/db2/12.1.0?topic=parameters-logarchmeth2-secondary-log-archive-method)2 로그 아카이브 메서드 구성 파라미터에 [DB2REMOTE](https://www.ibm.com/docs/en/db2/12.1.0?topic=storage-db2remote-identifiers) Amazon S3 스토리지를 지정할 수 있습니다. `logarchmeth1` 파라미터를 사용하여 현재 로그 경로에서 보관된 로그의 기본 대상을 지정할 수 있습니다. 이 기능을 사용하면 스테이징 영역을 사용하지 않고도 Amazon S3에서 직접 트랜잭션 로그를 아카이브하고 검색할 수 있습니다.

[Amazon S3](https://aws.amazon.com/s3/)는 업로드된 데이터를 단일의 디바이스 3개 이상에 저장합니다 AWS 리전. 모든 규모 및 산업의 수백만 고객이 고가용성, 유연한 스토리지 옵션, 수명 주기 정책 및 보안을 고려하여 엔터프라이즈 백업을 저장하는 데 Amazon S3를 사용합니다.

## 사전 조건 및 제한 사항
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-prereqs"></a>

**사전 조건 **
+ 활성. AWS 계정
+ Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 실행되는 SAP 인스턴스
+ AWS Command Line Interface (AWS CLI) 설치됨
+ Db2 EC2 인스턴스에 설치된 [libcurl](https://curl.se/libcurl/) 및 libxml2. [https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home](https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home) 

**제한 사항 **
+ [Db2 11.5.7](https://www.ibm.com/docs/en/db2/11.5.x?topic=new-1157) 이상만 Amazon S3 스토리지에 직접 로그 아카이빙을 허용합니다.
+ 일부 AWS 서비스 는 전혀 사용할 수 없습니다 AWS 리전. 리전별 가용성은 [리전별AWS 서비스](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)를 참조하세요. 구체적인 엔드포인트는 [서비스 엔드포인트 및 할당량](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html)을 참조하고 서비스 링크를 선택합니다.
+ 모든 구성에서 Amazon S3에는 다음과 같은 제한 사항이 있습니다.
  + AWS Key Management Service (AWS KMS)는 지원되지 않습니다.
  + AWS 역할 기반(AWS Identity and Access Management (IAM)) 또는 토큰 기반(AWS Security Token Service (AWS STS)) 자격 증명은 지원되지 않습니다.

**제품 버전**
+ AWS CLI 버전 2 이상
+ IBM Db2 11.5.7 이상
+ Linux SUSE Linux Enterprise Server(SLES) 11 이상
+ Red Hat Enterprise Linux(RHEL) 6 이상
+ Windows Server(2012 R2, 2016 또는 2019)

## 아키텍처
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-architecture"></a>

다음 다이어그램은 이 패턴의 구성 요소 및 워크플로를 보여 줍니다.

![Db2에서 생성된 아카이브 로그의 카탈로그 스토리지에 Amazon S3를 사용하는 워크플로입니다.](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/images/pattern-img/7a10333e-07be-4144-9913-45c60a2f51ea/images/0437d348-1688-4c3e-9aa5-43535afe08c6.png)


의 아키텍처에는 다음이 AWS 클라우드 포함됩니다.
+ **Virtual Private Cloud(VPC)** - 리소스를 시작하는의 논리적으로 격리된 섹션 AWS 클라우드 입니다.
+ **가용 영역** - 내의 격리된 데이터 센터에서 Db2 LUW(Linux, Unix, Windows) 워크로드를 실행하여 고가용성을 제공합니다 AWS 리전.
+ **퍼블릭 서브넷** - 관리자에게 RDP(Remote Desktop Protocol) 액세스 권한과 NAT 게이트웨이를 통한 인터넷 연결을 제공합니다.
+ **프라이빗 서브넷** - Db2 LUW 데이터베이스를 호스팅합니다. Db2 LUW 인스턴스는 `LOGARCHMETH1` 파라미터로 구성됩니다. 파라미터는 게이트웨이 엔드포인트를 통해 데이터베이스 로그 아카이브 파일을 Amazon S3 경로에 직접 씁니다.

다음은 지원을 AWS 서비스 제공합니다.
+ **Amazon S3** - Db2 로그 아카이브 파일을 위한 내구성 있고 확장 가능한 스토리지 위치 역할을 합니다.
+ **Amazon Elastic File System(Amazon EFS)** - Db2가 데이터베이스 백업 및 스테이징에 사용할 수 있는 완전 관리형 공유 파일 시스템을 제공합니다. Db2는 Amazon S3에 보관되기 전에 Amazon EFS를 로그 파일의 탑재 지점으로 사용할 수도 있습니다.
+ **Amazon CloudWatch** - Db2 및 기본 EC2 인스턴스에서 지표, 로그 및 이벤트를 수집하고 모니터링합니다. CloudWatch를 사용하여 성능 또는 가용성 문제에 대한 경보, 대시보드 및 자동 응답을 생성할 수 있습니다.

**자동화 및 규모 조정**
+ 이 패턴은 Db2 로그 아카이브 백업을 저장하는 완전 자동화된 솔루션을 제공합니다.
+ 동일한 Amazon S3 버킷을 사용하여 여러 Db2 데이터베이스의 로그 아카이브를 활성화할 수 있습니다.

## 도구
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-tools"></a>

**AWS 서비스**
+ [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)를 사용하면 AWS 리소스 및에서 실행되는 애플리케이션의 지표를 실시간으로 모니터링할 AWS 수 있습니다.
+ [AWS Command Line Interface (AWS CLI)](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)는 명령줄 셸의 명령을 AWS 서비스 통해와 상호 작용하는 데 도움이 되는 오픈 소스 도구입니다.
+ [Amazon Elastic Compute Cloud(Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html)는 AWS 클라우드에서 확장 가능한 컴퓨팅 용량을 제공합니다. 필요한 만큼 가상 서버를 시작하고 빠르게 스케일 업하거나 스케일 다운할 수 있습니다.
+ [Amazon Elastic File System(Amazon EFS)](https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html)은 AWS 클라우드에서 공유 파일 시스템을 생성하고 구성하는 데 도움이 됩니다.
+ [AWS IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)를 사용하면 모든 AWS 계정 및 클라우드 애플리케이션에 대한 Single Sign-On(SSO) 액세스를 중앙에서 관리할 수 있습니다.
+ [Amazon Simple Storage Service(S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html)는 원하는 양의 데이터를 저장, 보호 및 검색하는 데 도움이 되는 클라우드 기반 객체 스토리지 서비스입니다.
+ [Amazon Virtual Private Cloud(Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html)를 사용하면 정의한 가상 네트워크에서 AWS 리소스를 시작할 수 있습니다. 이 가상 네트워크는 AWS의 확장 가능한 인프라를 사용한다는 이점과 함께 고객의 자체 데이터 센터에서 운영하는 기존 네트워크와 유사합니다.

**기타 도구**
+ [libcurl](https://curl.se/libcurl/)은 무료 클라이언트 측 URL 전송 라이브러리입니다.
+ [libxml2](https://gitlab.gnome.org/GNOME/libxml2/-/wikis/home)는 무료 XML C 구문 분석기 및 도구 키트입니다.

## 모범 사례
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-best-practices"></a>
+ 최소 권한 원칙을 따르고 작업을 수행하는 데 필요한 최소 권한을 부여하세요. 자세한 내용은 IAM 설명서의 [최소 권한 부여](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv) 및 [보안 모범 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)를 참조하세요.

## 에픽
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-epics"></a>

### 구성 AWS 서비스
<a name="configure-aws-services"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 를 설정합니다 AWS CLI. | [를 다운로드하고 설치 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.htmlhttps://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)하려면 다음 명령을 사용합니다.<pre>i) curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"<br />ii) unzip awscliv2.zip<br />iii) sudo ./aws/install</pre> | 시스템 관리자, 관리자 | 
|  AWS CLI구성. | [를 구성 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-quickstart.html)하려면 다음 명령을 사용합니다.<pre>$ aws configure<br />AWS Access Key ID [None]:*******************************<br />AWS Secret Access Key [None]: ***************************<br />Default region name [None]: < aws region ><br />Default output format [None]: text</pre> | 시스템 관리자, 관리자 | 
| IAM 사용자 생성 | 나중에 Amazon S3와의 Db2 데이터베이스 연결에 사용할 IAM 사용자를 생성하려면 다음 명령을 사용합니다.<br />`aws iam create-user --user-name <unique username>`<br />다음은 명령의 예제입니다.<br />`aws iam create-user --user-name db_backup_user`이 시나리오에서는 프로그래밍 방식 액세스 권한과 장기 보안 인증이 있는 IAM 사용자가 필요하며 이는 보안 위험을 내포합니다. 이 위험을 줄이려면 이러한 사용자에게 작업을 수행하는 데 필요한 권한만 제공하고 더 이상 필요하지 않을 경우 이러한 사용자를 제거하는 것이 좋습니다. 필요한 경우 액세스 키를 업데이트할 수 있습니다. 자세한 내용은 IAM 설명서의 [AWS 보안 자격 증명](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html#access-keys-and-secret-access-keys) 및 IAM 사용자의 액세스 키 관리를 참조하세요. [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey)  | AWS 시스템 관리자 | 
| Amazon S3 버킷 만들기 | 데이터베이스 백업을 저장하기 위한 Amazon S3 버킷을 생성하려면 다음 명령을 사용합니다.<br />`aws s3api create-bucket --bucket <unique bucket name> --region <aws region>`<br />다음은 예시 명령입니다.<br />`aws s3api create-bucket --bucket myfirstbucket --region af-south-1` | AWS 시스템 관리자 | 
| IAM 사용자에게 권한을 부여합니다. | 새로 생성된 IAM 사용자에게 Amazon S3 권한을 부여하려면 다음 단계를 사용합니다.[See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/prescriptive-guidance/latest/patterns/enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database.html) | 시스템 관리자, 관리자 | 
| 액세스 키 생성 | DB2 인스턴스에서 Amazon S3에 프로그래밍 방식으로 액세스하는 액세스 키를 생성하려면 다음 명령을 사용합니다.<br />`aws iam create-access-key --user-name <username>`<br />다음은 명령의 예제입니다.<br />`aws iam create-access-key --user-name db_backup_user`이 시나리오에서는 프로그래밍 방식 액세스 권한과 장기 보안 인증이 있는 IAM 사용자가 필요하며 이는 보안 위험을 내포합니다. 이 위험을 줄이려면 이러한 사용자에게 작업을 수행하는 데 필요한 권한만 제공하고 더 이상 필요하지 않을 경우 이러한 사용자를 제거하는 것이 좋습니다. 필요한 경우 액세스 키를 업데이트할 수 있습니다. 자세한 내용은 IAM 설명서의 [AWS 보안 자격 증명](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html#access-keys-and-secret-access-keys) 및 IAM 사용자의 액세스 키 관리를 참조하세요. [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey)  | AWS 시스템 관리자 | 
| PKCS 키스토어를 생성합니다. | PKCS 키 스토어를 생성하여 키를 저장하고 시크릿 액세스 키를 생성하여 데이터를 Amazon S3로 전송하려면 다음 명령을 사용합니다.<pre>gsk8capicmd_64 -keydb -create -db "/db2/db2<sid>/.keystore/db6-s3.p12" -pw "<password>" -type pkcs12 -stash</pre> | AWS 시스템 관리자 | 
| 키 스토어를 사용하도록 DB2를 구성합니다. | `keystore_location` 및 `keystore_type` 파라미터와 함께 키 스토어를 사용하도록 DB2를 구성하려면 다음 명령을 사용합니다.<pre>db2 "update dbm cfg using keystore_location /db2/db2<sid>/.keystore/db6-s3.p12 keystore_type pkcs12"</pre> | AWS 시스템 관리자 | 
| Db2 스토리지 액세스 별칭을 생성합니다. | 스토리지 액세스 별칭은 사용할 Amazon S3 버킷을 지정합니다. 또한 로컬 키 스토어에 암호화된 형식으로 저장된 사용자 이름 및 암호와 같은 연결 세부 정보도 제공합니다. 자세한 내용은 IBM Db2 설명서의 [카탈로그 스토리지 ACCESS 명령을](https://www.ibm.com/docs/en/db2/12.1.0?topic=commands-catalog-storage-access) 참조하세요.<br />스토리지 액세스 별칭을 생성하려면 다음 스크립트 구문을 사용합니다.<pre>db2 "catalog storage access alias <alias_name> vendor S3 server <S3 endpoint> user '<access_key>' password '<secret_access_key>' container '<bucket_name>'"</pre><br />다음은 한 예입니다.<pre>db2 "catalog storage access alias DB2BKPS3 vendor S3 server s3.us-west-2.amazonaws.com user '*******************' password '*********************' container 'myfirstbucket'"</pre> | AWS 시스템 관리자 | 

### DB2에서 logarchmeth1 위치 업데이트 및 DB2 다시 시작
<a name="update-logarchmeth1-location-in-db2-and-restart-db2"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| 위치를 생성합니다. | 이전에 정의한 스토리지 액세스 별칭을 사용하려면 `LOGARCHMETH1` 데이터베이스 파라미터를 업데이트하고 다음 명령을 사용합니다.<pre>db2 update db cfg for <DBNAME> using LOGARCHMETH1 'DB2REMOTE://<storage_alias_name>//<sub folder>'</pre><br />로그를 다른 파일과 분리하려면 S3 버킷 내에 로그를 저장할 하위 디렉터리(즉, Amazon S3 버킷 접두사)를 지정합니다. `TESTDB_LOGS` <br />다음은 한 예입니다.<pre>db2 update db cfg for ABC using LOGARCHMETH1 'DB2REMOTE://DB2BKPS3//TESTDB_LOGS/'</pre><br />다음과 메시지가 표시됩니다.`DB20000I The UPDATE DATABASE CONFIGURATION command completed successfully.` | AWS 시스템 관리자 | 
| DB2를 다시 시작합니다. | 로그 아카이빙을 위해 DB2 인스턴스를 재구성한 후 다시 시작합니다.<br />그러나 `LOGARCHMETH1 `가 이전에 파일 시스템 위치로 설정된 경우 다시 시작할 필요가 없습니다. | 관리자, 시스템 관리자 | 

### Amazon S3 및 db2diag.log에서 아카이브 로그 경로 확인
<a name="check-the-archive-log-path-in-s3-and-db2diag-log"></a>


| 작업 | 설명 | 필요한 기술 | 
| --- | --- | --- | 
| Amazon S3에서 아카이브 로그를 확인합니다. | 이때 데이터베이스는 트랜잭션 로그를 Amazon S3 스토리지에 직접 보관하도록 완전히 구성됩니다. 구성을 확인하려면 데이터베이스에서 트랜잭션 활동을 실행하여 로그 공간 소비(및 아카이빙)를 시작합니다. 그런 다음 Amazon S3의 아카이브 로그를 확인합니다. | 관리자, 시스템 관리자 | 
| 에서 아카이브 로그 구성을 확인합니다`db2diag.log`. | Amazon S3에서 아카이브 로그를 확인한 후 DB2 진단 로그에서 `db2diag.log`다음 메시지를 찾습니다.<br />`MESSAGE : ADM1846I  Completed archive for log file "S0000079.LOG" to Completed archive for log file S0000080.LOG to DB2REMOTE://<AWS S3 Bucket Name>/<SID>/log1/db2<sid>/<SID>/NODE0000/LOGSTREAM0000/C0000001/ from /db2/<SID>/log_dir/NODE0000/LOGSTREAM0000/. MESSAGE : ADM1846I  Completed archive for log file "S0000080.LOG" to Completed archive for log file S0000081.LOG to DB2REMOTE://<AWS S3 Bucket Name> /<SID>/log1/db2<sid>/<SID>/NODE0000/LOGSTREAM0000/C0000001/ from /db2/<SID>/log_dir/NODE0000/LOGSTREAM0000/. `<br />이 메시지는 닫힌 DB2 트랜잭션 로그 파일이 (원격) Amazon S3 스토리지에 아카이브되고 있음을 확인합니다. | AWS 시스템 관리자 | 

## 관련 리소스
<a name="enable-db2-logarchive-directly-to-amazon-s3-in-ibm-db2-database-resources"></a>

**AWS 서비스 설명서**
+ [AWS 보안 자격 증명](https://docs.aws.amazon.com/IAM/latest/UserGuide/security-creds.html#access-keys-and-secret-access-keys)(IAM 설명서)
+ [최소 권한 부여](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#grant-least-priv)(IAM 설명서)
+ [IAM 사용자의 액세스 키 관리](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html#Using_RotateAccessKey)(IAM 설명서)
+ [IAM의 보안 모범 사례](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)(IAM 설명서)

**IBM 리소스**
+ [IBM Datab2 데이터베이스](https://www.ibm.com/products/db2-database)
+ [logarchmeth1 - 기본 로그 아카이브 메서드 구성 파라미터](https://www.ibm.com/docs/en/db2/12.1.0?topic=parameters-logarchmeth1-primary-log-archive-method)
+ [logarchmeth2 - 보조 로그 아카이브 메서드 구성 파라미터](https://www.ibm.com/docs/en/db2/12.1.0?topic=parameters-logarchmeth2-secondary-log-archive-method)
+ [원격 스토리지](https://www.ibm.com/docs/en/db2/12.1.0?topic=databases-remote-storage) 