View a markdown version of this page

での 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と を使用して自動化できますCloudFormation。NFV ドメインでは、この AWS ネイティブオートメーションを Management and Orchestration (MANO) フレームワークと CSP のサービスオーケストレーションフレームワークに統合できます。

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

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

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

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

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

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

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

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