IBM Cloud Docs
Connector エンドポイントの作成と管理

Connector エンドポイントの作成と管理

Connector を作成し、Connector agent をデプロイすると、IBM Cloud Satellite ロケーションと、ロケーションの外で実行されるサービス、サーバー、またはアプリとの間のネットワークを管理するエンドポイントを作成できます。

CLIからエンドポイントを作成する

  1. 次のコマンドを実行して、SatelliteコネクタのIDを検索します。

    ibmcloud sat connector ls
    
  2. コマンドを実行してエンドポイントを作成する。

    ibmcloud sat endpoint create --dest-hostname HOSTNAME --connector-id ID --dest-type location --dest-port PORT --name NAME --source-protocol PROTOCOL [--dest-protocol PROTOCOL] [--sni SNI]
    
    --connector-id ID
    Satellite コネクタの ID。 コネクター ID を見つけるには、 ibmcloud sat connector ls を実行します。
    --dest-hostname HOSTNAME
    接続先の宛先の完全修飾ドメイン名 (FQDN) または外部からアクセス可能な IP アドレスを指定します。 location エンドポイントの場合、この値は Satellite ロケーションのコントロールプレーンホスト、または Satellite Connector のエージェントが実行される場所から解決され、到達可能でなければならない。
    --dest-port PORT
    宛先リソースが着信要求を listen するポートを指定します。 ポートが宛先のプロトコルと一致していることを確認してください。
    --dest-protocol PROTOCOL
    宛先のプロトコルを指定します。 このオプションを指定しない場合、宛先プロトコルはソース・プロトコルから継承されます。 使用可能なオプション: TCPTLS
    --dest-type TYPE
    IBM Cloud (cloud) または Satellite の場所 (location) のどちらかで、デスティネーション リソースの実行場所を指定します。使用可能なオプション: location cloud
    --name NAME
    エンドポイントの名前を指定します。
    --sni SNI
    TLS または HTTPS ソース・プロトコルを指定し、TLS ハンドシェイクに別のホスト名を追加したい場合は、サーバー名インジケータを指定する。
    --source-protocol PROTOCOL
    ソースが宛先リソースを接続するために使用するプロトコルを指定します。 詳しくは、 暗号化プロトコル を参照してください。 使用可能なオプション: TCPTLSHTTPHTTPSHTTP-tunnel
  3. エンドポイントが作成されていることを確認する。

    ibmcloud sat endpoint ls --connector-id ID
    
  4. --dest-type=cloud を指定してオンクラウドエンドポイントを作成する場合、ソースアプリケーションからの要求に対してターゲットポートを公開するようにロケーションの Connector エージェントを構成する必要があります。 Configuring agent port for on-cloud endpoints の手順に従ってください。

エンドポイントを作成するためのコマンド例

HTTPS、ソースおよびTLSデスティネーションプロトコルを使用し、SNIホスト名を指定してエンドポイントを作成するコマンド例。

ibmcloud sat endpoint create --dest-hostname server1.mydomain.com --connector-id A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI --dest-type location --dest-port 443 --name myendpoint --source-protocol HTTPS --dest-protocol TLS --sni mydomain.com

TCP プロトコルを使用するエンドポイントを作成するコマンド例。

ibmcloud sat endpoint create --dest-hostname server1.mydomain.com --connector-id A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI --dest-type location --dest-port 443 --name myendpoint --source-protocol TCP --dest-protocol TCP

オンクラウドエンドポイント用のエージェントポートの設定

オンクラウドエンドポイントは、IBM CloudリソースにSatelliteロケーションネットワークの外でアクセスすることを可能にします。 これには、Satellite アカウントからアクセス可能なパブリックまたはプライベートサービスが含まれます。例えば、IBM Cloud IAM のエンドポイントや、プライベート IBM Cloud Object Storage バケットなどです。

ソースアプリケーションからオンクラウドエンドポイントへの呼び出しは、まずお客様のロケーションで実行されているローカル Connector エージェントに向けられます。 ただし、ソース・アプリケーションがエンドポイントにアクセスする前に、エージェントがリッスンしているエンドポイントのターゲット・ポートがソース・アプリケーションからアクセス可能であることを確認する必要があります。 Docker や Rancher などのコンテナ・プラットフォームでは、エンドポイントのターゲット・ポートを、エージェントが実行されているコンテナの外からクライアントにアクセスできる適切なポートにマッピングする必要があります。 この条件を満たすには、以下の手順に従ってください。

  1. コマンドを実行してターゲット・ポートを取得する。 出力で、アドレス列にリストされているポート番号を見つけてください。

    ibmcloud sat endpoints --connector-id <connector ID>
    

    出力例。 この例では、ターゲットポート番号は 29998 です。

    OK
    ID                                          Name      Destination Type   Address      Status
    A1A1AAaaaAAaA11AAAAAaA11aaaAaaaAaA_aaaaa    test123   cloud              TCP :29998   enabled
    
  2. コンテナ・プラットフォームに適した手順で、ターゲット・ポートをコンテナにマッピングする。 Docker および Rancher を含むほとんどのプラットフォームでは、Connector エージェントを起動するときに -p LISTENPORT:CONTAINERPORT オプションを使用できます。

    例えば、Docker を使って、次のコマンドはエンドポイントのコンテナ内部ターゲットポート 29998 に対してポート 8443 を公開します。

    docker run -d -p 8443:29998 --env-file /root/agent/env-files/env.txt --env LOG_LEVEL=trace -v /root/agent/env-files:/agent-env-files icr.io/ibm/satellite-connector/satellite-connector-agent:latest
    

    また、コンテナ・プラットフォームやオペレーティング・システムと協力して、選択した LISTENPORT への外部トラフィックを許可する必要があるかもしれない。 先の例では、 LISTENPORT8443

  3. これで、コンテナ・プラットフォームで設定したIPアドレスまたはDNS名から、この例ではポート8443でリソースに到達できるようになった。

CLIからアクセス制御リスト(ACL)ルールを作成する

  1. 以下のコマンドを実行して、1つまたは複数のサブネットと、オプションで1つまたは複数のエンドポイントにバインドされたACLルールを作成する。

    ibmcloud sat acl create --connector-id ID --name NAME --subnet SUBNET [--subnet SUBNET ...] [--endpoint ENDPOINT ...]
    
    --connector-id ID
    Satellite コネクタの ID。 コネクター ID を見つけるには、 ibmcloud sat connector ls を実行します。
    --name NAME
    ACLの名前。
    --subnet SUBNET
    このACLによって許可されるIPまたはCIDRブロック。 値は以下のCIDRに完全に含まれていなければならない:10.0.0.0/8, 161.26.0.0/16, 166.8.0.0/14, 172.16.0.0/12.
    --endpoint ENDPOINT
    この ACL で有効にするエンドポイントの名前または ID。
  2. ACLが作成されたことを確認する。

    ibmcloud sat acl ls --connector-id ID
    
  3. また、既存のACLに対してエンドポイントやサブネットを追加または削除することもできる。

     ibmcloud sat acl endpoint add --connector-id ID --acl-id ID --endpoint ENDPOINT [--endpoint ENDPOINT ...]
     ibmcloud sat acl endpoint rm --connector-id ID --acl-id ID --endpoint ENDPOINT [--endpoint ENDPOINT ...]
     ibmcloud sat acl subnet add --connector-id ID --acl-id ID --subnet SUBNET [--subnet SUBNET ...]
     ibmcloud sat acl subnet rm --connector-id ID --acl-id ID --subnet SUBNET [--subnet SUBNET ...]
    

ACL作成コマンド例

サブネット10.123.76.192/26からエンドポイント「myendpoint」へのアクセスを許可するACLルールを作成するコマンドの例。

ibmcloud sat acl create --connector-id A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI --name myrule --subnet 10.123.76.192/26 --endpoint myendpoint

出力例

OK
ACL created with ID A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI-Source-vbfea

新しく作成したACLのIDを使用して次のコマンドを実行し、2番目のサブネット10.194.127.64/26 をACLに追加する。

ibmcloud sat acl subnet add --connector-id A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI --acl-id A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI-Source-vbfea --subnet 10.194.127.64/26

以下のコマンドを実行してACLをリストアップする。 myrule ACLは、2つのサブネット、 10.123.76.192/26 と 10.194.127.64/26 を含む。

ibmcloud sat acl ls --connector-id A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI
OK
ID                                                                      Name        Subnets                             Created
A1B0CDefgHilQ11ubmVjdG1yOiJjb11hnTdlWSRE1dnZla1szbDBsZyI-Source-vbfea   myrule      10.123.76.192/26,10.194.127.64/26   11 minutes ago

コンソールからエンドポイントを作成する

  1. Connector コンソールから、エンドポイントを作成する Connector をクリックします。

  2. User endpoints] タブをクリックし、[ Create endpoint ]をクリックします。

  3. エンドポイントタイプを選択します。

    エージェント・ロケーション
    Connector エージェントと同じネットワーク上で動作する宛先リソース。
    クラウド
    IBM Cloud で動作するデスティネーション・リソース。
  4. 次へ をクリックします。

  5. 「リソースの詳細」 ページで、以下の詳細を入力します。

    エンドポイント名
    エンドポイントに名前を付ける。
    宛先 FQDN または IP
    接続先の宛先リソースの完全修飾ドメイン・ネームまたは IP アドレスを入力します。
    宛先ポート
    宛先リソースが着信要求を listen するポートを入力します。
  6. 次へ をクリックします。

  7. プロトコル] ページで、送信元が宛先のFQDNまたはIPアドレスに接続するために使用するプロトコルを選択します。 このプロトコルは、宛先リソースのポートと一致する必要があります。 詳しくは、エンドポイントのプロトコルを参照してください。

    • TLS プロトコルまたは HTTPS プロトコルを選択し、宛先の証明書のサーバー・サイド認証を必要とする場合は、**「宛先証明書の検証」**チェック・ボックスを選択します。
    • TLS プロトコルまたは HTTPS プロトコルを選択し、宛先リソースがまだ開発中である場合は、**「証明書のアップロード」**をクリックして自己署名証明書ファイルを追加できます。 この ssl.crt ファイルには、リソースのホスト名用の Base64 エンコードの公開証明書が含まれている必要があります。ssl.key 証明書秘密鍵は含めないでください。 OpenSSL,、テスト用に自己署名証明書を作成するには、 自己署名SSL証明書チュートリアルをご覧ください。
    • TLS または HTTPS プロトコルを選択し、リソース接続の TLS ハンドシェークに別のホスト名を提供できるようにする場合は、サーバー名標識 (SNI) を入力します。
  8. 「アクセス制御リスト」 ページで、 「ルールの作成」 をクリックします。

  9. オプション: 「ACL ルール」 ページで、 ルール名 を入力し、エンドポイントへの接続を許可するクライアントの IBM Cloud プライベート IP アドレス を入力します。 この値は、単一の IP アドレス、CIDR ブロック、またはコンマ区切りリストにすることができます。 この値は、CIDR 10.0.0.0/8、 161.26.0.0/16、 166.8.0.0/14、 172.16.0.0/12に完全に含まれている必要があります。

    ルールが選択されていない場合、 IBM Cloud プライベートネットワークに接続されているクライアントは、エンドポイントを使用して、その場所で実行されている宛先リソースに接続できます。

  10. 「接続設定」 ページで、非アクティブ・タイムアウトを 1 から 600 の間に設定します。

  11. 「エンドポイントの作成」 をクリックします。

エンドポイント用のアクセス・コントロール・リスト(ACL)ルールの作成

  1. Satellite コンソールから、ACLルールを作成するコネクタをクリックします。

  2. 「コネクターの概要」 ページで、 「アクセス制御リスト」 タブをクリックし、 「ルールの作成」 をクリックします。

  3. ACLルールページで、以下の手順を実行する。

    1. ルール名を入力します。

    2. エンドポイントへの接続が許可されているクライアントの IP アドレス を入力します。 この値は、単一の IP アドレス、CIDR ブロック、またはコンマ区切りリストにすることができます。 この値は、CIDR 10.0.0.0/8、 161.26.0.0/16、 166.8.0.0/14、 172.16.0.0/12に完全に含まれている必要があります。

      ルールが選択されていない場合、 IBM Cloud プライベートネットワークに接続されているクライアントは、エンドポイントを使用して、その場所で実行されている宛先リソースに接続できます。

    3. このルールでアクセスを制御するエンドポイント(または複数のエンドポイント)を選択します。

  4. 作成 をクリックします。