AWS ParallelCluster 인터넷에 액세스할 수 없는 단일 서브넷 - AWS ParallelCluster

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS ParallelCluster 인터넷에 액세스할 수 없는 단일 서브넷

인터넷에 액세스할 수 없는 서브넷은 인터넷으로의 인바운드 또는 아웃바운드 연결을 허용하지 않습니다. 이 AWS ParallelCluster 구성은 보안 문제가 있는 고객이 AWS ParallelCluster 리소스의 보안을 더욱 강화하는 데 도움이 될 수 있습니다. AWS ParallelCluster 노드는 인터넷 액세스 없이 클러스터를 실행하는 데 필요한 모든 소프트웨어가 포함된 에서 AWS ParallelCluster AMIs 구축됩니다. 이렇게 하면 가 인터넷에 액세스할 AWS ParallelCluster 수 없는 노드를 사용하여 클러스터를 생성하고 관리할 수 있습니다.

이 섹션에서는 클러스터를 구성하는 방법에 대해 알아봅니다. 또한 인터넷에 접속하지 않고 클러스터를 실행할 때의 제한 사항에 대해서도 알아봅니다.

AWS ParallelCluster 하나의 서브넷 사용 및 인터넷 없음

VPC 엔드포인트 구성

클러스터의 적절한 기능을 보장하려면 클러스터 노드가 여러 AWS 서비스와 상호 작용할 수 있어야 합니다.

클러스터 노드가 인터넷 액세스 없이 AWS 서비스와 상호 작용할 수 있도록 다음 VPC 엔드포인트를 생성하고 구성합니다.

Commercial and AWS GovCloud (US) partitions
Service 서비스 이름 유형

Amazon CloudWatch

com.amazonaws.region-id.logs

인터페이스

AWS CloudFormation

com.amazonaws.region-idcloudformation.

인터페이스

Amazon EC2

com.amazonaws.region-id.ec2

인터페이스

Amazon S3

com.amazonaws.region-id.s3

게이트웨이

Amazon DynamoDB

com.amazonaws.region-iddynamodb.

게이트웨이

AWS Secrets Manager**

com.amazonaws.region-id.secretsmanager

인터페이스

China partition
Service 서비스 이름 유형

Amazon CloudWatch

com.amazonaws.region-id.logs

인터페이스

AWS CloudFormation

cn.com.amazonaws.region-idcloudformation.

인터페이스

Amazon EC2

cn.com.amazonaws.region-id.ec2

인터페이스

Amazon S3

com.amazonaws.region-id.s3

게이트웨이

Amazon DynamoDB

com.amazonaws.region-iddynamodb.

게이트웨이

AWS Secrets Manager**

com.amazonaws.region-id.secretsmanager

인터페이스

** 이 엔드포인트는 DirectoryService가 활성화된 경우에만 필요하며, 그렇지 않으면 선택 사항입니다.

의 모든 인스턴스에는 엔드포인트와 통신할 수 있는 적절한 보안 그룹이 있어야 VPC 합니다. HeadNode 아래의 AdditionalSecurityGroupsSlurmQueues 구성 아래의 AdditionalSecurityGroups에 보안 그룹을 추가하여 이 작업을 수행할 수 있습니다. 예를 들어 보안 그룹을 명시적으로 지정하지 않고 VPC 엔드포인트를 생성하는 경우 기본 보안 그룹이 엔드포인트와 연결됩니다. AdditionalSecurityGroups에 기본 보안 그룹을 추가하면 클러스터와 엔드포인트 간의 통신을 활성화할 수 있습니다.

참고

IAM 정책을 사용하여 VPC 엔드포인트에 대한 액세스를 제한하는 경우 Amazon S3 VPC 엔드포인트에 다음을 추가해야 합니다.

PolicyDocument: Version: 2012-10-17 Statement: - Effect: Allow Principal: "*" Action: - "s3:PutObject" Resource: - !Sub "arn:${AWS::Partition}:s3:::cloudformation-waitcondition-${AWS::Region}/*"

Route 53 비활성화 및 Amazon EC2 호스트 이름 사용

생성 시 Slurm cluster,와 같은 사용자 지정 컴퓨팅 노드 호스트 이름을 확인하는 데 사용되는 프라이빗 Route 53 호스팅 영역을 AWS ParallelCluster 생성합니다{queue_name}-{st|dy}-{compute_resource}-{N}. Route 53은 VPC 엔드포인트를 지원하지 않으므로 이 기능을 비활성화해야 합니다. 또한 와 같은 기본 Amazon EC2 호스트 이름을 사용하도록 구성해야 AWS ParallelCluster 합니다ip-1-2-3-4. 클러스터 구성에 다음 설정을 적용하세요.

... Scheduling: ... SlurmSettings: Dns: DisableManagedDns: true UseEc2Hostnames: true
주의

/ SlurmSettings Dns/로 생성DisableManagedDns되고 로 UseEc2Hostnames 설정된 클러스터true의 경우 Slurm NodeName 는 에서 확인하지 않습니다DNS. 를 사용합니다.Slurm NodeHostName 대신.

참고

이 참고는 AWS ParallelCluster 버전 3.3.0부터는 관련이 없습니다.

3.3.0 이전 AWS ParallelCluster 지원 버전의 경우:

UseEc2Hostnames 이 로 설정되면 true Slurm 구성 파일은 AWS ParallelCluster prologepilog 스크립트로 설정됩니다.

  • prolog를 실행하여 각 작업이 할당될 때 컴퓨팅 노드의 /etc/hosts에 노드 정보를 추가합니다.

  • epilog를 실행하여 prolog가 작성한 내용을 정리합니다.

사용자 정의 prolog 또는 epilog 스크립트를 추가하려면 각각 /opt/slurm/etc/pcluster/prolog.d/ 또는 /opt/slurm/etc/pcluster/epilog.d/ 폴더에 추가하세요.

클러스터 구성

인터넷에 연결되지 않은 서브넷에서 클러스터가 실행되도록 구성하는 방법을 알아보세요.

이 아키텍처의 구성에는 다음 설정이 필요합니다.

# Note that all values are only provided as examples ... HeadNode: ... Networking: SubnetId: subnet-1234567890abcdef0 # the VPC of the subnet needs to have VPC endpoints AdditionalSecurityGroups: - sg-abcdef01234567890 # optional, the security group that enables the communication between the cluster and the VPC endpoints Scheduling: Scheduler: Slurm # Cluster in a subnet without internet access is supported only when the scheduler is Slurm. SlurmSettings: Dns: DisableManagedDns: true UseEc2Hostnames: true SlurmQueues: - ... Networking: SubnetIds: - subnet-1234567890abcdef0 # the VPC of the subnet needs to have VPC endpoints attached AdditionalSecurityGroups: - sg-1abcdef01234567890 # optional, the security group that enables the communication between the cluster and the VPC endpoints
  • SubnetId(s): 인터넷에 액세스할 수 없는 서브넷.

    AWS ParallelCluster 및 AWS 서비스 간의 통신을 활성화하려면 서브넷VPC의 에 VPC 엔드포인트가 연결되어 있어야 합니다. 클러스터를 생성하기 전에 명령이 클러스터에 pcluster 액세스할 수 있도록 서브넷에서 퍼블릭 IPv4 주소 자동 할당이 비활성화되어 있는지 확인합니다.

  • AdditionalSecurityGroups: 클러스터와 VPC 엔드포인트 간의 통신을 활성화하는 보안 그룹입니다.

    선택 사항:

    • 보안 그룹을 명시적으로 지정하지 않고 VPC 엔드포인트를 생성하는 경우 의 기본 보안 그룹이 VPC 연결됩니다. 따라서 AdditionalSecurityGroups에 기본 보안 그룹을 제공하세요.

    • 클러스터 및/또는 VPC 엔드포인트를 생성할 때 사용자 지정 보안 그룹을 사용하는 경우 사용자 지정 보안 그룹이 클러스터와 VPC 엔드포인트 간의 통신을 활성화하는 한 AdditionalSecurityGroups 는 필요하지 않습니다.

  • Scheduler: 클러스터 스케줄러.

    유일한 유효 값은 slurm입니다. 만 Slurm 스케줄러는 인터넷 액세스 없이 서브넷의 클러스터를 지원합니다.

  • SlurmSettings: Slurm 설정.

    앞의 Route53 비활성화 섹션을 참조하고 Amazon EC2 호스트 이름 을 사용합니다.

제한 사항

  • SSH 또는 Amazon을 통해 헤드 노드에 연결DCV: 클러스터에 연결할 때 연결의 클라이언트가 프라이빗 IP 주소를 통해 클러스터의 헤드 노드에 도달할 수 있는지 확인합니다. 클라이언트가 헤드 노드VPC와 동일하지 않은 경우 의 퍼블릭 서브넷에서 프록시 인스턴스를 사용합니다VPC. 이 요구 사항은 SSH 및 DCV 연결 모두에 적용됩니다. 서브넷이 인터넷에 액세스할 수 없는 경우 헤드 노드의 퍼블릭 IP에 액세스할 수 없습니다. pcluster sshdcv-connect 명령은 퍼블릭 IP가 있는 경우 퍼블릭 IP를 사용하거나 프라이빗 IP를 사용합니다. 클러스터를 생성하기 전에 명령이 클러스터에 pcluster 액세스할 수 있도록 서브넷에서 퍼블릭 IPv4 주소 자동 할당이 비활성화되어 있는지 확인합니다.

    다음 예제에서는 클러스터의 헤드 노드에서 실행되는 DCV 세션에 연결하는 방법을 보여줍니다. 프록시 Amazon EC2 인스턴스를 통해 연결합니다. 인스턴스는 PC의 Amazon DCV 서버 및 프라이빗 서브넷의 헤드 노드의 클라이언트로 작동합니다.

    퍼블릭 서브넷의 프록시 인스턴스를 DCV 통해 연결:

    1. 클러스터의 서브넷VPC과 동일한 퍼블릭 서브넷에 Amazon EC2 인스턴스를 생성합니다.

    2. Amazon DCV 클라이언트와 서버가 Amazon EC2 인스턴스에 설치되어 있는지 확인합니다.

    3. 프록시 Amazon EC2 인스턴스에 AWS ParallelCluster 사용자 정책을 연결합니다. 자세한 내용은 AWS ParallelCluster 사용자 정책 예시 pcluster 단원을 참조하십시오.

    4. 프록시 Amazon EC2 인스턴스 AWS ParallelCluster 에 를 설치합니다.

    5. 프록시 Amazon EC2 인스턴스DCV에 연결합니다.

    6. 프록시 인스턴스의 pcluster dcv-connect 명령을 사용하여 인터넷 액세스 없이 서브넷 내부의 클러스터에 연결할 수 있습니다.

  • 다른 AWS 서비스와의 상호 작용: 에서 엄격하게 요구하는 서비스만 위에 나열되어 AWS ParallelCluster 있습니다. 클러스터가 다른 서비스와 상호 작용해야 하는 경우 해당 VPC 엔드포인트를 생성합니다.