での CI/CD AWS - AWS での 5G ネットワークの継続的な統合と継続的な配信

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

での CI/CD AWS

CI/CD はパイプラインとして表現できます。パイプラインでは、新しいコードが一端に送信され、一連のステージ (ソース、ビルド、テスト、ステージング、本番稼働) でテストされ、本番環境に対応したコードとして公開されます。

AWS コードパイプラインの例を示す図

CICD パイプラインの概要

CI/CD パイプラインの各ステージは、配信プロセスの論理ユニットとして構造化されます。各ステージは、コードの特定の側面を検証するゲートとして機能します。コードがパイプラインを進むにつれて、コードの品質は後続の段階で高くなると想定されます。これは、コードのより多くの側面が検証され続けるためです。初期段階で発見された問題により、コードがパイプラインを通過しなくなります。テストの結果はすぐにチームに送信され、ソフトウェアがステージに合格しない場合、以降のビルドとリリースはすべて停止します。

AWS には、ソフトウェア開発とリリースサイクルを高速化するための CI/CD 開発者ツールの完全なセットが用意されています。 は、定義されたリリースモデルに基づいて、コードが変更されるたびにリリースプロセスの構築、テスト、デプロイのフェーズAWS CodePipelineを自動化します。これにより、機能と更新を迅速かつ確実に配信できます。

コードパイプラインは、他の サービスと統合できます。これらは、Amazon Simple Storage Service (Amazon S3) などの AWS サービスでも、GitHub などのサードパーティー製品でもかまいません。 は、次のようなさまざまな開発および運用のユースケースに対処 AWS CodePipeline できます。

  • を使用したコードのコンパイル、構築、テスト AWS CodeBuild

  • クラウドへのコンテナベースのアプリケーションの継続的な配信

  • ネットワークサービスまたは特定のクラウドネイティブネットワーク機能に必要なアーティファクト (記述子やコンテナイメージなど) のデプロイ前検証

  • ベースラインテストと回帰テストを含む、コンテナ化されたネットワーク機能/仮想ネットワーク機能 (CNF/VNF) の機能テスト、統合テスト、パフォーマンステスト

  • 信頼性とディザスタリカバリ (DR) テスト。

AWS CICD パイプラインコンポーネントを示す図

AWS CICD パイプラインコンポーネント

AWS では、次の AWS デベロッパーツールを使用して CI/CD パイプラインを設定できます。

CI/CD パイプラインの作成は、 AWS CDKと を使用して自動化できますAWS CloudFormation。NFV ドメインでは、この AWS ネイティブオートメーションを Management and Orchestration (MANO) フレームワークと CSP のサービスオーケストレーションフレームワークに統合できます。

CI/CD プロセスには、次のステップが含まれます。

  • ネットワークのセットアップ - AWS CDK ネットワーク前提条件の作成 AWS CloudFormation を開始します。

  • インフラストラクチャのデプロイ — AWS CDK 次のリソーススタックの作成 AWS CloudFormation を開始します。

  • クラウドネットワーク機能 (CNF) のデプロイ – この段階では、Kubectl および Helm チャートツールを使用して CNF が EKS クラスターにデプロイされます。このステージでは、CNFsするために必要な特定のアプリケーションやツール (Prometheus Fluentd など) もデプロイします。CNFsは、Lambda 関数を介してデプロイすることも、 を使用してデプロイすることもできます AWS CodeBuild。

  • 継続的な更新とデプロイ — これらは、コンテナ/設定の変更の一部である変更をデプロイしてアップグレードするために繰り返し実行される一連のステップです。CNF デプロイケースと同様に、継続的な更新とデプロイは、、Amazon Elastic Container Registry (Amazon ECR)AWS CodeCommit、または GitLab Webhooks などのサードパーティーソースシステムからトリガーして、 AWS サービスを使用して自動化できます。

AWS CICD パイプラインフローを示す図。

AWS CICD パイプラインのフロー図

CI/CD パイプラインは を使用して構築されAWS CodePipeline、ソフトウェアのリリースに必要なステップをモデル化、視覚化、自動化する継続的な配信サービスを利用します。パイプラインのステージを定義することで、ソースコードリポジトリからコードを取得し、そのソースコードをリリース可能なアーティファクトに構築し、アーティファクトをテストして、本番環境にデプロイできます。これらのすべてのステージを正常に通過したコードのみがデプロイされます。必要に応じて、手動承認などの他の要件をパイプラインに追加して、承認された変更のみが本番環境にデプロイされるようにできます。