コネクタのエンドポイントの作成と管理
コネクタ を作成し、 コネクタエージェント をデプロイした後、 IBM Cloud Satellite のロケーションと、そのロケーション外で実行されているサービス、サーバー、またはアプリとの間のネットワークを管理するためのエンドポイントを作成できます。
CLI からのエンドポイントの作成
-
次のコマンドを実行して、SatelliteコネクタのIDを検索します。
ibmcloud sat connector ls -
エンドポイントを作成するコマンドを実行してください。
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- 宛先のプロトコルを指定します。 このオプションを指定しない場合、宛先プロトコルはソース・プロトコルから継承されます。 使用可能なオプション:
TCP、TLS。 --dest-type TYPE- 宛先リソースの実行場所を指定します。 IBM Cloud (
cloud)または Satellite の場所(location)のいずれかです。利用可能なオプション:location、cloud。 --name NAME- エンドポイントの名前を指定します。
--sni SNITLSまたはHTTPSのソースプロトコルを指定し、 TLS のハンドシェイクに別のホスト名を追加したい場合は、サーバー名インジケータを指定してください。--source-protocol PROTOCOL- ソースが宛先リソースを接続するために使用するプロトコルを指定します。 詳しくは、 暗号化プロトコル を参照してください。 使用可能なオプション:
TCP、TLS、HTTP、HTTPS、HTTP-tunnel。
-
エンドポイントが作成されていることを確認してください。
ibmcloud sat endpoint ls --connector-id ID -
--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 などのコンテナ・プラットフォームでは、エンドポイントのターゲット・ポートを、エージェントが実行されているコンテナの外からクライアントにアクセスできる適切なポートにマッピングする必要があります。 この条件を満たすには、以下の手順に従ってください。
-
コマンドを実行して、ターゲットポートを取得します。 出力で、アドレス列にリストされているポート番号を見つけてください。
ibmcloud sat endpoints --connector-id <connector ID>出力例。 この例では、ターゲットポート番号は
29998です。OK ID Name Destination Type Address Status A1A1AAaaaAAaA11AAAAAaA11aaaAaaaAaA_aaaaa test123 cloud TCP :29998 enabled -
コンテナ・プラットフォームに適した手順で、ターゲット・ポートをコンテナにマッピングする。 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への外部トラフィックを許可する必要があるかもしれない。 前の例では、LISTENPORTは8443となります。 -
これで、コンテナ・プラットフォームで設定したIPアドレスまたはDNS名から、この例ではポート8443でリソースに到達できるようになった。
CLIからアクセス制御リスト(ACL)ルールを作成する
-
以下のコマンドを実行して、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。
-
ACLが作成されたことを確認してください。
ibmcloud sat acl ls --connector-id ID -
また、既存の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
コンソールからのエンドポイントの作成
-
Connector コンソールから、エンドポイントを作成する Connector をクリックします。
-
User endpoints] タブをクリックし、[ Create endpoint ]をクリックします。
-
エンドポイントタイプを選択します。
- エージェント・ロケーション
- コネクタエージェントと同じネットワーク上で動作する宛先リソース。
- クラウド
- IBM Cloud で実行される宛先リソース。
-
次へ をクリックします。
-
「リソースの詳細」 ページで、以下の詳細を入力します。
- エンドポイント名
- エンドポイントに名前を付けてください。
- 宛先 FQDN または IP
- 接続先の宛先リソースの完全修飾ドメイン・ネームまたは IP アドレスを入力します。
- 宛先ポート
- 宛先リソースが着信要求を listen するポートを入力します。
-
次へ をクリックします。
-
[ プロトコル ] ページで、送信元が宛先の FQDN または IP アドレスに接続するために使用する必要があるプロトコルを選択します。 このプロトコルは、宛先リソースのポートと一致する必要があります。 詳しくは、エンドポイントのプロトコルを参照してください。
- TLS プロトコルまたは HTTPS プロトコルを選択し、宛先の証明書のサーバー・サイド認証を必要とする場合は、**「宛先証明書の検証」**チェック・ボックスを選択します。
- TLS プロトコルまたは HTTPS プロトコルを選択し、宛先リソースがまだ開発中である場合は、**「証明書のアップロード」**をクリックして自己署名証明書ファイルを追加できます。 この
ssl.crtファイルには、リソースのホスト名用の Base64 エンコードの公開証明書が含まれている必要があります。ssl.key証明書秘密鍵は含めないでください。 OpenSSL, を使用してテスト用の自己署名証明書を作成するには、この 自己署名証明書( SSL )のチュートリアルを参照してください。 - TLS または HTTPS プロトコルを選択し、リソース接続の TLS ハンドシェークに別のホスト名を提供できるようにする場合は、サーバー名標識 (SNI) を入力します。
-
「アクセス制御リスト」 ページで、 「ルールの作成」 をクリックします。
-
オプション: 「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 のプライベートネットワークに接続されているクライアントであれば、どのクライアントでもこのエンドポイントを使用して、お客様のロケーションで実行されている宛先リソースに接続できます。
-
「接続設定」 ページで、非アクティブ・タイムアウトを 1 から 600 の間に設定します。
-
「エンドポイントの作成」 をクリックします。
エンドポイント用のアクセス・コントロール・リスト(ACL)ルールの作成
-
Satellite コンソールから、ACLルールを作成するコネクタをクリックします。
-
「コネクターの概要」 ページで、 「アクセス制御リスト」 タブをクリックし、 「ルールの作成」 をクリックします。
-
ACL ルールページで、以下の手順を実行してください。
-
ルール名を入力してください。
-
エンドポイントへの接続が許可されているクライアントの 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 のプライベートネットワークに接続されているクライアントであれば、どのクライアントでもこのエンドポイントを使用して、お客様のロケーションで実行されている宛先リソースに接続できます。
-
このルールでアクセスを制御するエンドポイント(または複数のエンドポイント)を選択します。
-
-
作成 をクリックします。