AWS CLIv2를 사용하여 고가용성 아키텍처 작성

7835 단어 awscliawsawss3awsec2
독자가 좋다,
본문을 읽은 후에, 당신은 높은 가용성을 가진 체계 구조를 만들 수 있습니다.
선결 조건:
AWS 계정이 생성되었습니다.
운영 체제에 AWS CLIv2를 설치합니다.
IAM 사용자를 사용하여 AWS CLIv2를 구성합니다.
웹 서버를 구성하는 방법에 대한 기본 사항
만약 당신이 AWS CLI의 초보자라면, 나의 다른 문장을 참고할 수 있습니다.
AWS CLI 란 무엇입니까?
AWS 명령줄 인터페이스(CLI)는 AWS 서비스를 관리하는 통합 도구입니다.하나의 도구만 다운로드하고 설정하면 명령줄에서 여러 개의 AWS 서비스를 제어하고 스크립트를 통해 자동화할 수 있습니다.
AWS CLI에 대한 자세한 내용: https://aws.amazon.com/cli/
AWS S3란 무엇입니까?

아마존 단순 저장 서비스는 인터넷 저장이다.그것의 설계 목적은 개발자가 네트워크 규모의 계산을 더욱 쉽게 할 수 있도록 하는 것이다.Amazon S3에는 웹에서 언제든지 원하는 양의 데이터를 저장하고 검색할 수 있는 간단한 웹 서비스 인터페이스가 있습니다.그것은 아마존이 전 세계 사이트 네트워크를 운영하는 데 사용할 수 있는 고도의 확장 가능하고 신뢰할 수 있으며 신속하고 저렴한 데이터 저장 인프라를 개발자라면 누구나 사용할 수 있게 한다.이 서비스는 규모 효율을 최대한 확대하고 이를 개발 업체에 전달하는 데 목적을 두고 있다.
AWS 클라우드 프런트엔드 서비스란?

Amazon CloudFront는 정적 및 동적 웹 콘텐츠의 배포를 가속화하는 웹 서비스입니다. 예를 들어html.css.js와 이미지 파일을 사용자에게 보냅니다.CloudFront는 edge locations라는 글로벌 데이터 센터 네트워크를 통해 콘텐츠를 전달합니다.사용자가 CloudFront에서 제공한 내용을 요청할 때, 사용자는 가능한 한 최상의 성능으로 내용을 전달할 수 있도록 최소한의 지연 (시간 지연) 을 제공하는 가장자리로 이동합니다.
건물에는 무엇이 포함됩니까?
✔ EC2 인스턴스에 구성된 웹 서버
✔문서 루트(/var/www/html)는 EBS 블록 장치에 설치되어 지속됩니다.
✔S3에 저장된 이미지와 같은 코드에 사용되는 정적 객체
✔CloudFront를 사용하여 컨텐트 제공 네트워크를 구축하고 S3 bucket으로 소스 도메인 이름을 사용합니다.
✔마지막으로 보안과 낮은 지연을 위해 클라우드 전단 URL을 웹 앱 코드에 놓습니다.
🎇 AWS CLI를 사용하여 위의 모든 단계를 수행해야 합니다.🎇
🎯이러한 구조를 만들기 위해 AWS S3과 AWS의 클라우드 Front 서비스를 통합합니다.
시작해보도록 하겠습니다.
먼저 EC2 인스턴스를 시작하여 Apache 웹 서버를 구성해야 합니다.AWS CLI를 통해 EC2 인스턴스를 시작하려면 다음 명령이 있습니다.
aws ec2 run-instances --image-id ami_ --instance-type _type_id --count no_of_instance --subnet-id -a57e77cd --security-group-ids group_id --key-name key_name  

AWS 콘솔의 확인:

이제 시작 인스턴스에서 웹 서버를 빠르게 구성합니다.
먼저 httpd 소프트웨어를 설치하려면 다음 명령을 사용해야 합니다.
yum install httpd -y  

명령→
  • cd/var/www/html/
  • vi지수.html
  • 색인에 내용을 제시할 것입니다.html 파일.
  • 시스템 제어 시작httpd
  • 마지막으로 public ip/filename이 있는 페이지를 로드하여 웹 서버가 시작되었는지 확인합니다.html.나로서는 그것의 운행이 양호하다.영구적으로 활성화하려면 명령을 사용합니다.
    systemctl enable httpd
    
  • 이제 문서 루트 디바이스로 EBS 볼륨을 1개씩 만들어야 합니다.EBS 볼륨을 만든 후 EC2 인스턴스에 연결합니다.
  • EBS 볼륨을 생성하려면 AWS CLI 명령은 다음과 같습니다.
    aws ec2 create-volume — volume-type volume type — size 1 — availability-zone Zone
    

    AWS 콘솔에서 확인

    EBS 볼륨을 EC2 인스턴스에 연결하려면 다음 명령이 있습니다.
    aws ec2 attach-volume --volume-id volume_id --instance-id instance_id --device device_name
    


    3) 웹 서버의 문서 루트/var/www/html를 EBS 볼륨에 불러와야 합니다.
    모든 볼륨을 사용하려면, 마운트하기 전에 섹션을 만들고 포맷해야 합니다.
    파티션을 만들려면 다음과 같이 하십시오.
    파티션을 만들려면 fdisk/dev/xvdf 명령을 사용하고 Enter 키를 누릅니다.w 키를 누르면 저장해야 합니다.

    파티션 포맷:
    To format, we use → mkfs.etx4 /dev/xvdf1 command.      
    

    칸막이를 설치하다
    To mount, we use →mount /dev/xvdf1 /var/www/html command.
    

    4) 현재 웹 코드에 사용되는 정적 내용(예를 들어 이미지)을 S3 메모리통에 넣어서 더 좋은 가용성을 얻어야 합니다.이런 것들에 대해 우리는 반드시 S3 통을 만들어야 한다.
    aws s3api create-bucket — bucket bucketname— region ap-south-1 — create-bucket-configuration LocationConstraint=ap-south-1
    




    현재 이 페이지는 보기에 다음과 같다.

    5) 이 페이지에 액세스하기 위해 현재 S3 URL을 사용하고 있으므로 공용 인터넷을 통해 액세스해야 합니다. 이로 인해 지연되거나 지연될 수 있습니다.
    이 문제를 해결하기 위해서, 우리는 AWS CloudFront 서비스를 사용할 수 있으며, 이것은 s3 대상에게 유일한 URL을 제공합니다.이 URL을 사용하면, 우리는 어느 곳에서든 더 적은 지연 방문을 할 수 있다. 왜냐하면 이곳의 AWS 개인 인터넷 인프라는 배후에서 사용되기 때문이다.
    S3 Bucket 객체의 CloudFront 릴리스를 작성합니다.
    aws cloudfront create-distribution --origin-domain-name {domain_name}
    


    AWS의 클라우드 Front 서비스는 도메인 이름이나 유일한 URL을 제공하여 내용을 신속하고 느리게 접근할 수 있음을 알 수 있습니다.이제 S3 URL 대신 이미지 코드에 클라우드 전면 URL을 제공해야 합니다.
    6) 현재 코드를 업데이트한 후 제공되는 최종 웹 페이지는 다음과 같습니다.

    현재 우리의 웹 페이지 속도가 더욱 빨라져서, 우리는 성공적으로 목표를 완성했다.
    🎇 건배🎇
    읽어주셔서 감사합니다.🙏🙏.

    좋은 웹페이지 즐겨찾기