アウトバウンド接続で作業する Code Engine
IBM Cloud® Code Engine のアウトバウンド接続機能では、CIDR表記によるアウトバウンド接続で許可された宛先IPアドレスの範囲を使用して、 Code Engine プロジェクトの到達可能なエンドポイントを定義することができます。 許可された宛先により、安全と定義されたアドレスへの送信トラフィックに限定されます。 したがって、インターネットへの不要なアクセスを防止し、コンプライアンスとセキュリティを強化することができます。
アウトバウンド接続ルールは、クラスタ内の通信には影響しません。アウトバウンド接続を指定しても、 Code Engine プロジェクト内のアプリケーション同士の通信を妨げることはありません。
お客様の利用事例によって、アウトバウンド接続の仕様が決定されます。 典型的なユース・ケースは以下のとおりです。
-
プロジェクト内の Code Engine アプリケーションが外部のエンドポイントに到達しないようにする場合は、ルールを指定しない(つまり、許可されたIPアドレスを指定しない)。
-
単一の許可された宛先IPアドレスの範囲(
0.0.0.0/0
)を指定して、すべての可能なエンドポイントを許可します。 デフォルトでは、 allow-all という名前のルールが 0.0.0.0/0 のIP範囲で設定されています。 -
Code Engine プロジェクト内のワークロードが、指定したエンドポイントの範囲(例えば、お客様のオンプレミスデータセンター)のみに到達できるようにする、許可された宛先IPアドレスの範囲を持つルールを指定します。
コンソールまたはCLIを使用して、アウトバウンド接続を作成できます。
コンソールを使用して許可された送信先IPアドレスの範囲を管理する
アウトバウンド接続用の許可された送信先IPアドレスの範囲を追加する
許可された宛先IPアドレスの範囲を作成して、外部ネットワーク上でワークロードが接続できる場所を制限することができます。
- コネクティビティのページへ:
- Code Engine コンソールの「プロジェクト」ページからプロジェクトを選択してください。
- プロジェクト設定 > 接続をクリックすると、既存の許可された宛先IPアドレスの範囲の一覧が表示されます。
- 「追加」 をクリックして、許可された宛先IPアドレスの範囲を作成します。
- 名前を指定します。
- CIDR表記でIPアドレスの範囲を指定する。
- 設定を確認してください。
アウトバウンド接続用の許可された送信先IPアドレスの範囲を更新する
許可された宛先IPアドレスの範囲を変更して、意図しないエンドポイント(例えば、公共のインターネットへの接続)へのワークロードの接続を禁止することができます。
- コネクティビティのページへ:
- Code Engine コンソールの「プロジェクト」ページからプロジェクトを選択してください。
- プロジェクト設定 > 接続をクリックすると、既存の許可された宛先IPアドレスの範囲の一覧が表示されます。
- 編集したい許可された送信先 IP アドレスの範囲の行をクリックします。
- 更新したIPアドレスの範囲を入力し、変更を保存します。
アウトバウンド接続ルールを更新する際は、次の点にご注意ください
-
許可された送信先IPアドレスの範囲は競合せず、追加的である。 複数の範囲を定義する場合、許可された宛先は、すべての指定された範囲の集合として作成されるため、範囲を追加する順序は、結果として得られる許可された宛先には影響しません。 すでに既存のレンジでカバーされている2つ目のレンジを追加すると、システムは重複しているとして作成を拒否します。
-
IPアドレスの範囲
0.0.0.0/0
を指定すると、既存のルールがすべて削除され、完全な接続が可能になります。 -
発信接続ルールを制限した後、ワークロードがルールを適用するまでに時間がかかる場合があります。 例えば、コードで使用されている HTTP クライアントが、アウトバウンド接続ルールを更新する前に接続を確立した場合、そのエンドポイントへの接続を開くことができます。 発信接続ルールが即座に適用されるようにするには、すべての接続をリセットします。 ワークロードを再配置するか、コードでそのような状況に対処することで、リセットすることができます。
-
Code Engine プロジェクトからのアウトバウンド接続を制限した後、外部リクエストができないためにビルドが実行できなくなるなど、予期せぬ副作用が発生することがあります。
許可された送信先IPアドレス範囲を削除して、送信接続を禁止する
以前に定義した許可された送信先IPアドレスの範囲を、今後は定義する必要がなくなった場合は、削除することができます。
許可された宛先IPアドレスの範囲を削除すると、プロジェクト内の Code Engine アプリケーション、機能、ジョブからの送信トラフィックがブロックされます。
- コネクティビティのページへ:
- Code Engine コンソールの「プロジェクト」ページからプロジェクトを選択してください。
- プロジェクト設定 > 接続をクリックすると、既存の許可された宛先IPアドレスの範囲の一覧が表示されます。
- 削除したい許可された送信先IPアドレスの範囲の行に移動し、削除(ゴミ箱)アイコンをクリックします。
- 削除確認のメッセージが表示されたら、削除を確認します。
CLIを使用して許可された宛先IPアドレスの範囲を管理する
CLIコマンドを使用して許可された宛先IPアドレスの範囲で作業するには、 IBM Cloud アカウントにログインし、 Code Engine アカウントとリソースグループを選択します。
Code Engine 接続の CLI コマンドでは、 --cidr-name
と --cidr
の値を指定できます 以下のCIDRガイドラインに従ってください
- 予約済みの IP 範囲 の IP 範囲を使用しないでください。
--cidr-name
と--cidr
の値を重複して使用しないでください。- サポートされていないCIDR名を使用しないでください。
- サポートされていないIPアドレス範囲を使用しないでください。 CIDR表記に従う。
アウトバウンド接続用の許可された送信先IPアドレスの範囲を追加する
許可された宛先IPアドレスの範囲を作成して、外部ネットワーク上でワークロードが接続できる場所を制限することができます。
-
Code Engine プロジェクトを選択してください。 以下に例を示します。
ibmcloud ce project select --name myproject
-
--cidr-name
と--cidr
オプションを指定して、許可された送信先IPアドレスの範囲を作成します。 有効な名前とIPアドレスを入力してください。 これらの例を参照してくださいibmcloud ce connectivity outbound create --cidr-name mycidr1 --cidr 192.68.5.0/24 ibmcloud ce connectivity outbound create --cidr-name mycidr2-allow-all --cidr 0.0.0.0/0 ibmcloud ce connectivity outbound create --cidr-name mycidr2-allow-all --cidr 0.0.0.0/0 --force
既存の許可済み送信先IPアドレスの範囲を送信接続用に表示する
特定の許可された宛先 IP アドレスの範囲を表示するには、CIDR 名を指定します。 以下に例を示します。
ibmcloud ce connectivity outbound get --cidr-name mycidr
許可されたすべての宛先IPアドレスの範囲を表示するには、以下を実行します
ibmcloud ce connectivity outbound list
アウトバウンド接続用の許可された送信先IPアドレスの範囲を更新する
許可された宛先 IP アドレスの範囲を変更して、意図しないエンドポイント(例えば、パブリックインターネットへの接続)へのワークロードの接続を禁止することができます。
--cidr-name
と --cidr
オプションを指定して、許可された送信先IPアドレスの範囲を更新します。 有効な名前とIPアドレスを入力してください。 これらの例を参照してください
ibmcloud ce connectivity outbound update --cidr-name mycidr1 --cidr 192.68.5.0/24
ibmcloud ce connectivity outbound update --cidr-name mycidr2-allow-all --cidr 0.0.0.0/0
Are you sure you want to update an allowed destination IP address range with '0.0.0.0/0'?, It will remove all other entries [y/N]>
ibmcloud ce connectivity outbound update --cidr-name mycidr2-allow-all --cidr 0.0.0.0/0 --force
アウトバウンド接続ルールを更新する際は、次の点にご注意ください
-
許可された送信先IPアドレスの範囲は競合せず、追加的である。 複数の範囲を定義する場合、許可された宛先は、すべての指定された範囲の集合として作成されるため、範囲を追加する順序は、結果として得られる許可された宛先には影響しません。 すでに既存のレンジでカバーされている2つ目のレンジを追加すると、システムは重複しているとして作成を拒否します。
-
IPアドレスの範囲
0.0.0.0/0
を指定すると、既存のルールがすべて削除され、完全な接続が可能になります。 -
発信接続ルールを制限した後でも、ワークロードがルールを適用するまでに時間がかかる場合があります。 例えば、コードで使用されている HTTP クライアントが、アウトバウンド接続ルールを更新する前に接続を確立した場合、そのエンドポイントへの接続を開くことができます。 発信接続ルールが即座に適用されるようにするには、すべての接続をリセットします。 ワークロードを再配置するか、コードでそのような状況に対処することで、リセットすることができます。
-
Code Engine プロジェクトからのアウトバウンド接続を制限した後、外部リクエストができないためにビルドが実行できなくなるなど、予期せぬ副作用が発生することがあります。
許可された送信先IPアドレス範囲を削除して、送信接続を禁止する
以前に定義した許可された送信先IPアドレスの範囲を、今後は定義する必要がなくなった場合は、削除することができます。
許可された宛先IPアドレスの範囲を削除すると、プロジェクト内の Code Engine アプリケーション、機能、ジョブからの送信トラフィックがブロックされます。
確認の上で許可された送信先 IP アドレスの範囲を削除するには、CIDR 名を指定します。 以下に例を示します。
ibmcloud ce connectivity outbound delete --cidr-name mycidr
許可された送信先 IP アドレスの範囲を強制的に(確認なしで)削除するには、以下を実行します
ibmcloud ce connectivity outbound delete --cidr-name mycidr --force