AWS EC2, RDS, S3을 사용한 간단한 서버 구축

4921 단어 AWS

개시하다


이 글은 라벨에 웹 서비스를 공개하면서 조사한 내용을 정리한 글이다.
로컬 Docker에서nginx, PHP, MySQL 용기를 제작하고 AWS에서 디버깅을 진행했다.
서비스 이용에 관해서는 모두 무료입니다.

EC2


[대략적인 흐름]
  • 제작 VPC/서브넷
  • 인터넷 스위치 구축
  • EC2(서버) 구축
  • 라우팅 및 보안 그룹 설정
  • SSH를 통한 EC2 액세스
  • VPC는 AWS에서 제작되기 때문에 제작만 해도 인터넷에 접속할 수 없다.
    인터넷에 접속하기 위해 제작된 VPC와 인터넷 스위치는 연결을 맺어야 한다.
    인터넷 스위치를 만든 후 화면 위쪽アクション 단추에서 선택VPCにアタッチ그런 다음 객체로 사용할 VPC를 선택합니다.

    AMI 선택


    생성할 인스턴스의 기계 이미지 선택
    어떤 서버를 시작하시겠습니까?
    ※ 이번엔 아마존 라인x2AMI(HVM) 선택

    설치 프로그램 선택


    서버 구성 선택
    사양이 높을수록 비용이 많이 듭니다.
    ※ 이번엔 t2.miro 선택
    AWS의 사양 변화가 수월하기 때문에 소규모로 시작할 수 있습니다.
    필요에 따라 규격을 높이다.

    인스턴스 세부 설정


    이번에는 기본적인 실례를 만들기 위해 특별한 변경점은 없다
    만들기ネットワーク VPC 선택
    글로벌 IP 주소 할당自動割り当てパブリックIP有効

    태그 추가


    설정하지 않아도 문제가 없지만 여러 서버를 시작하는 등 미리 이름을 붙여 관리하기 쉽다.

    보안 그룹 설정


    어느 포트의 통신을 허용할지 설정합니다.
    보안 그룹 이름에 임의의 이름을 입력합니다.
    이번에 80(http)22(ssh) 두 가지 룰이 추가됐어요.
    소스를 0.0.0.0/0로 설정하면 모든 IP 주소에서 인스턴스에 액세스할 수 있습니다.

    키 쌍 만들기


    ssh로 EC2에 접근할 때 열쇠 쌍이 필요합니다.공개 키나 개인 키 같은 거.新しいキーペアの作成를 선택한 후 キーペア名를 입력합니다.キーペアのダウンロード 버튼을 눌러 로컬 위치에 저장합니다.
    ※ ssh 연결 시 해당 키의 경로를 입력하기 위해서는
    인스턴스를 インスタンス作成로 생성

    라우팅 설정


    VPC에서 루트 테이블을 선택합니다.ルートテーブルの作成 새 루트 테이블에서 제작된 VPC를 선택합니다.ルートの編集에서 경로를 추가하고 ターゲット의 인터넷 스위치를 선택합니다.
    통신할 때 설정된 인터넷 스위치를 목표로 통신을 하면 인터넷과 연결할 수 있다.サブネットの関連付けの編集에서 만든 루트 테이블의 루트가 적합한 서브넷을 선택합니다.

    ssh에서 EC2 액세스

    ssh -i [ダウンロードしたキーペア] ec2-user@[IPv4パブリックIP]
    
    [다운로드한 키 쌍]: 다운로드한 키 쌍의 절대 경로
    [IPv4 공용 IP]: 객체 인스턴스説明에 기재된 IPv4 공용 IP
    Amazon Linux에 기본 연결된 ssh 사용자ec2-user
    연결 성공!

    참고 문장


    AWS에서 EC2 구축
    [AWS 입문] EC2와 Docker, Hello World로 갑시다.
    포트는?

    RDS


    [대략적인 흐름]
  • DB용 서브넷 그룹 생성
  • 보안 그룹 설정
  • DB(MySQL) 구축
  • Laavel의 DB 설정 변경
  • DB용 서브넷 그룹 만들기


    RDS에서 DB 서버를 구축할 때는 해당 인스턴스에 사용할 서브넷 그룹을 준비해야 합니다.
    각 DB 서브넷 그룹은 특정 AWS 영역 내의 최소 두 개의 가상 영역에 서브넷이 필요합니다.VPC에서 DB 인스턴스를 만들 때는 DB 서브넷 그룹을 선택해야 합니다.

    보안 그룹 설정


    EC2에서 RDS에 연결하는 통신 라이센스를 설정합니다.
    상기 설정80番ポート22番ポート 외에 추가3306(MySQL)番ポート를 추가하여 EC2에서 RDS로 연결할 수 있다.

    DB 구축

  • 엔진 선택
  • DB 세부 지정
    DB에 연결할 때 기본 사용자 이름과 기본 암호가 필요합니다
  • .
  • [상세 설정]의 설정VPC 인스턴스 VPCサブネットグループ 위에서 생성한 서브넷 그룹データベースの名前 임의의 데이터베이스 이름 ※ DB 연결 필요
  • Laavel의 DB 연결 설정


    Laavel 애플리케이션의 .env에서 다음을 설정합니다.
    항목
    값 설정
    설명
    DB_HOST
    생성된 [데이터베이스] RDS 엔드포인트
    제작된 RDS 인스턴스의 세부 페이지에서 확인합니다.
    DB_DATABASE
    데이터베이스 이름
    직접 설정한 데이터베이스 이름
    DB_USERNAME
    사용자 이름
    DB 기본 사용자 이름 직접 설정
    DB_PASSWORS
    만든 [데이터베이스]의 주 암호
    자체 DB 마스터 비밀번호 설정
    설정 완료 후 php artisan migrate 실행

    참고 문장


    RDS 제작(무료 테두리)
    AWS에서 웹 응용 환경 구축: ②RDS를 통해 DB를 만들고 Laavel 샘플 응용을 이동하는 최소 구조 구축

    S3


    [대략적인 흐름]
    제작. - S3용 IAM.
    작성 - Bucket
    - Laavel에서 S3까지 활용

    S3용 IAM 제작


    사용자 추가 화면에서 사용자 이름을 입력하고 プログラムによるアクセス를 선택합니다.既存のポリシーを直接アタッチ 라벨 검색S3에서 AmazonS3FullAccess에서 선택하여 제작.
    생성 후アクセスキーIDシークレットアクセスキー가 표시됩니다.
    스토리지 접속 시 필요합니다.

    Bucket 작성

    バケットを作成する에서 새 통 만들기
    세그먼트 이름 및 영역 선택
    모든 옵션 닫기
    만든 후 액세스 권한 설정

    이용 방법


    S3용 패키지 설치
     composer require league/flysystem-aws-s3-v3
    
    .env에 다음과 같은 정보가 기재되어 있다
    AWS_ACCESS_KEY_ID= ユーザーを作成した際に表示されたアクセスキーID
    AWS_SECRET_ACCESS_KEY= 上記手順でユーザーを作成した際に表示されたシークレットアクセスキー
    AWS_DEFAULT_REGION= ap-northeast-1 (東京リージョンで作成したため)
    AWS_BUCKET= 作成したbucket名
    

    참고 문장


    초간단!Laavel에서 S3을 사용하려면

    좋은 웹페이지 즐겨찾기