반응형

1. 시험환경

    ˙ ubuntu v20.04

    ˙ docker

 

2. 목적

    ˙ Dockerfile을 이용하여 docker image 생성하는 방법을 알아보자.

    ˙ build된 image를 실행하여 동작하는지 확인한다.

 

3. 적용

    ① docker image를 빌드(build)하기 위한 Dockerfile 경로에서 이미지를 빌드 명령을 실행한다.

        - 명령어 형식 : $ docker build --force-rm -t [image-tag-name] .

 

    ② build한 image를 확인한다.

 

    build한 image를 실행한다.

        - 명령어 형식 : $ docker run -d [image-tag-name]

 

4. 결과

    ˙ container 동작 여부를 확인한다.

        - 프로그램은 port 8080 접속시 "Hello World"를 반환하는 echo 서버이다.

 

반응형
반응형

1. 시험환경

    ˙ ubuntu v20.04

    ˙ docker

 

2. 목적

    ˙ docker image 파일을 다운로드 한다.

    ˙ docker image 수정 후 commit 명령어를 사용하여 변경점을 저장한다.

    ˙ 변경 사항이 적용된 docker image를 실행한다.

 

3. 적용

    ① docker hub로부터 image 파일을 다운로드 받는다.

        - 여기에선 ubuntu:focal을 다운 받았다.

        - 명령어 형식 : $ docker pull [image]

 

    ② image 실행과 동시에 container 내부 진입하여 테스트 파일(sample.txt)을 생성 한다. (image 수정)

        - 명령어 형식 : $ docker run -it --name [container-tag] [image]

        - container 빠져나오기 : # <ctrl> + <p>,<q>

 

    ③ 현재 container를 기반으로 새로운 image를 생성한다.

        - 명령어 형식 : $ docker commit -a [author] -m ["msg"] [container_name] [image_name_new]

 

4. 결과

    ˙ 실행중인 container를 종료하고, commit한 image를 실행시켜서 수정사항이 image에 적용되었는지 확인한다.

        - 수정사항 : ②번 절차에서 sample.txt 파일 여부를 확인한다.

반응형
반응형

1. 시험환경

    ˙ Ubuntu 22.04

 

2. 목적

    ˙ Ubuntu 환경에서 Packer 설치하는 방법을 학습한다.

 

3. 적용

    ① 최신 버전 설치를 위해 pip install을 이용하여 ansible을 설치한다.

        - $ sudo apt install python3-pip

        - $ pip install ansible

 

 

    ② 설치는 완료되었지만, 경로를 PATH에 추가해야한다.

        - 설치 중 메시지 경고 메시지 출력

WARNING: The script ansible-community is installed in '/home/ubuntu/.local/bin' which is not on PATH.

 

    ③ .profile 파일에 ansible 설치 경로가 자동으로 추가되지만, 자동 반영되지는 않으므로 refresh 해야만 한다.

        - $ vi ~/.profile

        - $ source ~/.profile

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
    PATH="$HOME/.local/bin:$PATH"
fi

 

4. 결과

    ˙ 설치가 완료되면 버전을 확인한다.

    ˙ $ ansible --version

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

    ˙ Ubuntu 20.02 (AWS EC2)

    ˙ Java 11

    ˙ Spring Boot (Gradle, JIB)

 

2. 목적

    ˙ GitHub, Docker Hub, AWS EC2를 활용하여 Integration 및 Deploy 구축한다.

    ˙ Gradle, JIB, docker 사용법을 학습한다.

 

3. 적용

    ① 개발자는 IDE 환경에서 Spring Boot 프로젝트를 생성하고 개발한다.

    ② 개발자는 프로젝트 코드를 GitHub에 push한다.

    ③ AWS EC2에서 빌드 및 배포를 위해 프로젝트 코드를 checkout 한다.

        - GitHub Repository가 public인 경우 : 별도의 절차없이 clone, push, pull  가능하다.

        - GitHub Repository가 private인 경우 : 사용자 계정, 토큰을 이용하여 clone, push, pull 가능하다.


[Local 빌드 및 배포하는 방법]

    ④ gradle을 이용하여 jar 또는 war 패키지로 빌드한다.

        - $./gradlew clean build

    ⑤ 패키지가 생성된 폴더로 이동한다.

        - $cd build/libs

    ⑥ 패키지를 실행한다.

        - $ java –jar [pkg.war]

패키지 실행


[Docker 빌드 및 배포하는 방법]

    ④ JIB을 이용하여 docker image로 빌드하고 docker Hub에 push 되었는가 확인한다.

        - 사전작업1 : docker 설치 (★)

        - 사전작업2 : docker login (★)

        - 사전작업3 : gradle.build 파일에서 JIB 플로그인 추가 및 설정 (★개발 및 배포 환경에 따라 설정)

        - $./gradlew clean jib

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
plugins {
    id 'com.google.cloud.tools.jib' version '3.1.4'
}
 
jib {
    from {
        image = 'adoptopenjdk/openjdk11:alpine-jre'
    }
    to {
        image = 'docker-hub-repository'
        tags = ['1.0']
    }
    container {
        entrypoint = ['java''-Dspring.profiles.active=template''-jar''template-0.0.1-SNAPSHOT.war']
        // mainClass = 'com.test.StartApplication'
        jvmFlags = ['-Xms512m''-Xmx512m''-Xdebug''-XshowSettings:vm''-XX:+UnlockExperimentalVMOptions''-XX:+UseContainerSupport']
        ports = ['8080']
 
        environment = [SPRING_OUTPUT_ANSI_ENABLED: "ALWAYS"]
        labels = [version:project.version, name:project.name, group:project.group]
        creationTime = 'USE_CURRENT_TIMESTAMP'
        format = 'Docker'
    }
    extraDirectories {
        paths {
            path {
                from = file('build/libs')
 
            }
        }
    }
}
cs

빌드한 docker image가 docker Hub에 push 되었음을 확인

 

    ⑤ 서비스 배포할 서버에서  docker Hub에 등록된 이미지를 다운 받는다.

        - $docker pull [repo:tag]

 

    ⑥ docker 컨터네이너를 실행한다.

        - $docker run –p 8080:8080 [img-id]

 

4. 결과

    ˙ Local 또는 Docker 배포한 서비스가 정상동작하는지 접속한다.

        - URL : http://[ip:8080]/index

배포 서비스 접속

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다 ※

반응형
반응형

1. 시험환경

- AWS RDS (Relational Database Service)

 

2. 목적

- AWS에서 RDS 인스턴스를 생성하여, 24시간 운영되는 DB 서버를 구축한다.

- DB 클라이언트 프로그램을 이용하여 생성된 RDS 인스턴스에 접속한다.

 

3. 적용

① "서비스" 메뉴 → "RDS" 메뉴를 클릭한다.

RDS 메뉴 선택

 

② 현재 만들어 놓은 RDS 인스턴스가 아무것도 없으며, "데이터베이스 생성" 버튼을 클릭한다.

RDS 인스턴스 생성


③ 데이터베이스 생성을 위해 많은 설정을 해야 한다.

DB 종류 및 버전

 

인스턴스 이름, DB 계정 설정
Public 접근 허용과 Inbout 규칙 적용

 

④ RDS 인스턴스 생성 시간은 EC2, S3 생성 시간 보다 훨씬 오랜 시간이 필요하다.

RDS 인스턴스 생성 완료

 

⑤ DB 식별자를 클릭해서 연결 정보를 확인하자.

DB 접속 정보

 

⑥ 만일 workbench로 접속이 되지 않는다면 Inbound 규칙을 확인하고, RDS 인스턴스를 재부팅한다.

모든 PC에서 TCP 방식으로 3306 포트 접근 가능

 

RDS 인스턴스 재부팅

 

4. 결과

- workbench를 이용하여 접속한다.

- 24시간 운영되는 DB 서버를 생성하였다.

- 이제, 로컬 DB 설치없이 개발용 DB로 이용하거나, EC2에 서비스를 올려서 DB 연동을 할 수 있다.

RDS 접속 완료

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형
반응형

1. 시험환경

- AWS S3 (Simple Storage Service)

 

2. 목적

- AWS에서 S3 버킷을 생성한다.

 

3. 적용

① "서비스" → "S3"

S3 스토리지

 

② 현재 만들어 놓은 버킷이 아무것도 없으며, "버킷 만들기" 버튼을 클릭한다.

버킷 목록

 

③ 버킷 이름, 리전, 기타 설정을 입력하고 버킷을 만든다.

버킷 만들기

 

④ 생성된 버킷을 확인한다.

버킷 생성 완료

 

4. 결과

- 버킷 이름을 클릭하면 해당 버킷을 관리할 수 있는 페이지가 나타나서, 파일 업로드/다운로드/삭제 할 수 있다.

- EC2 인스턴스 웹 서비스를 통해 업로드한 파일이 저장되는 일종의 "파일 서버" 역할을 하는 것으로 생각해 볼 수 있다.

버킷

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형
반응형

1. 시험환경

- MobaXterm (x64)

- AWS EC2 (ubuntu)

 

2. 목적

- AWS에서 생성한 EC2 인스턴스(ubuntu)에서 아파치 웹 서버를 설치한다.

- EC2 인스턴스의 DNS로 접속하여 서비스 동작을 확인한다.

 

3. 적용

① EC2 인스턴스에 SSH 콘솔 접속한 상태에서 아파치 웹 서버를 설치한다.

    - sudo apt-get update

    - sudo apt-get install apache2

apt-get 업데이트
아파치2 서버 설치

 

② AWS 웹 서비스 페이지에서 인스턴스 ID를 클릭한다.

접속 대상 EC2 인스턴스

 

③ Pulic IP와 Public DNS를 확인 한다.

접속 대상 EC2 인스턴스의 공용 주소

 

4. 결과

- 공용 IP 또는 공용 DNS로 접속하여 웹 서비스 정상 동작을 확인한다.

- 톰캣, 스프링, Node JS 등을 배포하여 웹서비스를 빠르게 시작할 수 있다.

웹 서비스 동작 확인

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형

'AWS(Amozon Web Service)' 카테고리의 다른 글

RDS 인스턴스 생성하기  (1) 2021.06.29
S3 버킷 생성하기  (0) 2021.06.29
EC2 인스턴스(윈도우 서버) 접속하기  (0) 2021.06.29
EC2 인스턴스(ubuntu) 접속하기  (0) 2021.06.29
EC2 인스턴스 생성하기  (1) 2021.06.28
반응형

1. 시험환경

- 윈도우 10

- RDP (Remote Display Protocol)

- AWS EC2 (Window Server)

 

2. 목적

- AWS에서 생성한 EC2 인스턴스(Window Server)에 접속한다.

- 윈도우 운영체제에서 RDP 접속 프로그램을 이용한다.

 

3. 적용

① AWS 인스턴스에서 접속 정보를 확인하기 위한 메뉴로 들어간다.

    - 인스턴스 ID 우클릭 → 연결

인스턴스 연걸

 

② "RDP 클라이언트" 메뉴에서 접속 정보를 확인한다.

    - 원격 데스트톱 파일 다운로드 (RDP 클라이언트 접속 프로그램)

    - 암호 가져오기 : private Key를 이용해서 암호를 가져온다.

RDP 클라이언트 접속 정보

 

 

③ 인스턴스 생성시에 만들었거나 기존 key에 연결했던 private key를 해독하여 암호를 생성한다.

RDP 접속 PW 가져오기

 

④ 암호 해독에 성공하면 암호가 발급된다.

private key를 이용한 암호해독 성공

 

⑤ 다운 받아 두었던 RDP를 실행하고, 발급받은 암호를 입력한다.

RDP 실행

 

4. 결과

- EC2 인스턴스에 원격 접속 되었다.

EC2 인스턴스 원격 접속 성공

 

 

※ 내용이 도움 되셨다면 광고 클릭 한번 부탁드립니다.

반응형

+ Recent posts