チュートリアル: ワークステーションからインスタンスを登録する - AWS OpsWorks

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

チュートリアル: ワークステーションからインスタンスを登録する

重要

AWS OpsWorks Stacks は新規顧客を受け付けなくなりました。既存のお客様は、2024 年 5 月 26 日までは、通常どおり OpsWorks コンソール、API、CLI、および CloudFormation リソースを使用できます。その時点で廃止されます。この移行に備えて、できるだけ早くスタックを AWS Systems Manager に移行することをおすすめします。詳細については、「AWS OpsWorks Stacks サポート終了に関する FAQ」および「AWS Systems Manager アプリケーションマネージャへの AWS OpsWorks Stacks アプリケーションの移行」を参照してください。

注記

この機能は Linux スタックでのみサポートされています。

登録処理は、いくつかのシナリオをサポートしています。このセクションでは、ワークステーションを使用して Amazon EC2 インスタンスを登録するという 1 つのシナリオ end-to-end の例について説明します。他の登録シナリオでも手順は似ています。詳細については、「Amazon EC2とオンプレミスのインスタンスの登録」を参照してください。

注記

通常は、既存の Amazon EC2 インスタンスを登録します。ただし、チュートリアル専用に新しいインスタンスと新しいスタックを作成し、チュートリアルの完了後に削除できます。

ステップ 1: スタックとインスタンスを作成する

開始するには、スタックと、そのスタックに登録する Amazon EC2 インスタンスが必要です。

スタックとインスタンスを作成するには
  1. EC2Register という名前の 新しいスタックの作成 ために AWS OpsWorks [Stacks console] (スタックコンソール) を使用します。その他のスタック設定については、デフォルト値を使用できます。

  2. [Amazon EC2 console] (Amazon EC2 コンソール) から新しいインスタンスを起動します。次の点に注意してください。

    • インスタンスは、スタックと同じリージョンおよび同じ VPC に存在します。

      VPC を使用している場合は、このチュートリアル用のパブリックサブネットを選択します。

    • SSH キーを作成する必要がある場合は、プライベートキーファイルをワークステーションに保存し、名前とファイルの場所を記録します。

      既存のキーを使用する場合は、名前とプライベートキーファイルの場所を記録します。これらの値は後で必要になります。

    • インスタンスは、「サポートされている Linux オペレーティングシステム」のいずれかに基づいている必要があります。例えばスタックが米国西部(オレゴン)にある場合は、ami-35501205 を使用して、そのリージョンの Ubuntu 14.04 LTS インスタンスを起動できます。

    そうしない場合は、デフォルト値をそのまま使用します。

インスタンスの起動中、次のセクションに進むことができます。

ステップ 2: AWS CLI をインストールおよび設定する

登録は、AWS CLIaws opsworks register コマンドを使用して実行されます。最初のインスタンスを登録する前には、AWS CLI のバージョン 1.16.180 以降を起動させておいてください。インストールの詳細は使用しているワークステーションのオペレーティングシステムによって異なります。AWS CLI のインストールに関する詳細については、AWS Command Line Interface のインストールを参照してください。起動している AWS CLI のバージョンを確認するには、シェルセッション内に aws --version を入力します。

注記

ユーザーまたはロールがインスタンスを登録できないようにするには、インスタンスプロファイルを更新して register コマンドへのアクセスを拒否します。

ワークステーションですでに AWS CLI を起動している場合であっても、このステップはスキップしないことを強くお勧めします。AWS CLI の最新リリースを使用することがセキュリティのベストプラクティスです。

register に、適切なアクセス権限がある AWS の認証情報を提供する必要があります。インスタンスに直接認証情報をインストールしないようにするには、インスタンスプロファイルで起動したインスタンスを登録し、register コマンドに --use-instance-profile スイッチを追加する方法が推奨されます。インスタンスプロファイルから認証情報を取得する場合は、この手順をスキップして、このトピックの「ステップ 3: EC2Register のスタックにインスタンスを登録する」に進んでください。ただし、インスタンスプロファイルを使用して起動されていないインスタンスでは、IAM ユーザーを作成できます。以下の手順では、適切なアクセス権限がある新しいユーザーを作成し、ユーザーの認証情報をワークステーションにインストールして、その認証情報を register に渡しています。

警告

IAM ユーザーには長期的な認証情報があり、セキュリティ上のリスクをもたらします。このリスクを軽減するために、これらのユーザーにはタスクの実行に必要な権限のみを付与し、不要になったユーザーを削除することをお勧めします。

ユーザーを作成するには
  1. IAM コンソールのナビゲーションペインで [Users] を選択してから、[Add user] を選択します。

  2. EC2Register という名前のユーザーを追加します。

  3. [次へ] をクリックします。

  4. 許可を設定 ページで、ポリシーを直接アタッチする を選択します。

  5. アクセス許可ポリシー のフィルターボックスに OpsWorks を入力して AWS OpsWorks ポリシーを表示し、以下のポリシーのいずれかを選択して、次へ:確認 を選択します。このポリシーは、register の実行に必要なアクセス権限をお客様のユーザーに付与します。

    • インスタンスプロファイルを使用する EC2 インスタンスを登録するためのユーザー権限を付与するには、[AWSOpsWorksRegisterCLI_EC2] を選択します。

    • オンプレミスインスタンスを登録するためのユーザー権限を付与するには、[AWSOpsWorksRegisterCLI_OnPremises] を選択します。

  6. [次へ] をクリックします。

  7. [確認] ページで、[ユーザーの作成] を選択します。

  8. ユーザーのアクセスキーを作成します。ナビゲーションペインから、ユーザー を選択し、アクセス・キーを作成するユーザーを選択します。

  9. セキュリティ認証情報 タブを選択してから アクセスキーの作成 を選択します。

  10. タスクに最も適した アクセスキーのベストプラクティスと代替案 を選択してください。

  11. [次へ] をクリックします。

  12. (オプション) アクセスキーを識別するタグを入力します。

  13. [次へ] をクリックします。

  14. [Download .csvファイル] を選択し、認証情報ファイルをシステムの都合のよい場所に保存してから、完了 を選択します。

IAM ユーザーの認証情報を register に提供する必要があります。このチュートリアルでは、タスクを処理するために、EC2Register 認証情報をワークステーションの credentials ファイルにインストールしています。AWS CLI の認証情報を管理するその他の方法については、設定ファイルと認証情報ファイルを参照してください。

ユーザーの認証情報をインストールするには
  1. ワークステーションの credentials ファイルを作成するか開きます。このファイルは、~/.aws/credentials(Linux、Unix、OS X) または C:\Users\User_Name\.aws\credentials (Windows システム) にあります。

  2. 次の形式を使用して、EC2Register ユーザーのプロファイルを credentials ファイルに追加します。

    [ec2register] aws_access_key_id = access_key_id aws_secret_access_key = secret_access_key

    access_key_idsecret_access_key は、前にダウンロードした EC2Register のキーに置き換えます。

ステップ 3: EC2Register のスタックにインスタンスを登録する

これでインスタンスを登録する準備が整いました。

インスタンスを登録するには
  1. AWS OpsWorks スタックで EC2Register スタックに戻り、ナビゲーションペインの [Instances (インスタンス)] を選択して [register an instance (インスタンスの登録)] を選択します。

  2. [EC2 Instances (EC2 インスタンス)] を選択し、[Next: Select Instances (次の手順: インスタンスの選択)] を選択して、一覧から目的のインスタンスを選択します。

  3. [Next: Install AWS CLI] (次の手順: AWS CLI のインストール)、[Next: Register Instances] (次の手順: インスタンスの登録) の順に選択します。AWS OpsWorksスタックは、スタック ID やインスタンス ID などの利用可能な情報を自動的に使用して、register コマンドテンプレートを作成します。作成されたテンプレートは [Register Instances] (インスタンスの登録) ページに表示されます。この例では、register を使用して SSH キーでインスタンスにログインし、キーファイルを明示的に指定します。そのために、[I use SSH keys to connect to my instances] (SSH キーを使用してインスタンスに接続する) を [Yes] (はい) に設定します。このコマンドテンプレートは次のようになっています。

    aws opsworks register --infrastructure-class ec2 --region region endpoint ID --stack-id 247be7ea-3551-4177-9524-1ff804f453e3 --ssh-username [username] --ssh-private-key [key-file] i-f1245d10
    注記

    スタックが us-east-1 リージョンのエンドポイントに関連付けられているクラシックリージョン内にある場合は、リージョンを、スタックのリージョンではなく、AWS OpsWorks スタックサービスのエンドポイントのリージョンに設定する必要があります。AWS OpsWorksスタックはスタック ID からスタックのリージョンを決定します。

  4. コマンド テンプレートには複数のユーザー固有の引数値も含まれます。これらの引数値はブラケット付きで示され、適切な値に置き換える必要があります。コマンドテンプレートをテキストエディタにコピーして、次のように編集します。

    重要

    登録プロセス中に作成された IAM ユーザーは、登録されたインスタンスの存続中に必要です。このユーザーを削除すると、AWS OpsWorks スタックエージェントはサービスと通信できなくなります。--use-instance-profile ユーザーが誤って削除された場合に登録済みインスタンスの管理に関する問題が発生するのを回避するために、 registerコマンドに パラメータを追加して、代わりにインスタンスの組み込みインスタンスプロファイルを使用します。また、--use-instance-profile パラメータを追加することにより、AWS OpsWorks エージェントと必要な IAM ユーザーの間で利用可能なアクセスキーの不一致が発生しなくなるため、AWS アカウントのアクセスキーを 90 日ごとに更新する (推奨されるベストプラクティス) ときにエラーが発生しなくなります。

    • [key file] (キーファイル) は、インスタンス作成時に保存した Amazon EC2 キーペアのプライベートキーファイルの完全修飾パスに置き換えます。

      必要に応じて相対パスを使用できます。

    • [username] はインスタンスのユーザー名に置き換えます。

      この例での username は、Ubuntu インスタンスの場合は ubuntu、Red Hat Enterprise Linux (RHEL) または Amazon Linux のインスタンスの場合は ec2-user です。

    • インスタンスプロファイルを使用して register を実行するように --use-instance-profile を追加して、キーローテーション時や、プリンシパル IAM ユーザーが誤って削除された場合のエラーを回避します。

    コマンドは次のようになります。

    aws opsworks register --use-instance-profile --infrastructure-class ec2 \ --region us-west-2 --stack-id 247be7ea-3551-4177-9524-1ff804f453e3 --ssh-username ubuntu \ --ssh-private-key "./keys/mykeys.pem" i-f1245d10
  5. ワークステーションでターミナルウィンドウを開き、エディタから register コマンドを貼り付けてコマンドを実行します。

    通常、登録には約 5 分かかります。完了したら、AWS OpsWorks スタックコンソールに戻って [Done] (完了) を選択します。次に、ナビゲーションペインで [Instances (インスタンス)] を選択します。[Unassigned Instances] にインスタンスが表示されます。次に、インスタンスをどのように管理するかに応じて、インスタンスをレイヤーに割り当てるか、そのままにします。

  6. 完了したら、[stop the instance] (インスタンスを停止) し、続いて AWS OpsWorks スタックコンソールまたはコマンドを使用して [delete it] (それを削除) します。Amazon EC2 インスタンスが終了するため、それ以上料金は発生しません。