インターネットアクセスのない 1 つのサブネット内の AWS ParallelCluster - AWS ParallelCluster

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

インターネットアクセスのない 1 つのサブネット内の AWS ParallelCluster

インターネットアクセスのないサブネットでは、インターネットへのインバウンド接続またはアウトバウンド接続は許可されていません。この AWS ParallelCluster 設定は、セキュリティを重視するお客様が AWS ParallelCluster リソースのセキュリティをさらに強化するのに役立ちます。AWS ParallelCluster ノードは、インターネットアクセスのない状態でクラスターを実行するために必要なすべてのソフトウェアを含む AWS ParallelCluster AMI から構築されます。これにより、AWS ParallelCluster は、インターネットにアクセスできないノードを含むクラスターを作成および管理できます。

このセクションでは、クラスターの設定方法について説明します。また、インターネットにアクセスせずにクラスターを実行する場合の制限についても説明します。

1 つのサブネットを使用し、インターネットを使用しない AWS ParallelCluster

VPC エンドポイントの設定

クラスターが正常に機能するためには、クラスターノードが多数の AWS のサービスとやり取りできる必要があります。

クラスターノードがインターネットにアクセスせずに AWS のサービスとやり取りできるように、次の VPC エンドポイントを作成して設定します。

Commercial and AWS GovCloud (US) partitions
サービス サービス名 タイプ

Amazon CloudWatch

com.amazonaws.region-id.logs

インターフェイス

AWS CloudFormation

com.amazonaws.region-id.cloudformation

インターフェイス

Amazon EC2

com.amazonaws.region-id.ec2

インターフェイス

Amazon S3

com.amazonaws.region-id.s3

ゲートウェイ

Amazon DynamoDB

com.amazonaws.region-id.dynamodb

ゲートウェイ

AWS Secrets Manager**

com.amazonaws.region-id.secretsmanager

インターフェイス

China partition
サービス サービス名 タイプ

Amazon CloudWatch

com.amazonaws.region-id.logs

インターフェイス

AWS CloudFormation

cn.com.amazonaws.region-id.cloudformation

インターフェイス

Amazon EC2

cn.com.amazonaws.region-id.ec2

インターフェイス

Amazon S3

com.amazonaws.region-id.s3

ゲートウェイ

Amazon DynamoDB

com.amazonaws.region-id.dynamodb

ゲートウェイ

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 クラスターを作成する場合、AWS ParallelCluster はカスタムコンピューティングノードのホスト名 ({queue_name}-{st|dy}-{compute_resource}-{N} など) を解決するために使用するプライベート Route 53 ホストゾーンを作成します。Route 53 は VPC エンドポイントをサポートしていないため、この機能を無効にする必要があります。さらに、AWS ParallelCluster はデフォルトの Amazon EC2 ホスト名 (ip-1-2-3-4 など) を使用するように設定する必要があります。以下の設定をクラスター設定に適用します。

... Scheduling: ... SlurmSettings: Dns: DisableManagedDns: true UseEc2Hostnames: true
警告

SlurmSettings/Dns/DisableManagedDns および UseEc2Hostnamestrue に設定して作成したクラスターの場合、Slurm NodeName は DNS によって解決されません。代わりに、Slurm NodeHostName を使用してください。

注記

AWS ParallelCluster バージョン 3.3.0 以降の場合、この注記は当てはまりません。

3.3.0 より前のサポートされている AWS ParallelCluster バージョン。

UseEc2Hostnamestrue に設定すると、Slurm 設定ファイルは AWS ParallelCluster の prolog および epilog スクリプトで設定されます。

  • 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 エンドポイントがアタッチされている必要があります。クラスターを作成する前に、サブネットでパブリック IPv4 アドレスの自動割り当てが無効になっていることを確認して、pcluster コマンドがクラスターにアクセスできることを確認します。

  • AdditionalSecurityGroups: クラスターと VPC エンドポイント間の通信を有効にするセキュリティグループ

    オプション:

    • セキュリティグループを明示的に指定せずに VPC エンドポイントを作成すると、VPC のデフォルトのセキュリティグループが関連付けられます。そのため、デフォルトのセキュリティグループを AdditionalSecurityGroups に指定してください。

    • クラスターや VPC エンドポイントの作成の際にカスタムセキュリティグループを使用する場合は、カスタムセキュリティグループがクラスターと VPC エンドポイント間の通信を有効にしている限り AdditionalSecurityGroups は不要です。

  • Scheduler: クラスタースケジューラー

    唯一の有効な値は slurm です。インターネットアクセスのないサブネット内のクラスターをサポートするのは Slurm スケジューラーだけです。

  • SlurmSettings: Slurm 設定。

    前のセクション「Route 53 を無効にし、Amazon EC2 ホスト名を使用する」を参照してください。

制約事項

  • SSH または Amazon DCV 経由のヘッドノードへの接続: クラスターに接続するときは、接続のクライアントがプライベート IP アドレスを使用してクラスターのヘッドノードにアクセスできることを確認してください。クライアントがヘッドノードと同じ VPC にない場合は、VPC のパブリックサブネットにあるプロキシインスタンスを使用してください。この要件は SSH 接続と DCV 接続の両方に適用されます。サブネットにインターネットアクセスがない場合、ヘッドノードのパブリック IP にはアクセスできません。pcluster ssh および dcv-connect コマンドは、パブリック IP (存在する場合) またはプライベート IP を使用します。クラスターを作成する前に、サブネットでパブリック IPv4 アドレスの自動割り当てが無効になっていることを確認して、pcluster コマンドがクラスターにアクセスできることを確認します。

    次の例は、クラスターのヘッドノードで実行されている DCV セッションに接続する方法を示しています。プロキシ Amazon EC2 インスタンス経由で接続します。インスタンスは、PC の Amazon DCV サーバーとして、またプライベートサブネットのヘッドノードのクライアントとして機能します。

    パブリックサブネットのプロキシインスタンスを介して DCV 経由で接続します。

    1. クラスターのサブネットと同じ VPC にあるパブリックサブネットに Amazon EC2 インスタンスを作成します。

    2. Amazon DCV クライアントおよびサーバーが Amazon EC2 インスタンスにインストールされていることを確認します。

    3. AWS ParallelCluster ユーザーポリシーをプロキシ Amazon EC2 インスタンスにアタッチします。詳細については、「 pcluster ユーザーポリシーの AWS ParallelCluster の例」を参照してください。

    4. プロキシ Amazon EC2 インスタンスに AWS ParallelCluster をインストールします。

    5. DCV 経由でプロキシ Amazon EC2 インスタンスに接続します。

    6. プロキシインスタンスの pcluster dcv-connect コマンドを使用して、インターネットにアクセスせずにサブネット内のクラスターに接続します。

  • 他の AWS のサービスとのやり取り: AWS ParallelCluster に必ず必要なサービスは、上記のみです。クラスターが他のサービスとやり取りする必要がある場合は、対応する VPC エンドポイントを作成します。