내용으로 건너뛰기

Amazon Linux를 실행하는 EC2 인스턴스에서 인터넷 액세스 없이 yum을 업데이트하거나 패키지를 설치하려면 어떻게 해야 합니까?

3분 분량
0

인터넷 연결 없이 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스에서 yum을 업데이트하거나 패키지를 설치하려고 합니다. 인스턴스는 Amazon Linux 2(AL2) 또는 Amazon Linux 2023(AL2023)을 실행합니다.

간략한 설명

Amazon Linux 리포지토리는 Amazon Simple Storage Service(S3) 버킷에서 호스팅합니다. 인터넷 연결 없이 인스턴스에 패키지를 업데이트하고 설치하려면 Amazon S3의 Amazon Virtual Private Cloud(VPC) 게이트웨이 엔드포인트를 생성합니다. 리포지토리 버킷에 대한 액세스를 허용하는 정책을 VPC 엔드포인트에 포함합니다. 그런 다음 VPC 엔드포인트를 인스턴스 서브넷의 라우팅 테이블에 연결합니다.

참고: Extra Packages for Enterprise Linux(EPEL)와 같은 타사 리포지토리를 활성화하려면 인스턴스가 다음 디바이스 중 하나를 통해 인터넷에 액세스할 수 있어야 합니다.

해결 방법

구성 검토

인스턴스에 연결된 보안 그룹이 아웃바운드 HTTP나 HTTPS 트래픽을 허용하는지 확인합니다. Amazon S3의 VPC 엔드포인트에 연결된 보안 그룹은 인스턴스의 서브넷에서 들어오는 인바운드 HTTP 트래픽을 허용해야 합니다.

또한 인스턴스의 서브넷과 연결된 네트워크 액세스 제어 목록(네트워크 ACL)을 확인합니다. 네트워크 ACL은 포트 80(HTTP) 및 443(HTTPS)을 통해 Amazon S3 서비스의 AWS 리전으로 향하는 아웃바운드 트래픽을 허용해야 합니다. 또한 Amazon S3 서비스의 리전에서 임시 TCP 포트(1024-65535)로 향하는 인바운드 트래픽을 허용해야 합니다. Amazon S3 서비스의 리전은 Amazon S3 서비스의 퍼블릭 IP 주소 CIDR입니다. 네트워크 ACL에서는 접두사 목록을 사용할 수 없습니다. 대신 0.0.0.0/0을 사용하여 Amazon S3 CIDR을 네트워크 ACL에 추가합니다. 네트워크 ACL에서 실제 Amazon S3 CIDR을 사용할 수도 있습니다. 하지만 Amazon S3 CIDR은 변경될 수 있습니다.

VPC 엔드포인트 생성

다음 단계를 완료합니다.

  1. Amazon EC2 콘솔을 엽니다.

  2. 인스턴스를 선택합니다.

  3. 네트워킹 탭을 선택하고, VPC ID 및 서브넷 ID 값을 기록해 둡니다.

  4. Amazon VPC 콘솔을 엽니다.

  5. 서브넷을 선택하고, 서브넷 ID를 선택합니다.

  6. 라우팅 테이블 탭을 선택하고, 라우팅 테이블 ID를 기록해 둡니다.

  7. 엔드포인트를 선택하고 엔드포인트 생성을 선택합니다.

  8. 게이트웨이 엔드포인트를 생성하려면 다음 설정을 구성합니다.
    리전에서 엔드포인트를 생성하려는 리전의 리전 코드를 선택합니다. 예를 들어 us-east-1에 엔드포인트를 생성하려면 com.amazonaws.us-east-1.s3을 선택합니다.
    VPC에서 인스턴스의 VPC ID를 선택합니다.
    라우팅 테이블 구성에서 인스턴스의 라우팅 테이블 ID를 선택합니다.
    정책에서 전체 액세스를 선택하여 Amazon S3에 대한 전체 액세스를 허용합니다. 사용자 지정을 선택하는 경우 Amazon Linux 리포지토리 버킷에서 s3:GetObject API 직접 호출을 허용해야 합니다.
    참고: 다음 정책 예시에서 us-east-1을 엔드포인트 리전으로 바꾸십시오.
    AL2023:

    {  "Statement": [
        {
          "Principal": "*",
          "Action": [
            "s3:GetObject"
          ],
          "Effect": "Allow",
          "Resource": [
            "arn:aws:s3:::al2023-repos-us-east-1-de612dc2/*"
          ]
        }
      ]
    }

    AL2:

    {  "Statement": [
        {
          "Principal": "*",
          "Action": [
            "s3:GetObject"
          ],
          "Effect": "Allow",
          "Resource": [
            "arn:aws:s3:::amazonlinux.us-east-1.amazonaws.com/*",
            "arn:aws:s3:::amazonlinux-2-repos-us-east-1/*"
          ]
        }
      ]
    }

    참고: 위의 AL2 정책에서 arn:aws:s3:::amazonlinux.us-east-1.amazonaws.com/* 및 arn:aws:s3:::amazonlinux-2-repos-us-east-1/* 버킷은 리포지토리를 호스팅합니다.

  9. 엔드포인트 생성을 선택합니다.

VPC 엔드포인트를 생성한 후 Amazon Linux 인스턴스에 패키지를 설치하고 업데이트할 수 있습니다.

관련 정보

Amazon Linux 1, Amazon Linux 2, Amazon Linux 2023을 실행하는 EC2 인스턴스에서 yum을 사용할 때 오류가 발생하는 이유는 무엇입니까?

Amazon S3용 게이트웨이 엔드포인트

AWS 공식업데이트됨 2년 전
댓글 없음