このドキュメントでは、Netskope Cloud ExchangeをAWS Fargate(Cloud Exchange 5.0.0)からAMI EC2 VM(Cloud Exchange 5.1.2)に移行する方法について説明します。
前提条件
移行プロセスを開始する前に、バックアップ、復元、および移行中に構成や権限の問題が発生しないように、以下の条件が満たされていることを確認してください。
- Cloud Exchange FargateがCloudFormation経由でデプロイされ、ステータスがCREATE_COMPLETEまたはUPDATE_COMPLETEであることを確認してください。
- AWS ECS > Cluster > Taskにアクセスして、ECS クラスターと Fargate タスクが実行されていることを確認してください。
- クラスターSelect 、以下を確認してください。
- クラスターの状態はアクティブです。
- タスクとサービスは実行状態です。
- AWS EFSにアクセスして、EFSがアクティブになっていることを確認してください。
- バックアップと復元に必要なIAM権限を確認してください。アカウントにバックアップおよび復元操作を実行するための管理者権限や特定のAWS Backup/EFS権限などの十分な権限がない場合は、移行を実行するユーザーまたはサービスアカウントに必要な権限を持つIAMロールを作成し、アタッチしてください。
- EFSバックアップとリストア(AWSバックアップ)の場合:
backup:CreateBackupVault backup:StartBackupJob backup:StartRestoreJob backup:GetRecoveryPointRestoreMetadata backup:ListRecoveryPointsByBackupVault efs:DescribeFileSystems efs:DescribeMountTargets efs:CreateFileSystem efs:CreateMountTarget
- EC2にEFSをマウントするには:
ec2:DescribeInstances ec2:DescribeSecurityGroups ec2:DescribeSubnets ec2:DescribeVpcs
- バックアップ/復元にカスタム IAM ロールを使用する場合は、AWS バックアップと ECS/Fargate に対して信頼ポリシーが設定されていることを確認してください。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "backup.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
- EFSバックアップとリストア(AWSバックアップ)の場合:
- Mongoダンプは前提条件です。Mongoダンプを収集するには、 「Mongoダンプの収集」セクションを参照してください。
- メンテナンスパスワードについて:
- Cloud Exchangeプラグインのデータを収集するためにMongoDBを使用し、データベースへのアクセスにはMongoDBのユーザー名とパスワードが必要です。
- パスワードを忘れた場合、または使用できない場合は、実行中のコンテナーを使う環境変数からクレデンシャルを取得する手順について、 「メンテナンス パスワードを忘れた場合」セクションを参照してください。
移行を実行する前に
Cloud Exchange Fargate のデータ取り込みを停止するには:
- すべてのモジュールでサードパーティ製プラグインをすべて無効にし、キューに入っているタスクが完了するまで待ってから移行を進めてください。
- キュー内のタスクを特定するには、次の手順を実行します。
- すべてのモジュールでソースプラグインを無効にした後、20~30分お待ちください。
- ログにフィルタを適用する:
- Go to the Logging section.
- Filter Queryをクリックしてください。
- フィルタフィールドに、次のフィルタクエリを入力します: message Like “Ingested” || message Like “Stored” || message Like “task(s)” || message Like “Completed storage” 。
- Loadをクリックしてください。
- 関連するログを表示するには、フィルターを適用してください。
- ログの監視:ログフィルタが適用された後、新しいログを監視します。このフィルターに該当する新しいログが表示されない場合は、次のセクションに進んでください。
CloudShell経由でクラスターに接続します
クラスターに接続するには:
AWSコンソールで、左下のパネルにあるcloudshellに移動し、次のコマンドを実行します。
aws ecs execute-command \ --region eu-central-1 \ --cluster Netskope-CE-netskope-ce-Cluster \ --task d16d1e82*****772a1c \ --container mongodb-primary \ --command "/bin/bash" \ --interactive
注記
- 最初の引数:地域名。
- 2 番目の引数: クラスター名 (クラスター名Netskope -CE- Netskope -ce-Cluster をAmazon ECS > Clustersで検索します)。
- 3番目の引数: タスクID (タスクIDはAmazon ECS > Cluster > Taskで見つけます)。
- 4番目の引数: コンテナ名 ( Amazon ECS > Cluster > Task > Containersでコンテナ名を検索)。
- 第5の論点:命令。
モンゴダンプを集める
AWS cloudshellにアクセスし、クラスターに接続してから、mongo ダンプを収集します。
command:mongodump --uri="mongodb://<username>:<password>@host:port/cte" --out=/data/db
example:
mongodump --uri="mongodb://admin:admin123@localhost:27016/cte" --out=/data/db
メンテナンスパスワードを忘れた
クレデンシャルを忘れた場合は、環境変数で見つけることができます。
echo $MONGODB_USERNAME echo $MONGODB_PASSWORD
カスタム保管庫を作成する
バックアップ保管庫は、バックアップを保存および整理する場所です。Cloud Exchange Fargateデプロイメントの移行に必要なEFSバックアップを格納するための新しいボールトを作成する必要があります。
カスタムバックアップ保管庫を作成するには:
- 地域を選択してください。
- 同じリージョンでのカスタムバックアップボールトの作成:
Cloud Exchange を同じ AWS リージョンに移行する必要がある場合は、そのリージョンに単一のバックアップボールトを作成する必要があります。この保管庫にはバックアップ復旧ポイントが保存され、直接 EFSを復元できます。 - 異なるリージョンにカスタムバックアップボールトを作成する:
2 つのバックアップボールトを作成します:- 1つはソースリージョン(Cloud Exchange Fargateが存在する場所)にあり、初期バックアップを保存します。
- 移行先のリージョン(Cloud Exchangeを移行する必要がある場所)に1つ設置し、リージョン間バックアップのコピーを受信します。
- 同じリージョンでのカスタムバックアップボールトの作成:
- AWS Backup コンソールを開いて新しいバックアップ ボールトを作成し、 Create backup vaultをクリックします。
- バックアップ保管庫の名前とタグを入力してください。
- 暗号化キーSelect 。 暗号化の設定で、以下のいずれかを選択してください。
- Default AWS Backup Key (alias/aws/backup)
- 顧客管理キー(CMK):AWS Backupが顧客から提供されたキーを使用してリソースを暗号化および復号化できるようにします。
- The IAM role initiating the backup should also have the kms:GenerateDataKey, kms:Encrypt, kms:Decrypt, and kms:DescribeKey permissions.

- Create vaultをクリックしてください。
EFSのオンデマンドバックアップを作成する
Cloud Exchangeを移行するには、まず既存のAmazon EFS(Elastic File System)のバックアップを作成します。
- 地域を選択してください。AWSコンソールで、現在のリージョンがソースとなるCloud Exchange Fargateデプロイメントのリージョンと一致していることを確認してください。
- AWS Backup Consoleを開き、 Protected Resourcesに移動して、 Create on-demand backupをクリックします。
- バックアップジョブの設定:
- リソースタイプ: EFS (Amazon Elastic File System) Select 。
- リソースID:ドロップダウンリストから特定のEFSファイルシステムIDを選択してください。
- バックアップ保管庫:以前に作成したカスタムバックアップ保管庫を選択します。
- IAM ロール: 必要な権限を含むデフォルトの AWS Backup サービス ロール ( AWSBackupDefaultServiceRoleなど) Selectか、カスタム キーが必要な場合は、efs:* 、 backup:* 、および KMS 権限を持つカスタム IAM ロールを選択します。 カスタム キー。
- 設定を確認して、 Create on-demand backupをクリックしてください。
- バックアップのステータスを監視するには、 Jobs > Backupジョブに移動して進行状況を確認してください。
- 完了すると、リカバリポイントは次の場所にあります: Backup Vaults > [Vault Name] > Recovery points .

バックアップを別のリージョンにコピーする(同じリージョン内で移行する場合はスキップしてください)
移行対象の Cloud Exchange インスタンスと EFS ファイルシステム (バックアップ元) が異なる AWS リージョンにある場合は、ソース リージョン (バックアップが存在する場所) と宛先リージョン (バックアップが復元される場所) の両方で AWS Backup が有効になっていることを確認してください。さらに、リージョン間コピー操作をサポートするために、必要なIAM権限とKMSキーポリシーを設定してください。
バックアップを別のAWSリージョンにコピーするには:
- AWS Backup Consoleで、ソースリージョン(リカバリポイントが現在存在するリージョン)を選択します。
- コピーするリカバリポイントを含むバックアップボルトSelect 。
- リカバリーポイントを見つけて、その横にあるチェックボックスを選択してください。
- In the Actions dropdown, select Copy.
- コピー設定を構成する:
- 宛先リージョン:リカバリポイントをコピーするAWSリージョンSelect 。
- 宛先ボルト:宛先リージョンにある既存のバックアップボルトを選択します。
- 保持期間:コピーしたリカバリポイントを宛先ボルトに保持する日数を指定します。
- 暗号化設定の場合、コピーされた回復ポイントは、宛先リージョンの KMS キーを使用して暗号化されます。 Select:
- The default AWS Backup-managed key (alias/aws/backup)
- または、宛先リージョンにおける顧客管理KMSキー
Ensure the IAM role and the KMS key policy permit kms:Encrypt, kms:Decrypt, and kms:GenerateDataKey operations.
- Copyをクリックして、領域間コピー操作を開始します。
- Jobs > Copy Jobsに移動し、コピーしたジョブのステータスが「完了」と表示されるまで監視してください。
- AWS Backup > Backup vaults > [Destination Vault] > Recovery Points に移動して、コピーされたバックアップが利用可能であることを確認してください。

- Copyをクリックしてください。
バックアップを復元する
EFSバックアップが正常に作成され、バックアップコンテナー内でリカバリポイントとして利用可能になった後、復元ジョブを開始してデータを復元できます。
リカバリポイントからバックアップを復元するには:
- リカバリポイントが作成されたリージョンのAWS Backupサービスにアクセスしてください。別のリージョンを使用する場合は、まずバックアップを新しいリージョンにコピーしてから、そのリージョンから回復ポイントを選択します。
- Recovery pointsの下で、EFS に関連付けられた復旧ポイントを見つけて、復元ジョブを開始します。リカバリーポイントをSelectしてクリックActions > Restore。

- Configure Restore Settings:
- リソースタイプ: EFS Select 。
- 復元タイプ: Full Restore Select 。 これにより、復元されたデータを使用して新しい EFS ファイル システムが作成されます。
- Restore to a new file system Select (移行に推奨)。 これにより、新しい Amazon EFS ファイル システムが作成され、そこにデータが復元されます。
- 暗号化設定を構成する:
- 暗号化: 有効にするencryption-at-rest for the restored file system 。
- KMSキー:デフォルトのAWSマネージドキー( aws/efs ) Selectか、 必要な権限を持つカスタマーマネージドキー(CMK)を選択します。
- カスタムキーを使う場合は KMSの権限に関するドキュメント を参照してください。
- デフォルトのサービスリンクロール( AWSBackupDefaultServiceRole )、または以下の権限を持つカスタムIAMロール:
- efs:CreateFileSystem
- efs:CreateMountTarget
- バックアップ:StartRestoreJob
- kms:復号化(該当する場合)

- Restore Backupをクリックしてください。
Netskope Cloud Exchange 用の Amazon EC2 インスタンスを起動します。
移行プロセスの一環として、新しい Amazon EC2 インスタンスがターゲット リージョンにデプロイされ、 Cloud Exchange (CE as VM) プラットフォームをホストします。 このインスタンスは 復元されたEFSファイルシステムをマウントし、必要に応じてCloud Exchange環境を構成します。
新しい EC2 インスタンスを起動するには:
- EC2コンソールにアクセスして、新しいインスタンスを起動してください。
- Amazonマシンイメージ(AMI)を選択してください。
- Browse more AMIsに移動し、 AWS Marketplaceタブをクリックして、 Netskope Cloud Exchange AMIを検索します。互換性を確保するため、現在のデプロイメントバージョンと一致するAMIバージョンSelect 。 価格と条件を確認してから、 Continueをクリックしてください。
- キーペアを作成または選択し、インスタンスタイプを選択します。
- ストレージを設定します。
- ネットワーク設定を構成します。Netskope CE Fargateネットワークとは異なるVPCとサブネットSelect 。
- セキュリティグループの設定:
- 既存のセキュリティ グループSelectか、新しいセキュリティ グループを作成します。
- 以下の受信ルールが許可されていることを確認してください。
- IPアドレスからのSSH(ポート22)。
- UIへのアクセスにはHTTPS(ポート443)を使用します。
- カスタム TCP (ポート 3000) 内部ポートでCloud Exchange使用する場合。
- EFSマウント用のNFS(ポート2049)。
- インスタンスを起動します。
EFSを構成する
AWS Backup を使用してリカバリポイントから EFS ファイルシステムを復元すると、新しい EFS リソースが自動的に作成されます。 このEFSをEC2インスタンスからアクセス可能にするには、適切なアベイラビリティゾーンとVPCサブネットにマウントターゲットを作成する必要があります。
EFSを設定するには:
- EFSコンソールにアクセスし、バックアップを復元するリージョンを選択してください。
- マウントターゲットを設定するには、復元されたファイルシステムをクリックして詳細を表示します。
- On the Network tab, locate the Mount targets section.
- マウントターゲットを作成または更新するには、 Manageをクリックしてください。
- VPCとネットワーク設定をSelect 。 EC2インスタンスを配置するVPC、アベイラビリティゾーン、サブネット、およびセキュリティグループSelect 。
- マウントターゲットを作成するには、 AddまたはSave changesをクリックしてください。利用可能になるまで数秒かかる場合があります。

新しい EFS を EC2 サーバーにマウントする
新しい EFS をマウントするには:
- EC2のパブリックIPv4 DNSをコピーし、SSHコマンドを実行して
cteadminとしてログインします。chmod 400 <private-key-path> ssh -i <private-key-path> cteadmin@<public-ipv4-dns>
- 必要なパッケージをインストールしてください。
sudo apt update sudo apt install -y nfs-common
- AWS EFSコンソールにアクセスし、バックアップEFSが存在するリージョンを選択します。
- Attachをクリックしてください。
- Using the NFS clientの下のコマンドをコピーしてください。

- EC2インスタンス内にマウントディレクトリを作成します。EC2インスタンスでマウントコマンドを実行します。
mkdir efs
DNS経由:
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport <DNS name of new EFS>:/ <output_directory>
または
IP 経由
IP は EFS > ネットワークで確認できます。sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport $MOUNT_TARGET_IP:/ efs
- 復元されたデータにアクセスするには、
efsディレクトリに移動してください。
Move the old CE Data Files into the cloudexchange Directory
前提条件
新規インストールであり、セットアッププロセスが開始されていないことを確認してください。
cloudexchangeディレクトリを移動する。efsディレクトリ内にある/data/mongo-data/data/db/ ディレクトリに移動してください。cd efs/<backup_restore_folder_name>/data/mongo-data/data/db/
cteフォルダをcloudexchangeディレクトリにコピーします。cp -r cte /opt/cloudexchange/cloudexchange/
cloudexchangeディレクトリに移動してください。cd /opt/cloudexchange/cloudexchange/
- 使う
migrate_mongo_data.shというスクリプトファイルを作成し、以下のコマンドを行ってください:vi migrate_mongo_data.sh
- 以下の内容をファイルに追加して保存してください。
#!/bin/bash set -e [ -z "$MAINTENANCE_PASSWORD" ] && echo "Export the Maintenance Password. export MAINTENANCE_PASSWORD=<password>" && exit 1 [ "$(ls data/mongo-data/data/db | wc -l)" -ne 0 ] && echo "Cannot run migration as the mongo data directory is not empty." && exit 1 sudo chown -R 1001:1001 ./data/mongo-data sudo docker run -d -t -e MONGODB_ADVERTISED_HOSTNAME=mongodb-primary \ -e MONGO_INITDB_ROOT_USERNAME=root \ -e MONGO_INITDB_ROOT_PASSWORD=$MAINTENANCE_PASSW ORD \ -e MONGO_INITDB_DATABASE=cte \ -e MONGODB_USERNAME=cteadmin \ -e MONGODB_PASSWORD=$MAINTENANCE_PASSWORD \ -v ./data/mongo-data/data/db:/data/db:z \ -v ./data/database-init/mongo-init.sh:/docker-entrypoint-initdb.d/mongo -init.sh:z \ -v ./cte:/opt/cte:z \ --name mongo-migration \ index.docker.io/netskopetechnicalalliances/cloudexchange:mongo8 -8.0.6 echo "Mongo container started" && sleep 60 echo "Restoring data..." sudo docker exec mongo-migration bash -c "mongorestore -u cteadmin -p $MAINTENANCE_PASSWORD --db cte /opt/cte/" sudo docker stop mongo-migration >/dev/null 2>&1 && echo "Mongo container stopped" sudo docker rm mongo-migration >/dev/null 2>&1 && echo "Mongo container removed" echo "Mongo data restored successfully"
- ファイルに実行権限を付与してください。
chmod +x migrate_mongo_data.sh
- 変数
MAINTENANCE_PASSWORDをエクスポートします。export MAINTENANCE_PASSWORD=<maintenance_password>
- スクリプトを実行してください。
./migrate_mongo_data.sh
efsディレクトリ内にある/dataディレクトリに移動してください。cd efs/<backup_restore_folder_name>/data/
- repoフォルダを
cloudexchangeディレクトリにコピーします。cp -r repos /opt/cloudexchange/cloudexchange/data/
custom pluginsフォルダをcloudexchangeディレクトリにコピーします。cp -r custom_plugins /opt/cloudexchange/cloudexchange/data/
cloudexchangeディレクトリに移動してください。cd /opt/cloudexchange/cloudexchange/
- cloudexchange.configでは、古いCloud Exchangeデプロイのメンテナンスパスワードを追加します。
cp cloudexchange.config.example cloudexchange.config vi cloudexchange.config
- Cloud Exchangeセットアップスクリプトを実行してください。
sudo ./setup
- セットアップが正常に完了したら、開始スクリプトを実行します。
sudo ./start
Cloudformation スタックの廃止 AWS マネジメントコンソールを使用する
重要
この操作を行うと、IAMロール、VPC、ECS、その他の関連コンポーネントなど、Netskope Cloud Exchangeに関連付けられているすべてのリソースが完全に削除されます。
スタックを廃止するには:
- AWS マネジメント コンソールにサインインして、 Cloudformation.
- ナビゲーションペインでStacks を選択し、削除するスタックを選択します。
- 右上隅のDeleteクリックしてください。確認ダイアログが開きます。Delete Stackをクリックしてください。
- CloudFormation がスタックの削除を開始します。
ステータスはDELETE_IN_PROGRESSに変わり、その後DELETE_COMPLETEに変わります。 - スタックの削除に失敗した場合は、以下を確認してください。
- リソースに移動して、スキップされたリソースがないか確認してください。そうであれば、そのリソースを手動で削除する必要があります。(例えば、S3バケットがスキップされた場合は、まずバケットを空にしてから削除する必要があります。)
- 終了保護が有効になっています。
- 削除できない依存リソース。
- 権限の問題です。
- 削除を再試行してください。
- クラスターSelect 、以下を確認してください。

