1. Docker 설치

Docker는 대부분의 운영 체제에서 설치할 수 있습니다. 아래는 주요 운영 체제별 설치 방법입니다.

Windows

  1. Docker Desktop for Windows를 다운로드하고 설치합니다.
  2. 설치 과정에서 기본 설정을 따릅니다.
  3. 설치가 완료되면 Docker Desktop을 실행하고, Docker가 정상적으로 작동하는지 확인합니다.

macOS

  1. Docker Desktop for Mac을 다운로드하고 설치합니다.
  2. 설치 과정에서 기본 설정을 따릅니다.
  3. 설치가 완료되면 Docker Desktop을 실행하고, Docker가 정상적으로 작동하는지 확인합니다.

Linux (Ubuntu 예시)

  • 터미널을 열고 다음 명령어를 실행하여 Docker를 설치합니다.
sudo apt-get update
sudo apt-get install -y docker.io

 

  •  Docker 서비스가 자동으로 시작되도록 설정합니다.
sudo systemctl enable docker
sudo systemctl start docker

 

  • 변경 사항을 적용하려면 터미널을 다시 시작하거나 로그아웃 후 로그인합니다.

 


deploying WSL2 distributionsensuring main distro is deployed 에러 해결

 

deploying WSL2 distributionsensuring main distro is deployed

wsl --shutdown bios에서 가상화 기술(VT-x / AMD-V) 활성화wsl --install

yes5.tistory.com

Node.js 설치

먼저, Node.js를 설치해야 합니다.

  1. Node.js 다운로드:
    • Node.js 공식 웹사이트로 이동합니다.
    • LTS (Long Term Support) 버전을 다운로드합니다. 이는 안정적이고 장기적으로 지원되는 버전입니다.
  2. Node.js 설치:
    • 다운로드한 설치 파일을 실행합니다.
    • 설치 마법사의 지시에 따라 Node.js를 설치합니다. 기본 설정을 사용하면 됩니다.

 

Node.js 설치 확인

설치가 완료되면, Node.js와 npm(Node Package Manager)이 제대로 설치되었는지 확인합니다.

  1. 명령 프롬프트 열기:
    • Windows + R 키를 누르고 cmd를 입력하여 명령 프롬프트를 엽니다.
  2. Node.js와 npm 버전 확인:
    • 다음 명령어를 입력하여 Node.js와 npm이 설치되었는지 확인합니다.
node -v
npm -v

 

Visual Studio Code 설치

  1. VSCode 다운로드:
  2. VSCode 설치:
    • 다운로드한 설치 파일을 실행합니다.
    • 설치 마법사의 지시에 따라 VSCode를 설치합니다. 기본 설정을 사용하면 됩니다.

 

VSCode에서 Node.js 프로젝트 열기

  1. VSCode 열기:
    • 설치가 완료되면 VSCode를 실행합니다.
  2. 프로젝트 폴더 열기:
    • 파일 메뉴에서 폴더 열기를 선택합니다.
    • Node.js 프로젝트가 있는 폴더를 선택하고 열기 버튼을 클릭합니다.

 

터미널에서 Node.js 실행

VSCode 내의 통합 터미널을 사용하여 Node.js 애플리케이션을 실행할 수 있습니다.

  1. 통합 터미널 열기:
    • 보기 메뉴에서 터미널을 선택하거나 Ctrl + ` (백틱) 키를 눌러 통합 터미널을 엽니다.
  2. 프로젝트 폴더로 이동:
    • 터미널에서 프로젝트 폴더로 이동합니다.

 

프로젝트 디렉토리 설정:

mkdir my-express-app
cd my-express-app
npm init -y
npm install express

 

서버 코드 작성:

index.js 파일을 생성하고, 아래의 코드를 추가합니다

const express = require('express');
const path = require('path');

const app = express();
const port = 3000;

// 정적 파일 제공을 위한 미들웨어 설정
app.use(express.static(path.join(__dirname, 'public')));

// 루트 경로에 대한 핸들러
app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname, 'public', 'index.html'));
});

app.listen(port, () => {
    console.log(`서버가 http://localhost:${port}에서 실행 중입니다.`);
});

 

웹 페이지 작성: 

public 디렉토리를 생성하고, 그 안에 index.html 파일을 작성합니다:

mkdir public

public/index.html 파일에 아래의 코드를 추가합니다:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Simple Express App</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            text-align: center;
            padding: 50px;
        }
        h1 {
            color: #333;
        }
    </style>
</head>
<body>
    <h1>Welcome to My Simple Express App!</h1>
    <p>This is a simple web page served by an Express server.</p>
</body>
</html>

디렉토리, 코드 위치

 

 

서버 실행:

터미널에서 아래 명령어를 실행하여 서버를 시작합니다:

node index.js

 

웹 브라우저에서 확인:

웹 브라우저를 열고 http://localhost:3000으로 접속하면 작성한 웹 페이지가 표시됩니다.

 

'Dev > Node.js' 카테고리의 다른 글

Amazon linux2에 node18 설치 Requires: libc.so.6(GLIBC_2.28)(64bit)  (0) 2024.08.16
node.js express docker실행  (0) 2024.08.02

Scenario

 

1. CodeRepository에 node.js 코드 푸시

2. node.js 코드 ECR로 푸시

3. ECS에서 ECR 컨테이너 지정 후 EC2환경 서비스

4. node.js 코드 실행 확인

 

 

사전 준비

Test Node.js 코드

https://yes5.tistory.com/45

 

Node.js Express 실행 확인 index.html 포함

Node.js 설치먼저, Node.js를 설치해야 합니다.Node.js 다운로드:Node.js 공식 웹사이트로 이동합니다.LTS (Long Term Support) 버전을 다운로드합니다. 이는 안정적이고 장기적으로 지원되는 버전입니다.Node.js

yes5.tistory.com

 

AWS CLI 설치 및 구성

  • AWS CLI가 설치되어 있지 않다면, AWS CLI 설치 가이드를 참고하세요.
  • AWS CLI를 설치한 후, 다음 명령어를 사용하여 AWS 자격 증명을 구성합니다:
aws configure

1. KEYID
2. PASSWORD
3. REGION (ap-northeast-2)
4. 생략 enter

 

Git 설치

  • Git이 설치되어 있지 않다면, Git 다운로드 페이지에서 설치하세요.

Docker 설치 및 설정

https://yes5.tistory.com/46

 

Docker 설치 및 설정 deploying WSL2 distributionsensuring main distro is deployed error 해결

1. Docker 설치Docker는 대부분의 운영 체제에서 설치할 수 있습니다. 아래는 주요 운영 체제별 설치 방법입니다.WindowsDocker Desktop for Windows를 다운로드하고 설치합니다.설치 과정에서 기본 설정을 따

yes5.tistory.com

 

 

AWS CodeCommit 리포지토리 생성

  • AWS Management Console 또는 AWS CLI를 사용하여 리포지토리를 생성할 수 있습니다.

 

IAM 사용자 생성 및 권한 부여

  • AWS Management Console에서 IAM 사용자에게 CodeCommit에 접근할 수 있는 권한을 부여하세요. 사용자에게 AWSCodeCommitFullAccess 정책을 추가하면 됩니다.

 

HTTPS Git 자격 증명 생성 (선택 사항)

  • AWS Management Console의 IAM 서비스에서 "HTTPS Git 자격 증명"을 생성하여 사용자의 Git 자격 증명을 설정할 수 있습니다. 이 자격 증명을 사용하면 Git 명령을 통해 AWS CodeCommit에 접근할 수 있습니다.
  • https://yes5.tistory.com/42
 

AWS code repository 생성 git

https://git-scm.com/download Git - DownloadsDownloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI tools (git-gui, gitk), but there are several third-party tools

yes5.tistory.com

 

로컬 Git 리포지토리 설정 및 푸시

기존 프로젝트가 있는 경우:

  • 기존 프로젝트 디렉토리로 이동하여 Git 리포지토리를 초기화하고 원격 리포지토리를 추가합니다.
cd /path/to/your/local/repo
git init
git remote add origin https://git-codecommit.ap-northeast-2.amazonaws.com/v1/repos/my-express-app

 

새 프로젝트를 시작하는 경우:

  • 새로운 디렉토리를 생성하고 Git 리포지토리를 초기화한 후, 원격 리포지토리를 추가합니다.
mkdir my-express-app
cd my-express-app
git init
git remote add origin https://git-codecommit.ap-northeast-2.amazonaws.com/v1/repos/my-express-app

git config --global user.email "you@example.com"
git config --global user.name "Your Name"
  • Git을 처음 설정할 때 사용자 이름과 이메일 주소를 지정해야 합니다. 이 정보를 사용하여 커밋을 할 때 작성자가 누구인지 식별합니다.

 

변경 사항 커밋 및 푸시:

  • 파일을 추가하고 커밋한 후, 변경 사항을 AWS CodeCommit 리포지토리에 푸시합니다.
git add .
git commit -m "Initial commit"

# master 브랜치 생성 및 리모트에 푸시
git branch -M master
git push -u origin master

 

Dockerfile 작성

먼저, Express 애플리케이션을 Docker 컨테이너로 빌드할 수 있도록 Dockerfile을 작성해야 합니다. 프로젝트 루트 디렉토리에 Dockerfile을 추가합니다.

# Node.js 이미지를 기반으로 합니다
FROM node:18

# 작업 디렉토리를 설정합니다
WORKDIR /app

# 패키지 파일들을 컨테이너로 복사합니다
COPY package*.json ./

# 의존성 패키지를 설치합니다
RUN npm install

# 애플리케이션 소스 파일들을 컨테이너로 복사합니다
COPY . .

# 애플리케이션이 실행될 포트를 설정합니다
EXPOSE 3000

# 애플리케이션을 실행합니다
CMD ["node", "index.js"]

 

Docker 이미지 빌드:

Docker 이미지를 빌드합니다:

docker build -t my-express-app .

 

Docker 이미지 실행 (로컬 테스트):

로컬에서 Docker 컨테이너를 실행하여 애플리케이션이 잘 작동하는지 확인합니다:

docker run -p 3000:3000 my-express-app

 

 

AWS ECR(Elastic Container Registry) 설정

ECR 리포지토리 생성:

AWS 관리 콘솔에 로그인하고 ECR 서비스로 이동하여 새 리포지토리를 생성합니다.

 

ECR 로그인:

AWS CLI를 사용하여 ECR에 로그인합니다:

aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin <YOUR_ACCOUNT_ID>.dkr.ecr.ap-northeast-2.amazonaws.com
# <YOUR_ACCOUNT_ID> 입력

 

Docker 이미지 태깅 및 푸시:

ECR 리포지토리에 Docker 이미지를 태깅하고 푸시합니다:

docker tag my-express-app:latest <YOUR_ACCOUNT_ID>.dkr.ecr.ap-northeast-2.amazonaws.com/my-express-app:latest
docker push <YOUR_ACCOUNT_ID>.dkr.ecr.ap-northeast-2.amazonaws.com/my-express-app:latest

# <YOUR_ACCOUNT_ID> 입력

 

ECR에 푸시 된 컨테이너 이미지

 

 

AWS ECS(Elastic Container Service) 설정

ECS 클러스터 등록

  •  이름만 지정하여 클러스터를 생성합니다.

 

IAM 역할 생성

IAM 역할은 ECS 인스턴스가 ECS와 통신할 수 있도록 필요한 권한을 제공합니다.

  • AWS Management Console에서 IAM으로 이동합니다.
  • 역할을 선택하고, 역할 생성을 클릭합니다.
  • EC2를 선택하여 EC2 인스턴스에 사용할 역할을 생성합니다.
  • 정책을 추가하여 ECS 관련 권한을 설정합니다. 필요한 권한은 AmazonEC2ContainerServiceforEC2Role 정책을 포함합니다.
  • 역할을 생성한 후, 역할의 IAM 역할 ARN을 기록해 둡니다.

 

인스턴스에 ECS 에이전트 설치:

  • ECS-optimized AMI를 사용하는 경우, ECS 에이전트가 이미 설치되어 있습니다. ECS-optimized AMI는 Amazon Linux 2 또는 Windows Server AMI로 제공됩니다.
  • EC2 인스턴스를 시작할 때, ECS-optimized Amazon Linux 2 AMI를 선택하여 인스턴스를 생성합니다.

https://aws.amazon.com/marketplace/pp/prodview-do6i4ripwbhs2

 

AWS Marketplace: Amazon ECS-Optimized Amazon Linux 2 (AL2) x86_64 AMI

Operating System Linux/Unix, Amazon Linux 2.0.20240709

aws.amazon.com

위 AMI의 Software Price는 무료입니다. 다른 AMI 사용시 Software 요금이 부과될 수 있습니다.

 

 

EC2 인스턴스를 생성할 때 고급 세부 정보에 IAM 인스턴스 프로파일을 생성해놓은 IAM role으로 선택합니다.

사용자 데이터에 해당 명령문을 입력합니다.

#!/bin/bash
echo ECS_CLUSTER=my-express-app >> /etc/ecs/ecs.config

#my-express-app은 ECS클러스터의 이름으로 클러스터 이름과 맞게 입력합니다.

 

 

ECS Task definition

  •  Json을 사용하여 새 테스크 정의를 생성합니다.

{
  "family": "my-express-app",
  "containerDefinitions": [
    {
      "name": "my-express-app",
      "image": "431997274392.dkr.ecr.ap-northeast-2.amazonaws.com/my-express-app:latest",
      "memory": 256,
      "memoryReservation": 128,
      "cpu": 128,
      "portMappings": [
        {
          "containerPort": 3000,
          "hostPort": 3000,
          "protocol": "tcp"
        }
      ]
    }
  ],
  "cpu": "256",
  "memory": "512",
  "networkMode": "bridge",
  "requiresCompatibilities": ["EC2"]
}
  • Task memory와 cpu 할당을 생성한 인스턴스(t3.micro 2 vCpu, 1GB RAM )이하로 설정해야합니다. 
  • container memory와 cpu 할당은 Task 할당 이하로 설정해야합니다.

 

ECS Cluster Task 실행

  • Task definition에서 정의한 패밀리와 시작유형을 EC2로 지정합니다.

 

ECS Cluster 실행 확인

  • Task가 실행중으로 변경되면, ECS cluster에 배정된 인스턴스ip:3000포트로 확인합니다. ( http:// ) ( https:// )

 

전제 조건

  • Windows 버전: Windows 10 버전 2004 이상 (빌드 19041 이상) 또는 Windows 11이 필요합니다.

 

CMD창에 아래 명령어를 입력합니다.

wsl --shutdown

 

 

bios에서 가상화 기술(VT-x / AMD-V) 활성화

 

가상화 기술 활성화 방법 (일반적인 단계)

  1. 컴퓨터를 재부팅합니다:
    • 컴퓨터를 완전히 종료한 후 다시 켭니다.
  2. BIOS 설정으로 들어갑니다:
    • 부팅 과정에서 BIOS 설정으로 들어가기 위해 특정 키를 눌러야 합니다. 일반적으로 사용하는 키는 F2, F10, Del, Esc, 또는 F12입니다. 제조사마다 다를 수 있으므로 부팅 시 화면에 표시되는 메시지를 참고하세요.
  3. BIOS 메뉴 탐색:
    • BIOS 설정에 들어가면 키보드의 방향키를 사용하여 메뉴를 탐색합니다. Advanced, Configuration, Security, 또는 System Configuration 같은 메뉴를 찾습니다.
  4. 가상화 옵션 찾기:
    • 가상화 기술을 활성화하는 옵션은 Intel Virtualization Technology, VT-x, Vanderpool, AMD-V, SVM 등으로 표시될 수 있습니다. 이는 CPU의 제조사에 따라 다릅니다.
    • Advanced 또는 CPU Configuration 섹션에 위치해 있을 가능성이 높습니다.
  5. 가상화 기술 활성화:
    • 해당 옵션을 찾은 후 Disabled로 설정되어 있으면 이를 Enabled로 변경합니다. 이를 위해 Enter 키를 눌러 설정을 변경합니다.
  6. 변경 사항 저장 및 종료:
    • 설정을 변경한 후 BIOS 메뉴에서 Save & Exit 또는 Exit를 선택하여 변경 사항을 저장하고 BIOS 설정에서 나옵니다. 일반적으로 F10 키를 눌러 저장하고 종료할 수 있습니다.
  7. 컴퓨터 재부팅:
    • 변경 사항을 저장하고 BIOS 설정에서 나가면 컴퓨터가 재부팅됩니다. 이제 가상화 기술이 활성화된 상태에서 운영체제가 부팅됩니다.

참고 이미지 예시

  1. Intel BIOS 예시:
    • Advanced > CPU Configuration > Intel Virtualization Technology로 이동하여 Enabled로 설정합니다.
  2. AMD BIOS 예시:
    • Advanced > CPU Configuration > SVM Mode 또는 Advanced > Advanced Chipset Settings > SVM로 이동하여 Enabled로 설정합니다.

BIOS 메뉴에서 가상화 기술 활성화

  • ASUS:
    • Advanced > CPU Configuration > Intel Virtualization Technology > Enabled
  • Gigabyte:
    • M.I.T. > Advanced Frequency Settings > Advanced CPU Core Features > Intel Virtualization Technology > Enabled
  • HP:
    • Security > System Security > Virtualization Technology > Enabled
  • Dell:
    • Virtualization Support > Virtualization > Enabled

위 절차를 통해 BIOS에서 가상화 기술을 활성화하면, 가상 머신 소프트웨어(VMware, VirtualBox 등)에서 가상화를 사용할 수 있게 됩니다. BIOS 메뉴는 제조사와 모델에 따라 다를 수 있으므로, 정확한 메뉴 위치는 해당 메인보드나 노트북의 사용자 매뉴얼을 참고하는 것이 좋습니다.

 

가상화 기술(VT-x / AMD-V) 활성화 후 cmd창에서 아래 명령어를 입력합니다.

wsl --install

 

Git

Git 설치는 운영 체제에 따라 다릅니다. 아래에 Windows, 그리고 Linux에 대한 설치 방법을 설명합니다.

 

Windows

  1. Git 공식 사이트에 접속하여 최신 Git 설치 파일을 다운로드합니다.
  2. 다운로드한 설치 파일을 실행합니다.
  3. 설치 마법사의 지시에 따라 설치를 진행합니다. 대부분의 경우 기본 설정을 사용해도 무방합니다.
  4. 설치가 완료되면, 명령 프롬프트나 Git Bash를 열어 Git이 제대로 설치되었는지 확인합니다

Linux

  1. sudo yum update -y
  2. sudo yum install git -y
  3. sudo yum install awscli -y

 

IAM 사용자의 보안 자격 증명

  1. AWS Management Console에 로그인합니다.
  2. IAM 서비스로 이동합니다.
  3. 사용자 목록에서 보안 자격 증명을 관리할 사용자를 선택합니다.
  4. 사용자 세부 정보 페이지에서 "보안 자격 증명" 탭을 클릭합니다.
  5. 여기서 액세스 키, 비밀번호, MFA 설정 등을 관리할 수 있습니다.
  6. HTTPS 인증을 위해 HTTPS Git credential for AWS CodeCommit의 credential을 생성합니다.

 

 

 

 

AWS CodeCommit에서 새로운 리포지토리를 생성

  1. CodeCommit 서비스로 이동합니다. 상단 검색 창에 "CodeCommit"을 입력하고 선택합니다.
  2. 리포지토리(Repositories) 섹션으로 이동합니다. 왼쪽 메뉴에서 "리포지토리(Repositories)"를 클릭합니다.
  3. 리포지토리 생성(Create repository) 버튼을 클릭합니다.
  4. 리포지토리 정보를 입력합니다. 리포지토리 이름과 선택 사항으로 설명을 입력합니다.
  5. 리포지토리 생성(Create repository) 버튼을 클릭하여 완료합니다.

 

 

AWS CodeCommit 리포지토리 클론 및 Git Credential Manager 설정

1. AWS CodeCommit 리포지토리 클론 명령 복사:

  • CodeCommit 서비스로 이동합니다.
  • 리포지토리 목록에서 클론할 리포지토리를 선택합니다.
  • 리포지토리 세부 정보 페이지에서 "클론 URL(Clone URL)" 섹션을 찾습니다.
  • "HTTPS" URL을 선택하고 해당 URL을 복사합니다. 예: https://git-codecommit.ap-northeast-2.amazonaws.com/v1/repos/my-repo.

2. 로컬 컴퓨터에서 Git 실행:

  • 로컬 컴퓨터에서 터미널(또는 명령 프롬프트)을 엽니다.
  • 리포지토리를 클론할 디렉토리로 이동합니다. 예: cd ~/my-projects.

3. 클론 명령 실행:

4. Git Credential Manager를 사용하여 자격 증명 입력:

  • 클론 명령을 실행하면 사용자 이름과 비밀번호를 입력하라는 메시지가 나타납니다.
  • 사용자 이름에는 IAM에서 생성한 Git 자격 증명의 사용자 이름을 입력합니다.
  • 비밀번호에는 IAM에서 생성한 Git 자격 증명의 비밀번호를 입력합니다.

 

 

 

Amazon Linux AMI 2018 EOS로 php 기반 서버들의 OS udate가 요구됨

Amazon linux2 EC2 생성

 

 

apache 설치

sudo yum update -y
sudo yum install -y httpd
sudo systemctl start httpd
sudo systemctl enable httpd
sudo systemctl status httpd

 

php 5.4.16 설치

sudo amazon-linux-extras install epel -y
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php56
sudo yum install -y php php-cli php-common php-devel php-mbstring php-xml php-mysqlnd
sudo systemctl restart httpd
php -v

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

http://hostaddress/info.php

 

sudo rm /var/www/html/info.php

 

php 5.4.16 > php 5.6.40 변경

sudo yum remove php php-cli php-common php-devel php-mbstring php-xml php-mysqlnd -y
sudo amazon-linux-extras install epel -y
sudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm

 

sudo vi /etc/yum.repos.d/remi.repo

[remi]
name=Remi's RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/remi/$basearch/
mirrorlist=https://rpms.remirepo.net/enterprise/7/remi/mirror
enabled=1
priority=1
gpgcheck=1
gpgkey=https://rpms.remirepo.net/RPM-GPG-KEY-remi

[remi-php56]
name=Remi's PHP 5.6 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php56/$basearch/
mirrorlist=https://rpms.remirepo.net/enterprise/7/php56/mirror
enabled=1
priority=1
gpgcheck=1
gpgkey=https://rpms.remirepo.net/RPM-GPG-KEY-remi

remi와 remi-php56 항목에 priority=1 추가

 

sudo yum install -y php php-cli php-common php-devel php-mbstring php-xml php-mysqlnd

php -v

 

vi /etc/php.ini

short_open_tag = ON

AWS

VPC - VPG, Site to Site VPN Connections, Customer gateway

          Route table

 

EC2

 

UTM (TrusGuard)

 

VPG (Virtual Private Gateway) 생성

name : etc-gw

ASN : Amazon default ASN

 

Actions > Attach to VPC

 

 

Customer gateway 생성

name : utm-gw

IP address : UTM gw의 ip

BGP ASN : 65000

 

 

Site to Site VPN connection 생성

name : etc-vpn

Target gateway type : Virtual private gateway

Virtual private gateway : etc-gw

Customer gateway ID : utm-gw

Routing option : Static

Local IPv4 network CIDR : 0.0.0.0/0

Remote IPv4 network CIDR : 0.0.0.0/0

 

Tunnel 1 설정

Action > Modify VPN tunnel option

 

사전 공유 키 저장

 

TrusGaurd IPsec VPN 설정

VPN > IKE SA

 

 

VPN > IPSec SA

VPN > IPSec VPN 정책

로컬 네트워크

 - 로컬 게이트웨이 : UTM GW IP

 - 로컬 서브네트워크 : private subnet ( AWS와 내부 통신이 필요한 IP 대역)

 

 

 

원격 네트워크

 - 원격 게이트웨이

Site to Site VPN Tunnel 1 의 Outside IP address = Active

Site to Site VPN Tunnel 2 의 Outside IP address = Standby ( Tunnel 2는 지금까지의 과정을 repeat )

 

원격 서브네트워크 : AWS에서 사용 할 private subnet 대역 ( vpc 대역 )

 


Route table 수정

Destionation : AWS와 연결할 Pritabe IP 대역

Target : VPG( Vitrual Private Gateway )

 

VPN Test

Tunnel Status : UP check

 

 

AWS pri IP로 접근 test

 

'Security > Network' 카테고리의 다른 글

도메인 구매 및 SSL 설정 with gabia, AWS ACM  (0) 2024.08.16

 

postgresql 13버전 설치

yum update -y

 

cd > [to workspace]

 

wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

 

yum install -y pgdg-redhat-repo-latest.noarch.rpm

 

sudo yum install -y postgresql13 postgresql13-server

 

sudo /usr/pgsql-13/bin/postgresql-13-setup initdb

 

sudo systemctl start postgresql-13

 

sudo systemctl enable postgresql-13

 

 

postgresql 계정 설정

sudo -i -u postgres

psql

CREATE USER testuser WITH PASSWORD 'test2020@' ;

ALTER USER testuser WITH SUPERUSER ;

\du

 

database 생성

CREATE DATABASE test OWNER testuser ;

GRANT ALL PRIVILEGES ON DATABASE test TO testuser ;

\l 

 

접속 권한 설정

sudo sed -i "s/#listen_addresses = 'localhost'/listen_addresses = '*'/g" /var/lib/pgsql/13/data/postgresql.conf

echo "host    all             all             0.0.0.0/0               md5" | sudo tee -a /var/lib/pgsql/13/data/pg_hba.conf

 

 

postgresql 설정 적용 재실행

sudo systemctl restart postgresql-13

sudo systemctl status postgresql-13

 

 

Dbeaver 등 tool을 이용 접속 확인

+ Recent posts