본문 바로가기

참고자료

aws

1.aws 에서 ec2 를 검색하고 인스턴스 생성을 하자

2. 인스턴스를  amazon Linux 로 하고 왠만한것은 다 기본으로 하자

3. public ip 와 private ip 가 생성되면 탄력적 ip를 생성하자

4. putty 와 puttygen 을 다운받자. 

5. private 키 ppk 변환

    aws private 키 생성하면 .pem 키가 생성된다.

    pem 키를 .ppk 파일로 변환해야 된다.

    puttygen 에서 .ppk 변환을 할 수 있다. 상단 conversions 항목에서 .pem 파일을 import 를 하자

    그리고 save private key 를 눌러 저장을 하자

    (왠만하면 저장할때 프로젝트 이름, 혹은 태그 이름으로 저장을 하자)

 

6.putty 에서 설정을 하자

  -1 . ssh 항목의 auth 의 private key file for authentication 에서 5에서 변환된 ppk 파일을 열자

  -2. session 항목에 saved sessions 에서 이름을 정하고 save를 하자 

  -3. host-name 에 ec2-user@탄력적 ip 을 넣고 open 을 하자 . 이때 경고창이 뜨면 예를 누르자

      -외부 유저는 탄력적 ip로 접속을 해야 한다.

  -- 그럼 아마존의 리눅스 서버에 접속을 한 것이다. 

 

7.그리고 아마존 aws 에서 연결을 누르자 putty때랑 똑같을 것이다.

 

8.리눅스에서 연결해보자

 -1.리눅스 os를 실행한다.

 -2.윈도우 os 에서 cmd실행하고 ssh 를 입력해보자

 -3. pem 파일이 저장된 곳으로 cd 로 이동하자 , 그리고 여기있는 pem 파일을 리눅스 os 의 홈 디렉토리에 보내자

 -4. 리눅스 os 의 홈 디렉토리리로 옮기는 것은 ftp 혹은 sftp를 이용하여 이동시킬 수 있다. sftp를 이용해보자

      -a. 리눅스의 ifconfig 로 아이피를 확인해보자 inet 이 ip 이다.

      -b. cmd 창에서 다음의 명령어를 입력하자

              sftp 리눅스 유저 @ 리눅스 os 리눅스 inet    

          그러면 y/n 을 입력하는 화면이 나온다. yes 를 입력하고 (안되는 것 같아도 일단 입력해보자)

          다시 위의 명령어를 입력하자 

      -c. 비밀번호를 입력하는 칸이 나온다. 리눅스 os의 유저 비밀번호를 입력하자(안되는 것 같아도 일단 입력해보자)

      -d. pwd를 쳐보자 , 그럼 리눅스 유저의 홈 디렉토리가 나올 것이다.

      -e. put 파일이름.pem 을 하자

           한번 리눅스 os의 터미널에서 ls -al *.pem 을 해보자 그럼 옮긴 pem 파일이 있을 것이다.

 -5. aws 인스턴스 연결창의 ssh 클라이언트 항목을 클릭한다. 

     -a. 그리고 리눅스 터미널에 맨 밑에 있는 항목을 입력하자

     -b. 중간에 yes/ no 창이 나오면 yes 를 입력하자 그럼 bad permission 경고가 나올것이다. 

          권한이 없는 것이기 때문에 권한 설정을 해야된다.

     -c. 권한이 664 인것을 확인 할 수 있는데  400으로 권한을 바꿔야 된다.

          chmod 400 파일이름.pem 

          으로 권한을 바꿔주자

     -d. 그리고 5-a 를 다시 한번 해주면 aws에 연결이 된다.

  -6. 리눅스 에서의 설정 

       -a. cp pem.파일 ~/.ssh/    

           로 pem 파일을 복사하자

           복사한 파일의 권한을 600 으로 바꾸자

       -b. .ssh 디렉토리로 가서 config 파일을 하나 만들자

            -- vi config 로 만들자

                Host pem파일이름

                        HostName 퍼블릭 DNS

                        User ec2-user

                        IdentityFile ./pem파일

            그리고 chmod 700 으로 config 파일 권한을 바꾸자

       -c. ssh 6-b 의 pem 파일이름 으로 하면 aws와 연결이된다.

               

9. aws 서버에서 자바를 설치해보자

   - 루트 유저로 하지않은 경우에는 sudo 로 명령어를 실행해야 한다.

   1. yum으로 자바 설치

      sudo yum install java-1.8.0-openjdk-devel.x86_64

   2. 자바가 설치 되었나 확인

       sudo /usr/sbin/alternatives --config java

       java -version

 

10. 데이터 베이스를 설치해보자

     1.  aws 에서 데이터베이스 항목 중 RDS 를 클릭하자

     2. 데이터베이스 생성을 하자 

         a. 표준생성 방식을 선택하고 원하는 엔진 옵션을 선택하자  (일단은 maria DB 에서 한다고 가정하자)

             템플릿도 알아서 선택하자 (연습이면 프리티어로 하자)

         b. 설정을 하자

            -- db 마스터 이름과 비밀번호 , 식별자를 정하자

            -- 연결에 퍼블릭 액세스 가능을 예로 두자

            -- 추가 구성에서 초기 데이터베이스 이름을 정하자( '-' 사용불가)

     3. 파라미터 그룹을 설정하자 

        1. 좌측에서 파라미터 그룹을 클릭해 설정을 해보자 

           -- 자신이 쉽게 사용하기 위해 그룹이름과 그룹 설명을 추가해보자

        2. 새로 만든 파라미터 그룹을 클릭하고 time_zone 검색 해서 seoul로 편집하자

            마찬가지로 character 를 검색해 character_set 을 다 utf8mb4 로 편집하자

            collation_server 와 connection 을 utf8mb4 general ci 로 

            max_connection 을 검색해 max_connection 을 150으로 하자

     4.데이터 베이스에 다시 들어가서 추가 구성의 파라미터 그룹을 10-3 에서 만든 그룹으로 교체하자

        그리고 데이터 베이스 재부팅을 하자

     5. 데이터 베이스 보안 그룹을 추가하자

        a.보안그룹의 default 그룹 이라고 되있는 것을 클릭하여 보안그룹 항목으로 간 뒤

        b.연결하고자 하는 인스턴스의 보안그룹 아이디를 복사하고

        c. 새 보안그룹을 만들고 

            유형은 mysql/aurora로 설정하고

           사용자 지정 id 로  5-b 에서 복사한 아이디를 붙여 넣자

     

     6. mysql을 설치하자

        엔드포인트를 복사하자

        aws 인스턴스에 연결을 해서 mysql 을 설치하자 다음과 같이 명령어를 입력하자

        sudo yum install mysql

        를 한 뒤

        mysql -u admin -p -h 엔드포인트 

    7. 한번 잘 설치 되었나 확인해보자

        select version(); 

        select @@time_zone, now();

        show databases;

         

   

 

 

   기타 시간대를 utc 에서 kst로 바꿀 때

     -1. sudo rm /etc/localtime 

     -2. sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime

      

 

 

              

               

      

 

       

 

 

'참고자료' 카테고리의 다른 글

aws 에 배포  (0) 2021.03.29
google cloud platform (GCP)의 사용법  (0) 2021.03.26
동기와 비동기 통신  (0) 2021.02.18
서블릿(servlet) 이란?  (0) 2020.12.01
WAS = Web Application Server  (0) 2020.12.01