AWS OpsWorks スタック (Chef 11 スタック) での AWS CodePipeline の使用 - AWS OpsWorks

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

AWS OpsWorks スタック (Chef 11 スタック) での AWS CodePipeline の使用

重要

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

AWS CodePipeline により、トラックコードがCodeCommit、Amazon Simple Storage Service (Amazon S3)、GitHub などのソースから変更される継続的デリバリーパイプラインを作成できます。このトピックの例では、CodePipeline からシンプルなパイプラインを作成し、AWS OpsWorks スタックレイヤーで実行するコードのデプロイツールとして使用する方法を説明します。この例では、シンプルな PHP アプリケーション用のパイプラインを作成し、Chef 11.10 スタック (この場合は、単一インスタンス) の 1 つのレイヤーのすべてのインスタンスに対してそのアプリケーションを実行するように、AWS OpsWorks スタックに指示しています。

注記

このトピックでは、パイプラインを使用して Chef 11.10 スタックでアプリケーションを実行および更新する方法について説明します。パイプラインを使用して Chef 12 スタックでアプリケーションを実行および更新する方法については、「AWS OpsWorks スタック (Chef 12 スタック) での AWS CodePipeline の使用」を参照してください。Amazon S3 バケットに配信されるコンテンツには、カスタマーコンテンツが含まれている場合があります。機密データの削除の詳細については、「S3 バケットを空にする方法」または「S3 バケットを削除する方法」を参照してください。

前提条件

このウォークスルーを開始する前に、以下のすべてのタスクを実行するための管理者権限があることを確認してください。[AdministratorAccess] ポリシーが適用されているグループのメンバーになることができるか、次の表に示された権限やポリシーを持つグループのメンバーになることができる。セキュリティのベストプラクティスとして、必要な権限を個別のユーザーアカウントに割り当てるのではなく、次のタスクを実行する権限を持つグループにユーザーが属している必要があります。

IAM でセキュリティグループを作成し、権限をグループに割り当てる方法の詳細については、「Creating IAM User Group」(IAM ユーザーグループの作成) を参照してください。AWS OpsWorks スタック権限の管理の詳細については、「ベストプラクティス: アクセス権限の管理」を参照してください。

許可 グループにアタッチすることが推奨されるポリシー

AWS OpsWorks スタックでスタック、レイヤー、インスタンスを作成して編集します。

AWSOpsWorks_FullAccess

AWS CloudFormation でテンプレートを作成、編集、実行します。

AmazonCloudFormationFullAccess

Amazon S3 バケットの作成、編集、アクセスを行います。

AmazonS3FullAccess

CodePipeline でパイプラインを作成、編集、実行します (特に、プロバイダーとして AWS OpsWorks スタックを使用するパイプライン)。

AWSCodePipeline_FullAccess

Amazon EC2 キーペアも備える必要があります。このウォークスルーでサンプルのスタック、レイヤー、インスタンスを作成する AWS CloudFormation テンプレートを実行する際に、このキーペアの名前を指定するように求められます。Amazon EC2 コンソールでのキーペア 取得の詳細については、Amazon EC2 ドキュメントの「Create a Key Pair」(キーペアの作成) を参照してください。キーペア は、米国東部 (バージニア北部) リージョンにある必要があります。そのリージョンに既存のキーペアがある場合は、そのキーペアを使用できます。

サポートされている他のシナリオ

このウォークスルーでは、[Source] を 1 つ、[Deploy] ステージを 1 つ含むシンプルなパイプラインを作成します。AWS OpsWorks スタックをプロバイダーとして使用する、より複雑なパイプラインを作成することもできます。サポートされているパイプラインとシナリオの例を以下に示します。

  • パイプラインを編集し、Chef クックブックを [Source] ステージに、更新されたクックブックの関連ターゲットを [Deploy] に追加できます。この場合は、ソースを変更した際にクックブックの更新をトリガーする [デプロイ] アクションを追加します。更新されたクックブックは、アプリの前にデプロイされます。

  • カスタムクックブックと複数のアプリケーションを使用する複雑なパイプラインを作成して、AWS OpsWorks スタックのスタックにデプロイできます。パイプラインはアプリケーションソースとクックブックソースの両方の変化を追跡し、変更を行った際に再デプロイを行います。同様の複雑なパイプラインの例を以下に示します。

CodePipeline の使用方法の詳細については、「CodePipeline」を参照してください。