[WIP] 2. AWS에서 Java에서 개발한 웹 응용 프로그램의 실행 환경 구축(EC2 초기 설정)

11823 단어 AWS

개요


이것은 AWS에서 자바(Spring-Boot)가 개발한 웹 응용 프로그램의 실행 환경을 구축하는 작업 내용의 총결이다.
이 글은 AWS에서 자바가 개발한 웹 응용 프로그램의 실행 환경 구축(VPC&EC2 제작)부터 시작되었다.이 글은'EC2 초기 설정'을 썼다.
  • 1. AWS에서 자바가 개발한 웹 응용 프로그램의 실행 환경 구축(VPC&EC2 제작)
  • 2. AWS에서 자바에서 개발한 웹 응용 프로그램의 실행 환경 구축(EC2 초기 설정)
  • 3. AWS에서 Java에서 개발한 웹 응용 프로그램의 실행 환경 구축(RDS)
  • 4. AWS에서 자바에서 개발한 웹 응용 프로그램의 실행 환경 구축 (웹 응용 프로그램의build&deploy) (없음)
  • ssh 클라이언트


    설정은 Windows에서 EC2 인스턴스에 로그인할 수 있습니다.
    이 기사는 PUTTY를 ssh 클라이언트로 사용하여 PUTTYGEN을 만듭니다.exe를 사용하여 EC2 실례의 개인 키 파일 (pem)을 ppk 파일로 변환해야 합니다.

    ppk 파일 만들기


    PUTTYGEN.exe를 시작하고 "Load"단추를 누르면 개인 키 파일을 읽을 수 있습니다.

    Save provate key 버튼을 클릭하여 ppk 파일로 저장합니다.

    PuTTY 설정


    Host Name에 Public 서브넷의 EC2 인스턴스에 대한 Public IP 주소를 입력합니다.
    Saved Sessions에 세션 이름을 입력합니다.(이 예에서는 my-aws-2060503입니다.)

    세션 제한 시간(초)을 입력합니다.

    로그인할 사용자 이름을 입력합니다.

    「Browse...」생성된 ppk 파일을 지정하려면 단추를 누르십시오.

    세션 화면으로 돌아가 Save 버튼을 클릭하여 세션을 저장합니다.
    이 세션에서 "Open"단추를 누르면 ssh를 EC2에 로그인합니다.
    Using username "ec2-user".
    Authenticating with public key "imported-openssh-key"
    Last login: Tue May  3 10:01:36 2016 from xxxxxxx.xxxxx.xxxxxxxxxxx.xxx.xxx
    
           __|  __|_  )
           _|  (     /   Amazon Linux AMI
          ___|\___|___|
    
    https://aws.amazon.com/amazon-linux-ami/2016.03-release-notes/
    [ec2-user@ip-10-0-1-196 ~]$
    

    Private 서브넷의 EC2에 로그인


    Public 서브넷의 EC2 실례와 인터넷 연결, 그리고 내 IP自宅のIPアドレス에서 ssh 로그인을 할 수 있도록 보안 그룹을 설정합니다.Private 서브넷의 EC2 인스턴스가 인터넷에 연결되지 않았기 때문에 Windows에서 ssh에 직접 로그인할 수 없습니다.
    따라서 한 번에 ssh가 Public 서브넷의 EC2 실례에 로그인하고, 개인 키 파일 ssh를 사용하여Private 서브넷의 EC2 실례에 로그인합니다.
    WinSCP 등을 사용하여 Public 서브넷에 개인 키 파일을 업로드하는 EC2 인스턴스
    그런 다음 다음 다음 ssh 명령을 사용하여 Private 서브넷의 EC2 인스턴스에 ssh 로그인할 수 있습니다.
    $ ssh -i my-aws-keypair-20160503.pem [email protected]
    

    새 인증 키 파일


    상기 방법으로Private 서브넷의 EC2에 로그인할 수 있지만, 이 개인 키 파일은 EC2 실례와 관련이 있기 때문에 복사하지 않는 것이 좋습니다
    따라서 EC2 실례 사이에서 ssh 로그인을 위한 인증 키 파일을 따로 만들고 사용합니다.
    $ cd .ssh
    $ ssh-keygen -t rsa
    
    위에서 만든 idrsa.pub 명령을 사용하여 Private 서브넷의 EC2 인스턴스에 복사합니다.
    public
    $ scp -i my-aws-keypair-20160503.pem id_rsa.pub [email protected]:
    id_rsa.pub                                                                                      100%  404     0.4KB/s   00:00
    
    Private 서브넷의 EC2에 개인 키 파일을 사용하여 로그인합니다.
    public
    $ ssh -i my-aws-keypair-20160503.pem [email protected]
    
    id_rsa.pub의 authorized키에 추가합니다.추가 후 idrsa.pub가 필요하지 않기 때문에 삭제합니다.
    private
    $ cat id_rsa.pub >> .ssh/authorized_keys
    $ rm id_rsa.pub
    $ exit
    
    Public 서브넷의 EC2로 돌아가 개인 키 파일을 삭제합니다.
    public
    $ rm my-aws-keypair-20160503.pem
    
    새로 만든 인증 키로 로그인할 수 있는지 확인합니다.
    public
    [ec2-user@ip-10-0-1-196 ~]$ ssh 10.0.2.111
    Last login: Wed May  3 11:44:55 2016 from ip-10-0-1-196.ap-northeast-1.compute.internal
    
           __|  __|_  )
           _|  (     /   Amazon Linux AMI
          ___|\___|___|
    
    https://aws.amazon.com/amazon-linux-ami/2016.03-release-notes/
    1 package(s) needed for security, out of 1 available
    Run "sudo yum update" to apply all updates.
    [ec2-user@ip-10-0-2-111 ~]$
    

    EC2의 초기 설정


    EC2에 로그인할 수 있으면 다음과 같이 설정합니다.이 설정은 Public/Private 서브넷 양쪽의 EC2 인스턴스에서 수행됩니다.
    /etc/sysconfig/i18n
    LANG=en_US.UTF-8
    
    ↓변경
    LANG=ja_JP.UTF-8
    
    /etc/sysconfig/clock
    ZONE="UTC"
    UTC=true
    
    ↓변경
    ZONE="Asia/Tokyo"
    UTC=false
    
    /etc/localtime
    $ sudo cp /etc/localtime /etc/localtime.org
    $ sudo ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
    
    yum update
    $ sudo yum -y update
    

    MySQL 설치(Public/Private 서브넷의 EC2)


    EC2 인스턴스에서 RDS까지 MySQL Celient 연결을 설치합니다.
    $ sudo yum -y install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
    
    $ sudo yum -y install mysql mysql-devel mysql-utilities
    
    $ mysql --version
    mysql  Ver 14.14 Distrib 5.6.30, for Linux (x86_64) using  EditLine wrapper
    

    nginx 설치(Public 서브넷의 EC2)

    $ sudo yum -y install nginx
    
    $ sudo service nginx status
    nginx は停止しています
    
    $ sudo chkconfig nginx on
    
    $ sudo service nginx start
    nginx を起動中:                                            [  OK  ]
    

    OpenJDK 설치(Prevate 서브넷의 EC2)


    Java 개발 웹 응용 프로그램을 구축하고 실행해야 합니다.
    $ sudo yum -y install java-1.8.0-openjdk-devel
    
    java
    $ sudo alternatives --config java
    
    2 プログラムがあり 'java' を提供します。
    
      選択       コマンド
    -----------------------------------------------
    *+ 1           /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
       2           /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java
    
    Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
    
    $ java -version
    openjdk version "1.8.0_91"
    OpenJDK Runtime Environment (build 1.8.0_91-b14)
    OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
    
    javac
    $ sudo alternatives --config javac
    
    2 プログラムがあり 'javac' を提供します。
    
      選択       コマンド
    -----------------------------------------------
       1           /usr/lib/jvm/java-1.8.0-openjdk.x86_64/bin/javac
    *+ 2           /usr/lib/jvm/java-1.7.0-openjdk.x86_64/bin/javac
    
    Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:1
    
    $ javac -version
    javac 1.8.0_91
    

    Maven 설치(Prevate 서브넷의 EC2)


    웹 응용 프로그램 구축에 필요합니다.
    $ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
    $ sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
    $ sudo yum install -y apache-maven
    
    $ mvn --version
    Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T20:57:37+09:00)
    Maven home: /usr/share/apache-maven
    Java version: 1.8.0_91, vendor: Oracle Corporation
    Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.91-0.b14.10.amzn1.x86_64/jre
    Default locale: ja_JP, platform encoding: UTF-8
    OS name: "linux", version: "4.4.5-15.26.amzn1.x86_64", arch: "amd64", family: "unix"
    
  • Install Maven with Yum on Amazon Linux
  • git 설치(Prevate 서브넷의 EC2)


    github의 창고에서 checkkout 소스 코드가 필요합니다.
    $ sudo yum -y install git
    
    $ git --version
    git version 2.7.4
    
    $ git config --global user.email "YOUR_MAIL_ADDRESS"
    $ git config --global user.name "rubytomato"
    

    좋은 웹페이지 즐겨찾기