AWS CLI を介して AWS Cloud Map でサービス検出を設定するにはどうすればよいですか?

所要時間2分
0

AWS Cloud Map と AWS コマンドラインインターフェイス (AWS CLI) を使用してホストゾーンを作成したいと考えています。

解決策

**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行時にエラーが発生する場合は、「AWS CLI エラーのトラブルシューティング」をご参照ください。また、AWS CLI の最新バージョンを使用しているかどうかを確認してください。

DNS 名前空間を作成する

  1. AWS CLI を使用して、example.com を使用するドメイン名に置き換えて名前空間を作成します。

  2. パブリック名前空間とプライベート名前空間のどちらを作成するかを選択する必要があります。パブリック名前空間は、ドメイン名が登録されている限り、インターネットで表示されます。プライベート名前空間は、仮想プライベートクラウド (VPC) 内でのみ表示されます。プライベート名前空間を作成するときは、VPC ID を指定する必要があります。

    パブリック名前空間を作成するには、次のコマンドを実行します。

    $ aws servicediscovery create-public-dns-namespace --name example.com

    プライベート名前空間を作成するには、次のコマンドを実行します。

    $ aws servicediscovery create-private-dns-namespace --name example.com --vpc vpc-0c92f38bf7db24a05

    **注:**名前は DNS クエリで公開されるので、この名前には機密情報を含めないでください。


  3. 出力の OperationId の値は、次の例ように書き留めてください。

    {
        "OperationId": "igbkufld72o4vbsbwejfi6eyinfprhc3-jkwmz00b"
    }
  4. オペレーションの詳細を確認するには、get-operation コマンドを実行します。OPERATION_VALUE は、前のステップで見つかった OperationId の値に置き換えてください。

    aws servicediscovery get-operation --operation-id OPERATION_VALUE
  5. 出力結果の Status の値が SUCCESS であることを確認します。NAMESPACE の値も書き留めます。これは、サービスを作成し、インスタンスを登録するために使用される名前空間 ID です。

    {
      "Operation": {
        "Status": "SUCCESS",
        "CreateDate": 1534428266.699,
        "Id": "igbkufld72o4vbsbwejfi6eyinfprhc3-jkwmz00b",
        "UpdateDate": 1534428267.113,
        "Type": "CREATE_NAMESPACE",
        "Targets": {
          "NAMESPACE": "ns-f2wjnv2p7pqtz5f2"
        }
      }
    }

    注: 名前空間を作成すると、Amazon Route 53 がそのドメインのホストゾーンを自動的に作成します。ホストゾーンのドメイン名の値は、名前空間と同じドメイン名になります。コメント値は、Route 53 Auto Naming によって自動的に作成されます

ホストゾーンを確認するには、次の手順に従います。

  1. Route 53 コンソールを開きます。
  2. ナビゲーションペインで [ホストゾーン] を選択します。
  3. コンテンツペインのホストゾーンのリストからホストゾーンを探します。

サービスの作成

サービスを作成するには、次の手順に従います。

  1. 短縮構文servicediscovery create-service コマンドを使用して、次のようにサービスを作成します。WORKERS を任意のサービス名に置き換えてください。Route 53 は、レコードを作成する際にこのサービス名を使用します。

    $aws servicediscovery create-service --name WORKERS--dns-config 'NamespaceId="ns-f2wjnv2p7pqtz5f2",RoutingPolicy="WEIGHTED",DnsRecords=[{Type="A",TTL="300"}]'

    **注:**パブリック DNS クエリで名前空間を検出できる場合は、その名前空間に機密情報は含めないでください。DNS クエリがアクセスできるサービスでは、大文字と小文字のみが異なる名前 (EXAMPLEexampleなど) で複数のサービスを作成することはできません。ただ、API 呼び出しでのみアクセスできる名前空間を使用する場合は、大文字と小文字だけが異なる名前サービスを作成することができます。

    デフォルトのルーティングポリシーは MULTIVALUE です。サポートされているルーティングポリシーは、MULTIVALUEWEIGHTED です。

  2. 出力を書き留めます。Id 値は、いま作成したサービスの ID です。
    注: CreatorRequestId はリクエストの ID です。API 呼び出しが失敗した場合は、** CreatorRequestId** を使用して操作を繰り返します。

    {
      "Service": {
        "DnsConfig": {
          "NamespaceId": "ns-f2wjnv2p7pqtz5f2",
          "DnsRecords": [
            {
              "Type": "A",
              "TTL": 300
            }
          ]
        },
        "CreatorRequestId": "93e0a17a-230b-4c58-b986-f03f3217869f",
        "Id": "srv-iy3d7hhlf5cjciph",
        "Arn": "arn:aws:servicediscovery:eu-west-1:356906700443:service/srv-iy3d7hhlf5cjciph",
        "Name": "workers"
      }
    }

インスタンスの登録

インスタンスを登録するには、次の手順に従ってください。

  1. servicediscovery register-instance コマンドを実行します。service-idinstance-idattributes の値のプレースホルダーを対応する値に置き換えます。これらのパラメータがないと、API 呼び出しは失敗します。同じ service-id オプションと instance-id オプションを持つインスタンスを登録するには、一度に 1 つのリクエストしか実行できないことに注意してください。

    $ aws servicediscovery register-instance --service-id srv-iy3d7hhlf5cjciph --instance-id i-039444aa1e2932ca3 --attributes=AWS_INSTANCE_IPV4=172.1.1.1

    **警告:**同じサービス ID とインスタンス ID を使用して別のリクエストを送信する前に、1 つの register-instance リクエストが完了するまで待つ必要があります。

  2. 出力を確認します。これには、OperationId が含まれます。例:

    {
        "OperationId": "z7dfqgeadkvwwid2wa2n5ckicrxs255x-jkwr1x9f"
    }
  3. Route 53 コンソールを開きます。

  4. ナビゲーションペインで [ホストゾーン] を選択します。

  5. 前に作成したホストゾーンを選択します。

  6. [レコードセットに移動] を選択し、レコードセットがホストゾーンに作成されているかどうかを確認します。

    **注:**インスタンスを登録すると、Route 53 が自動的にサービス名とドメイン名を用いてレコードを作成します。

    Amazon エラスティックコンテナサービス (Amazon ECS) と Route 53 サービス検出 を使用している場合は、Route 53 名前空間とサービス名を使用して、サービスを設定することができます。Route 53 はその後、Amazon ECS コンテナ設定に従って、ホストゾーンでレコードを自動的に作成や削除、更新します。

AWS公式
AWS公式更新しました 4ヶ月前
コメントはありません

関連するコンテンツ