VPC に対するパイプラインのリソースの起動 - AWS Data Pipeline

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

VPC に対するパイプラインのリソースの起動

パイプラインは、2013-12-04 以降に作成された Amazon EC2 (Amazon EMR) Amazon Virtual Private Cloud アカウントに対してAmazon VPCインスタンスおよびAWSクラスターを起動します。各アカウントはリージョンごとにデフォルトでVPCs作成されます。デフォルト VPC のデフォルト設定では、 AWS Data Pipeline リソースがサポートされています。この VPC を使用するか、カスタムを作成して使用できます。VPCs実稼働環境では、ネットワーク設定を詳細に制御できるカスタムを作成することをお勧めします。VPCs詳細については、Amazon VPC ユーザーガイド を参照してください。

重要

AWSアカウントが 2013 年 12 月 4 日より前に作成された場合、VPC ではなく EC2-Classic ネットワークにパイプラインのEC2Resourceオブジェクトを作成するオプションがあります。ですべてのパイプラインのリソースを作成することを強くお勧めVPCsします。 さらに、EC2-Classic に既存のリソースがある場合は、VPC に移行することを強くお勧めします。詳細については、パイプライン内のEC2Resourceオブジェクトを EC2-Classic から に移行するVPCs を参照してください。

AWS Data Pipelineが使用できる VPC を設定するステップを以下に示します。

  • 最初に、Amazon VPC を使用して VPC およびサブネットを作成します。VPC 内のインスタンスが AWS Data Pipeline エンドポイントおよび Amazon S3 にアクセスできるように VPC を設定します。

  • 次に、データソースへのアクセス権限を Task Runner に付与するためのセキュリティグループをセットアップします。

  • 最後に、インスタンスとクラスターを設定するときと、データソースを作成するときに、VPC からのサブネットを指定します。

VPCs の詳細については、「Amazon VPC ユーザーガイド」を参照してください。

VPC の作成と設定

作成した VPC には、サブネットおよびインターネットゲートウェイが必要であり、サブネット用のルートテーブルに、インターネットゲートウェイへのルートが設定されている必要があります。これにより、VPC 内のインスタンスが Amazon S3 にアクセスできるようになります デフォルトの VPC がある場合は、この方法で既に設定されています。VPC を簡単に作成して設定するには、以下の手順に従って VPC ウィザードを使用します。

VPC ウィザードを使用して VPC を作成および設定するには

  1. Amazon VPC コンソール (https://console.aws.amazon.com/vpc/) を開きます。

  2. ナビゲーションバーから、リージョンセレクターを使用して、VPC のリージョンを選択します。すべてのインスタンスおよびクラスターをこの VPC で起動するので、パイプラインに対応したリージョンを選択します。

  3. ナビゲーションペインで VPC ダッシュボードを選択し、[VPC ウィザードの起動] を選択します

  4. 最初のオプション [VPC with a Single Public Subnet Only] を選択し、[Select] をクリックします

  5. 選択した CIDR 範囲と設定が設定ページに表示されます。[Enable DNS hostnames] が [Yes] であることを確認します。必要に応じて他の設定を変更し、[Create VPC] をクリックして、VPC、サブネット、インターネットゲートウェイ、およびルートテーブルを作成します。

  6. VPC が作成されたら、ナビゲーションペインで [Your (お客様の)] を選択し、リストから VPC を選択して設定を確認します。VPCs

  7. [Description (説明)] タブで、DNS 解決 DNS ホスト名の両方が [Enabled (有効)] になっていることを確認しますDNS 設定および VPC の DNS サポートの更新の詳細については、の「DNS の使用」を参照してくださいAmazon VPC ユーザーガイド。

  8. [Description (説明)] タブで、DHCP オプションセットの横にある識別子を選択し、DHCP オプションセットを開いて設定を確認します。

    DHCP オプションセットのリストが開き、オプションセットが選択されます。

  9. [Details] (詳細) タブの [Options] (オプション) の横にある、次のことを確認します。

    • ドメイン名ec2.internalリージョン米国東部(バージニア北部)の に設定するか、region。他のすべてのリージョン ( の us-west-2.compute.internal などcompute.internal)。米国西部 (オレゴン)

    • domain-name-servers が設定されているAmazonProvidedDNS

    詳細については、次のガイドの「DHCP オプションセット」を参照してくださいAmazon VPC ユーザーガイド

Amazon VPCウィザードを使用する代わりに、VPC、サブネット、インターネットゲートウェイ、ルートテーブルを手動で作成することもできますhttps://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Subnets.html#Create-VPCの「VPC の作成と VPC へのインターネットゲートウェイAmazon VPC ユーザーガイドの追加」を参照してください。

リソース間の接続のセットアップ

セキュリティグループは、インスタンスの仮想ファイアウォールとして機能し、インバウンドトラフィックとアウトバウンドトラフィックをコントロールします。データソースへのアクセス権限を Task Runner に付与する必要があります。

セキュリティグループの詳細については、https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.htmlの 「Amazon VPC ユーザーガイドVPC のセキュリティグループ」を参照してください。

まず、Task Runner を実行するリソースで使用されているセキュリティグループまたは IP アドレスを特定します。

  • リソースのタイプが EmrCluster であれば、デフォルトでは Task Runner がクラスターで実行されます。クラスターを起動すると、ElasticMapReduce-master および ElasticMapReduce-slave という名前のセキュリティグループが作成されます。これらのセキュリティグループの は後で必要になります。IDs

    VPC でクラスターのセキュリティグループの を取得するにはIDs

    1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

    2. ナビゲーションペインで、[Security Groups] をクリックします。

    3. セキュリティグループのリストが長い場合は、[Name] をクリックして、セキュリティグループを名前でソートします [Name] 列が表示されていない場合は、[Show/Hide Columns] アイコンをクリックしてから [Name] をクリックします。

    4. IDsおよび ElasticMapReduce-master セキュリティグループの を書き留めます。ElasticMapReduce-slave

  • リソースのタイプが Ec2Resource であれば、デフォルトでは Task Runner が EC2 インスタンスで実行されます。VPC のセキュリティグループを作成し、EC2 インスタンスの起動時にそれを指定します。このセキュリティグループの ID も後で必要になります。

    VPC 内の EC2 インスタンスのセキュリティグループを作成するには

    1. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

    2. ナビゲーションペインで、[Security Groups] をクリックします。

    3. [Create Security Group] をクリックします。

    4. セキュリティグループの名前と説明を指定します。

    5. リストから VPC を選択し、[Create] をクリックします。

    6. 新しいセキュリティグループの ID をメモしておきます。

  • 自分のコンピューターで Task Runner を実行している場合は、パブリック IP アドレスを CIDR 表記でメモしておきます。コンピューターがファイアウォールの内側にある場合は、ネットワーク全体のアドレス範囲をメモしておきます。このアドレスが後で必要になります。

次に、リソースのセキュリティグループ内で、Task Runner からのアクセスが必要なデータソースのインバウンドトラフィックを許可するルールを作成します。たとえば、Task Runner が Amazon Redshift クラスターにアクセスする必要がある場合、Amazon Redshift クラスターのセキュリティグループで、リソースからのインバウンドトラフィックを許可する必要があります。

Amazon RDS データベースのセキュリティグループにルールを追加するには

  1. https://console.aws.amazon.com/rds/ にある Amazon RDS コンソールを開きます。

  2. ナビゲーションペインの [Instances] をクリックします。

  3. DB インスタンスの詳細アイコンをクリックします。[Security and Network] で、セキュリティグループのリンクをクリックします。これにより、Amazon EC2 コンソールが開きます。セキュリティグループで使用しているコンソールデザインが古い場合は、コンソールページの上部に表示されるアイコンをクリックして、新しいコンソールデザインに切り替えます。

  4. [Inbound] タブで、[Edit]、[Add Rule] の順にクリックします。DB インスタンスを起動したときに使用するデータベースポートを指定します。Task Runner を実行するリソースで使用されるセキュリティグループの ID または IP アドレスを [Source] に入力します。

  5. [Save] をクリックします。

Amazon Redshift クラスターのセキュリティグループにルールを追加するには

  1. https://console.aws.amazon.com/redshift/ にある Amazon Redshift コンソールを開きます。

  2. ナビゲーションペインで [Clusters] をクリックします。

  3. クラスターの詳細アイコンをクリックします。[Cluster Properties] で、セキュリティグループの名前または ID をメモし、[View VPC Security Groups] をクリックします。これにより、Amazon EC2 コンソールが開きます。セキュリティグループで使用しているコンソールデザインが古い場合は、コンソールページの上部に表示されるアイコンをクリックして、新しいコンソールデザインに切り替えます。

  4. クラスターのセキュリティグループを選択します。

  5. [Inbound] タブで、[Edit]、[Add Rule] の順にクリックします。タイプ、プロトコル、およびポート範囲を指定します。Task Runner を実行するリソースで使用されるセキュリティグループの ID または IP アドレスを [Source] に入力します。

  6. [Save] をクリックします。

リソースの設定

デフォルト以外の VPC のサブネットまたはデフォルトの VPC のデフォルト以外のサブネットでリソースを起動するには、リソースの設定時に subnetId フィールドを使用してサブネットを指定する必要があります。デフォルトの VPC があり、subnetId を指定しなかった場合は、デフォルト VPC のデフォルトサブネットでリソースが起動します。

例EmrCluster

次のオブジェクト例では、デフォルト以外の VPC で Amazon EMR クラスターを起動します。

{ "id" : "MyEmrCluster", "type" : "EmrCluster", "keyPair" : "my-key-pair", "masterInstanceType" : "m1.xlarge", "coreInstanceType" : "m1.small", "coreInstanceCount" : "10", "taskInstanceType" : "m1.small", "taskInstanceCount": "10", "subnetId": "subnet-12345678" }

詳細については、EmrCluster を参照してください。

例Ec2Resource

次のオブジェクト例では、はフォルト以外の VPC で EC2 インスタンスを起動します。デフォルト以外の VPC では、インスタンスのセキュリティグループを名前ではなく IDs で指定する必要があることに注意してください。

{ "id" : "MyEC2Resource", "type" : "Ec2Resource", "actionOnTaskFailure" : "terminate", "actionOnResourceFailure" : "retryAll", "maximumRetries" : "1", "role" : "test-role", "resourceRole" : "test-role", "instanceType" : "m1.medium", "securityGroupIds" : "sg-12345678", "subnetId": "subnet-1a2b3c4d", "associatePublicIpAddress": "true", "keyPair" : "my-key-pair" }

詳細については、Ec2Resource を参照してください。

パイプライン内のEC2Resourceオブジェクトを EC2-Classic から に移行するVPCs

EC2-Classic にパイプラインリソースがある場合は、 を使用するように移行することをお勧めしますAmazon VPC。EC2-Classic からパイプラインの VPC にリソースを移行するには、以下のステップをガイダンスとして使用します。

パイプラインリソースを EC2-Classic から VPC に移行するには

  1. EC2-Classic を使用するパイプライン内のEc2Resourceオブジェクトを特定します。これらのオブジェクトにはsecurityGroupsプロパティがあります。一方、VPC で作成されたオブジェクトにはsecurityGroupIDs、 および subnetID プロパティがあります。

  2. オブジェクトごとに、オブジェクトにsecurityGroups指定された EC2-Classic を書き留めます。次のステップで、各セキュリティグループの設定を新しい VPC セキュリティグループにコピーします。

  3. の「リソースを VPC に移行する」のステップに従いますLinux インスタンス用 Amazon EC2 ユーザーガイド。移行ステップでは、新しい VPC をセットアップし、セキュリティグループ設定をコピーします。これらのステップを実行する際は、以下の点に注意してください。

    • VPC の作成と設定上記のガイドラインに従って VPC を設定します。

    • 作成した VPC のサブネット ID を書き留めます。これは、オブジェクトを移行するときに後ほど使用します。

    • セキュリティグループを作成し、対応する EC2-Classic セキュリティグループをメモしておきます。IDsIDs後でオブジェクトを移行するときに が必要になります。新しい VPC セキュリティグループを作成する必要がある場合は、リソース間の接続のセットアップ上記のガイドラインを参照してください。

  4. で AWS Data Pipeline コンソールを開きhttps://console.aws.amazon.com/datapipeline/、以下の手順に従って EC2-Classic を使用するリソースオブジェクトを編集します。

    注記

    パイプラインを直接編集する代わりに、パイプラインをクローンし、この手順の残りのステップを使用してクローンを更新した後、クローンされたパイプラインが検証された後で元のパイプラインを削除できます。パイプラインのクローンを作成するには、リストからパイプラインを選択し、[Actions (アクション)]、[Clone (クローン)] の順に選択しますその後、クローンされたパイプラインが正常に検証され実行された後に、元のパイプラインを削除できます。

    1. パイプラインのリストから、移行するオブジェクトを含むパイプラインを選択し、[アクション]、[編集] の順に選択します

    2. パイプラインのアーキテクトビューで、左側の設計ペインから移行する必要があるリソースオブジェクトを選択します。

    3. 右側の [リソース] セクションを選択して、リソースの設定を表示します。

    4. リソースにリストされているセキュリティグループを書き留めておきます。これらは、置き換える 1 つ以上の EC2-Classic セキュリティグループです。

    5. [Add an optional field... (オプションのフィールド...)] リストから、[Security Group (セキュリティグループ)] を選択しますIDs

    6. 表示される [Security GroupIDs] ボックスに、EC2-Classic セキュリティグループに対応する VPC セキュリティグループの を入力します。IDs複数の を区切るには、カンマを使用しますIDs。

    7. [Add an optional field... (オプションフィールドの追加...)] リストから [サブネット ID] を選択し、使用する VPC に関連付けられているサブネット ID を入力します。たとえば、subnet-12345678 です。

    8. セキュリティグループの右側にある削除アイコンを選択して、EC2-Classic セキュリティグループを削除します

    9. [Save] を選択します。

      はパイプラインの設定AWS Data Pipelineを検証します。検証エラーが発生すると、アーキテクトビューの左下に詳細が表示されます。パイプラインを実行する前に、エラーに対処してください。

    10. パイプラインがオンデマンドパイプラインの場合、更新された定義は、次回パイプラインが実行されるときに使用されます。パイプラインがスケジュールされたパイプラインの場合は、[Activate ( の有効化)] を選択します。 AWS Data Pipelineは、次のスケジュールされた実行時に更新された定義を使用します。

    EC2-Classic リソースを使用するパイプラインごとに上記の手順を繰り返します。

パイプラインのリソースが VPC に正常に移行されたことを確認するには、VPC で起動されたパイプラインの実行中に起動された EC2 インスタンスを確認します。

パイプラインの VPC への移行を確認するには

  1. パイプラインのリストからパイプライン ID を選択して実行の詳細を開き、パイプラインIDsによって起動された EC2 インスタンスを見つけます。

  2. https://console.aws.amazon.com/ec2/ で Amazon EC2 コンソールを開きます。

  3. インスタンスの選択

  4. 上記のインスタンスごとに、インスタンス ID を選択します。[Description] タブで、VPC フィールドの値を書き留め、パイプラインによってインスタンスが起動されたことを確認します。EC2-Classic で起動されたインスタンスには、空の VPC フィールドがあります。