Amazon Web Services ブログ

AWS Service Catalog とAWS Marketplace の CloudEndure を使用して、AWS アカウントのプロビジョニングとサーバーの移行を自動化する

AWS クラウドに移行する予定の会社の移行プロジェクトに関与している場合は、移行の準備、ポートフォリオの発見、計画、設計など、さまざまな段階を経ることでしょう。ほとんどの場合、これらの段階の後に正念場を迎え、物理ベース、仮想ベース、またはクラウドベースのインフラストラクチャワークロードの AWS への移行を開始します。AWS のお客様は、 CloudEndure (現在は AWS の会社) などのツールを使用して、アプリケーションの移行、災害復旧や AWS へのレガシーインフラストラクチャのバックアップを自動化します。移行中にお客様が直面する課題の 1 つに、サーバーを管理して、数百または数千の AWS アカウントで構成される階層的なアカウント構造に移動することがあります。このブログ記事では、新しい CloudEndure 移行プロジェクトのセットアップを自動化する方法と、お使いの環境で新しいアカウントを販売するたびに「アカウント自動販売機」を使用してこのプロセスを自動化する方法を学びます。

はじめに

CloudEndure は、AWS への大規模な移行と障害復旧のデプロイを簡素化、迅速化、自動化するのに役立ちます。継続的なデータレプリケーションはバックグラウンドで行われ、アプリケーションの中断やパフォーマンスへの影響はありません。これにより、データがリアルタイムで同期され、カットオーバー/フェイルオーバーウィンドウが最小限に抑えられます。カットオーバー/フェイルオーバーが開始されると、CloudEndure は高度に自動化されたマシン変換とオーケストレーションプロセスを実行します。これにより、最も複雑なアプリケーションやデータベースでも、互換性の問題なく、最小限の IT スキルで AWS でネイティブに実行できます。AWS Marketplace から CloudEndure をデプロイできます

このアカウントの自動販売機を作成するには、AWS Service CatalogAWS LambdaAWS Organizations などのネイティブの AWS のサービスを追加で使用します。また、CloudEndure との API 統合を使用して、アカウントの作成後に新しいプロジェクトをセットアップします。さらに、移行をサポートするために、販売したアカウントで AWS Direct ConnectAmazon Kinesis Data FirehoseAmazon S3 Transfer Acceleration などの追加の AWS のサービスを設定して、この参考用のサンプルソリューションを拡張できます。

このソリューションのサービス

このソリューションで使用するサービスの簡単なレビューを次に示します。

AWS Service Catalog

AWS Service Catalog を使うと、組織は AWS での使用が承認されている IT サービスのカタログを作成および管理できます。このような IT サービスには、仮想マシンイメージ、サーバー、ソフトウェア、データベースから完全な多層アプリケーションアーキテクチャまで、あらゆるものが含まれます。AWS Service Catalog により、一般的にデプロイされている IT サービスを一元管理し、一貫したガバナンスを実現してコンプライアンス要件を満たすことができ、ユーザーは必要な承認済みの IT サービスのみを迅速にデプロイできます。

このソリューションでは、アカウント自動販売機は AWS Service Catalog 製品として存在し、ユーザーパラメータを使って起動して新しいアカウントを作成できます。

AWS Lambda

AWS Lambda を使用すると、サーバーのプロビジョニングや管理を必要とせずにコードの実行が可能になります。料金は消費したコンピューティングの時間分だけを支払います。コードを実行していない場合は料金は発生しません。

Lambda では、実質的にすべてのタイプのアプリケーションまたはバックエンドサービスに対してコードを実行でき、管理は一切不要です。コードをアップロードするだけで、高い可用性でコードを実行し、スケーリングするために必要なすべての事柄を Lambda が処理します。コードは、AWS の他のサービスから自動的にトリガーするように、またはウェブアプリケーション、モバイルアプリケーションから直接呼び出すように設定できます。

この記事の場合、AWS Service Catalog は Lambda を起動して、新しいアカウントの作成と CloudEndure との統合に必要な計算を実行します。

AWS Organizations

AWS Organizations は、AWS でのワークロードを拡大およびスケーリングするときに、環境を一元的に管理するのに役立ちます。AWS Organizations を使用すると、アカウントの作成を自動化し、ビジネスニーズを反映するアカウントのグループを作成し、ガバナンスのためにこれらのグループにポリシーを適用できます。すべての AWS アカウントに単一の支払い方法を設定することで、請求を簡素化することもできます。

このソリューションでは、Lambda は AWS Organizations と連携してアカウントを作成し、CloudEndure と対話して、新しく販売したアカウントの移行プロジェクトを自動的にセットアップします。

Amazon S3

Amazon Simple Storage Service (Amazon S3) はオブジェクトストレージサービスで、業界をリードするスケーラビリティ、データの可用性、セキュリティ、パフォーマンスを実現します。これは、あらゆる規模と業界のお客様が Amazon S3 を使用して、ウェブサイト、モバイルアプリケーション、バックアップと復元、アーカイブ、エンタープライズアプリケーション、モノのインターネット (IoT) デバイス、ビッグデータ分析などのさまざまなユースケースのために任意の量のデータを保存および保護できることを意味します。

このソリューションでは、Amazon S3 を使用して、新しいアカウントで CloudEndure アクセス用の AWS Identity and Access Management (IAM) ユーザーを作成するために必要な AWS CloudFormation テンプレートを保存します。

ソリューションの概要

基本的に、このソリューションは AWS Organizations API を使用して新しいアカウントを作成し、新しいアカウントでデフォルトの Virtual Private Cloud (VPC) を削除し、必要な権限で CloudEndure の IAM ユーザーのアカウントをブートストラップします。これを実現するには、AWS Service Catalog からアカウント自動販売機製品を起動する必要があります。これにより、AWS CloudFormation テンプレートが起動します。このテンプレートは、AWS Organizations で新しいアカウントを設定し、それを CloudEndure と統合する API 呼び出しを実行するための Lambda 関数をトリガーします。

次の図は、アカウント作成プロセスのアーキテクチャを示しています。

CloudEndure アーキテクチャ図

プロセスは次の手順に従います。

1a.AWS Service Catalog は、アカウント自動販売機製品を起動します。これにより、AWS CloudFormation テンプレートがトリガーされ、アカウントの作成と CloudEndure の統合に必要なパラメータが提供されます。

1b.AWS CloudFormation は、API 呼び出しを実行するために定義されたカスタム Lambda リソースをトリガーします。これにより、アカウントの作成と CloudEndure の統合を行えます。

1c.Lambda は S3 バケットから AccountBaseline.yml と呼ばれる AWS CloudFormation テンプレートをダウンロードします。

1d.Account Vending Lambda 関数は、AWS Organizations API を呼び出して新しいアカウントを作成します。新しいアカウントが作成された後、Lambda 関数は次のことを行います。

  • すべての AWS リージョンの新しいアカウントのデフォルト VPC を削除する
  • AccountBaseline.yml テンプレートを起動して、CloudEndure アクセス用の新しい IAM ユーザーを作成します。

1e. Account Vending Lambda 関数は CloudEndure Lambda 関数をトリガーし、新しいアカウント ID をそれに渡します。

1f. CloudEndure Lambda 関数は、必要なパラメータを指定して CloudEndure への API 呼び出しを行い、新しく販売されたアカウントのために新しいプロジェクトをセットアップします。

この時点で、新しく販売されたアカウントには、CloudEndure に関連付けられた対応するプロジェクトがあります。以下の手順はサンプルソリューションには含まれていませんが、論理には次の手順になります。

2a. データセンターから CloudEndure に移行するワークロードを接続します。

2b. CloudEndure で既に確立されているプロジェクトを使用して、オンプレミスワークロードの移行/レプリケーションを開始します。

AWS への CloudEndure 移行の自動化の詳細については、AWS パートナーネットワーク (APN) ブログの「自動化を利用して、CloudEndure で AWS への移行を促進する」を参照してください。

CloudEndure 統合によるアカウント自動販売機のデプロイ

始める前に:

  • AWS Organizations で組織のマスターペイヤーアカウントにアクセスする必要があります。
  • CloudEndure サブスクリプションが必要です。これは、移行または障害復旧のために AWS Marketplace で入手できます。次に、このソリューションをセットアップするために CloudEndure のユーザー名とパスワードが必要です。

この実装を変更して、CloudEndure API キーを使用してログインを有効にすることもできます。これは、CloudEndure API 呼び出しを発行する際の推奨される認証方法です。

これは、可能な技術を示すサンプルソリューションであり、本番環境での使用を目的としたものではありません。

マスターアカウントをセットアップする

  1. マスターアカウントで AWS マネジメントコンソールにサインインし、米国東部 (バージニア北部) リージョンに切り替えます。
  2. [スタックの起動] ボタンをクリックして、アカウントの自動販売機インフラストラクチャのセットアップを開始し、[次へ] をクリックします。

[スタックの起動] ボタン

  1. [詳細を指定] ページで、次の情報を入力します。
  • スタック名 – アカウント自動販売機のインフラストラクチャ用に作成されたスタックの名前。「avm-ce-infrastructure-setup」と入力します。
  • AccountAdministrator – AWS Service Catalog 製品の起動を担当する管理者で、CloudEndure で新しいアカウントを作成します。アカウント自動販売機を起動するためのアクセスを許可する IAM ユーザー、ロール、またはグループの ARN 値 (arn:aws:iam::…) を入力します。
  • CloudEndureUserName – CloudEndure アカウントのユーザー名。
  • CloudEndurePassword – CloudEndure アカウントのパスワード。
  • SourceBucket – このソリューションに必要なすべてのファイルの Amazon S3 バケット名。デフォルト値のままにします。
  • SourceTemplate – AWS Service Catalog にアカウント自動販売機製品を作成するための AWS CloudFormation テンプレートの URL。デフォルト値のままにします。

次の図は、[詳細を指定] ページを示しています。

[詳細を指定] ページ

  1. [次へ]、[オプション] ページの [次へ]、そして [作成] の順に選択します。

スタックを作成すると、次の図に示すように、AccountLambdaCloudEndureLambda の 2 つの出力が生成されます。次のステップのために、これらの値を用意します。

accountlambda cloudendurelambda

アカウント自動販売機の起動

  1. AWS Service Catalog コンソールを開きます。まだ米国東部 (バージニア北部) リージョンにいることを確認してください。

AWS Service Catalog コンソール

  1. [製品の起動] を選択し、プロビジョニングされた製品名を入力して、[次へ] をクリックします。
  2. [パラメータ] ページで、次の情報を入力します。
  • MasterLambdaArn – Lambda 関数 AccountCreationLambda の ARN。前のセクションでスタックを作成した際の出力の値を使用します。
  • AccountEmail – アカウントを作成するのに使う一意のメール ID を入力します。
  • OrganizationalUnitName – AWS Organizations の組織ユニットの名前を入力します。そこへ新しいアカウントを移動します。
  • AccountName – 作成するアカウントの名前を入力します。
  • StackName – 新しく販売されたアカウントで起動する AWS CloudFormation スタックの名前を入力します。このスタックは、新しく作成されたアカウントにベースラインリソースを作成します。
  • StackRegion – 新しいアカウントでベースラインリソースを起動するリージョンを入力します。
  • SourceBucketAccountbaseline.yml テンプレートを保持する Amazon S3 バケットの名前。デフォルト値のままにします。
  • BaselineTemplate – 起動するベースラインテンプレートの名前。デフォルト値のままにします。
  • CloudEndureLambdaArn – Lambda 関数 CloudEndureLambda の ARN。前のセクションでスタックを作成した際の出力の値を使用します。
  • CloudEndureProjectType – 作成する CloudEndure プロジェクトのタイプに応じて、Migration または DR を選択します。

次の画像は、[Parameters] ページを示しています。

[パラメータ] ページ

  1. [TagOptions]、[通知]、および [確認] ページで [次へ] を選択し、次に [起動] をクリックします。アカウントの自動販売機を起動すると、次の画像に示す出力を生成します。アカウントの自動販売機の起動

CloudEndure ポータルで新しいアカウントを見つける

この時点で、CloudEndure ポータルにログインして、前のセクションで生成された対応するアカウント ID で新しいプロジェクトを確認できます。次の図に示すように、新しいアカウントの認証情報は、[セットアップと情報] ペインの [AWS 認証情報] ビューに表示されます。

CloudEndure の [セットアップと情報] ページ

まとめ

このブログ記事では、新しく販売されたアカウントを AWS Marketplace の CloudEndure に自動的に統合するという、移行の際に直面する主な課題に対処しました。このアプローチは、アカウントごとに CloudEndure をセットアップするのに必要な手動操作の時間を節約するのに役立ちます。また、検証などの移行後の主要なアクティビティへの移行を加速し、最終的に AWS クラウドで本番ワークロードを運用するのにも役立ちます。

CloudEndure は AWS Marketplace で利用できます。これは、独立系ソフトウェアベンダーの数千のソフトウェアをリストしたデジタルカタログです。これにより、AWS で実行されるソフトウェアを簡単に検索、テスト、購入、デプロイできます。AWS Marketplace で CloudEndure 製品をご確認ください。または、AWS Marketplace サポートフォーラムまでご質問をお寄せください。

著者について

sagar khasnis

Sagar Khasnis は、AWS Marketplace と AWS Service Catalog を専門とするパートナーソリューションアーキテクトです。彼は、AWS のサービスを使用して革新的なソリューションを構築し、顧客がビジネス目標を達成するのをサポートすることに情熱を傾けています。

 

 

 

Carmen Puccio Carmen Puccio は AWS のソリューションアーキテクトです。彼は 2 年間、コンサルティングおよびテクノロジーパートナーがワークロードを大規模に AWS に大量移行するのをサポートしてきました。今では、コンテナパートナーのお客様が最新化を図る一環としてコンテナテクノロジーを採用できるようサポートしています。