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

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

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

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

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

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

VPCエンドポイントの設定

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

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

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

Amazon CloudWatch

com.amazonaws。region-id.logs

インターフェイス

AWS CloudFormation

com.amazonaws。region-idcloudformation.

インターフェイス

Amazon EC2

com.amazonaws。region-idec2.

インターフェイス

Amazon S3

com.amazonaws。region-ids3.

ゲートウェイ

Amazon DynamoDB

com.amazonaws。region-iddynamodb.

ゲートウェイ

AWS Secrets Manager**

com.amazonaws。region-idsecretsmanager。

インターフェイス

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

Amazon CloudWatch

com.amazonaws。region-id.logs

インターフェイス

AWS CloudFormation

cn.com.amazonaws。region-idcloudformation.

インターフェイス

Amazon EC2

cn.com.amazonaws。region-idec2.

インターフェイス

Amazon S3

com.amazonaws。region-ids3.

ゲートウェイ

Amazon DynamoDB

com.amazonaws。region-iddynamodb.

ゲートウェイ

AWS Secrets Manager**

com.amazonaws。region-idsecretsmanager。

インターフェイス

** このエンドポイントは 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 クラスターは、 などのカスタムコンピューティングノードのホスト名を解決するために使用されるプライベート 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 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 設定。

    前のセクションRoute53 を無効にし、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インスタンスにアタッチします。詳細については、「AWS ParallelCluster pcluster ユーザーポリシーの例」を参照してください。

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

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

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

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