Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS Codeシリーズを使って、CI/CDを実現しましょう
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
三与木 輝
September 17, 2026
2
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS Codeシリーズを使って、CI/CDを実現しましょう
AWS CodeシリーズでCI/CDを実現する方法について、そもそもCI/CDとは何なのか、全体構成図、AWS Codeシリーズ1つ1つについてなどを解説しました。
三与木 輝
September 17, 2026
More Decks by 三与木 輝
See All by 三与木 輝
非機能要件対応でCloudWatch LogsのS3エクスポートを担当したら、最も簡単だと思っていた方法が意外と大変だった話
miruky
1
110
AWS MCP Serverとは
miruky
0
13
SMS送信の新たな選択肢、AWS End User Messaging SMSのご紹介
miruky
0
130
JAWS-UG_2026_3_16登壇資料.pdf
miruky
1
410
Featured
See All Featured
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
300
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Leo the Paperboy
mayatellez
10
2.3k
A designer walks into a library…
pauljervisheath
211
25k
RailsConf 2023
tenderlove
30
1.5k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Designing Experiences People Love
moore
143
24k
Code Review Best Practice
trishagee
74
20k
How to make the Groovebox
asonas
2
2.4k
Embracing the Ebb and Flow
colly
88
5.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Transcript
AWS Codeシリーズを使って、 CI/CDを実現しましょう 2026年9月18日 AWS25卒勉強会 in NEC Innovation Park(10分LT) 三与木
輝
自己紹介 都内IT企業勤務の社会人2年目エンジニア 業務領域 AWSを使用したインフラの設計・構築 たまにバックエンド開発 (Lambda等) 好きなAWSサービス DynamoDB 三与木 輝
25卒(歴史学科卒) 新卒2年目インフラエンジニア 保有資格 2026 Japan AWS Jr. Champion 2026 Japan All AWS Certifications Engineer IPA ネットワークスペシャリスト IPA 情報処理安全確保支援士試験合格 LPIC-3、など 2 / 39
目次 3 / 39 1. CI/CDとは 2. AWSでCI/CDを実現する全体構成図 3. AWS
Codeシリーズのそれぞれの役割
1.CI/CDとは 2.AWSでCI/CDを実現する全体構成図 3.AWS Codeシリーズのそれぞれの役割 4 / 39
ソフトウェアを開発するうえで、手作業では起こりやすい確認漏れや配置ミスを、 決めた手順を自動実行することで防ぐのがCI/CDです。 5 / 39 出典: AWS公式ドキュメント
具体的にはCIは変更をビルドやテストで検証し、CDは検証済みの変更を 環境へ反映する役割があります。 CI: Continuous Integration (継続的インテグレーション) 6 / 39 CD:
Continuous Delivery / Deployment (継続的デリバリー) 出典: AWS公式ドキュメント
1.CI/CDとは 2.AWSでCI/CDを実現する全体構成図 3.AWS Codeシリーズのそれぞれの役割 7 / 39
AWSサービスだけでCI/CDを組んだ全体構成は、例えば下記のようになります。 ソースコードリポジトリの役割はAWS CodeCommitが担います。 8 / 39 出典: AWS公式ドキュメント
GitHubなど外部のソースコードリポジトリを使用する場合は、AWS側で接続を 用意し、以降は主にAWS Codeシリーズを用いてCI/CDを実現します。 9 / 39 出典: AWS公式ドキュメント
1.CI/CDとは 2.AWSでCI/CDを実現する全体構成図 3.AWS Codeシリーズのそれぞれの役割 10 / 39
AWS CodeConnections 11 / 39
先ほど登場したAWSから外部ソースコードリポジトリへの接続を作ってくれる のは、AWS CodeConnectionsです。 接続作成画面でGitHubを選び、認可して接続を作成! 余談:AWSマネコンには「接続」、としか書いてないので、 もしかしたらあまり意識していないかも 12 / 39 出典:
AWS公式ドキュメント
AWS CodeCommit 13 / 39
続いてAWS CodeCommitは、AWS内でGitリポジトリ(ソースコード)を管理 します。AWS版のGitHubみたいなものです。 AWSで管理するメリットとして、①IAMでアクセスを制御、②CloudTrailでAPI操作を記録などが利用できるところが あります。ちなみに、AWS CodeCommitは2024年7月に一回新規顧客向け提供は停止され、そのあと2025年11月に GA復帰しました。今では誰でも利用できます。 14 / 39
出典: AWS公式ドキュメント
AWS CodeBuild 15 / 39
そもそもビルドとは、ソースコードを実行・配布できる形(成果物)に加工する 工程です。 開発用のソースコード ビルド 依存関係の準備 コンパイル・変換 配布用ファイルの作成 実行・配布用の成果物 例) TypeScriptのWebアプリ
src/main.ts PythonをZIPで配布する例 app.py + requirements.txt 16 / 39 JavaScriptへ変換 dist/web/main.js 依存ライブラリとまとめる application.zip 出典: AWS公式ドキュメント
AWS CodeBuildは、buildspec.ymlというYAMLの設定ファイルに従って、 AWS上で「ビルド」、「テスト」を行います。 ソースコード一式 + buildspec.yml(設定ファイル、後述) 実行環境を起動 指定された処理を実行 AWS CodeBuild
成功 / 失敗を判定 成果物:配布用ファイル、テスト結果、実行ログなど 17 / 39 出典: AWS公式ドキュメント
buildspec.ymlでは、CodeBuildで実行する手順を書きます。 YAMLで記載するので非常に読みやすいです。 buildspec.yml install 01 依存関係を準備 02 03 04 05
06 07 08 09 10 11 12 13 14 15 18 / 39 version: 0.2 phases: install: commands: [npm ci] pre_build: commands: [npm test] build: commands: - npm run build - cp appspec.yml dist/ - cp -r scripts dist/ artifacts: base-directory: dist files: - '**/*' pre_build テストを実行 build Webをビルドし、 配置指示とHookを同梱 artifacts dist/の中身を BuildArtifactとして出力 出典: AWS公式ドキュメント
AWS CodeDeploy 19 / 39
AWS CodeDeployは、BuildArtifactを実行環境へ反映します 上の例はEC2です。もちろんECSやLambdaでもできます。 20 / 39 出典: AWS公式ドキュメント
CodeDeployで使用されるappspec.ymlは、配置先とデプロイ中の 処理を伝える役割を持ちます。 appspec.yml files 01 version: 0.0 02 os: linux
web/を配置先へコピー 03 files: 04 - source: /web 05 destination: /var/www/html BeforeInstall 06 hooks: 07 BeforeInstall: ApplicationStart 08 - location: scripts/install_dependencies.sh 09 ApplicationStart: サービスを起動 10 - location: scripts/start_server.sh 11 ValidateService: 12 - location: scripts/validate_service.sh buildspec.yml = ビルド手順 / 21 / 39 配置前の準備 ValidateService 起動後の動作を確認 appspec.yml = 配置先とHook 出典: AWS公式ドキュメント
AWS CodePipeline 23 / 39
AWS CodePipelineでは、処理の段階をステージに分け、その中に実行する アクションを配置することで、CI/CDパイプラインを構築します。 AWS CodePipeline 24 / 39 Source Stage
Build Stage Approval Stage Deploy Stage Action Action Action Action ステージ(Stage) アクション(Action) 処理を目的ごとに分けた単位 Stageの中で実行する個々の処理 出典: AWS公式ドキュメント
CodePipelineの各ステージのアクション例は下記の通りとなります。 AWS CodePipeline Source Stage Build Stage Approval Stage Deploy
Stage Action Action Action Action 手動承認 or 自動通過 CodeConnections経由で GitHubから取得 または CodeCommitから取得 25 / 39 AWS CodeBuild AWS CodeDeploy 出典: AWS公式ドキュメント
さらにCodePipelineでは、アクション間でArtifactと呼ばれるファイル一式を 受け渡し、S3に保存します。 Source Stage 26 / 39 Build Stage リポジトリの中身一式
デプロイ用ファイル一式 Deploy Stage ↑ちなみにCodePipeline側の名称はArtifact Storeですが、 これは普通のS3バケットです。特別な箇所に保存されるわけでは無いです。 出典: AWS公式ドキュメント
ここまでをまとめると、GitHubを使用したCI/CD構成はこうなります。 28 / 39 出典: AWS公式ドキュメント
Sourceを替えると、CodeCommitを使用したAWSサービスのみ構成 になります 29 / 39 出典: AWS公式ドキュメント
AWSでCI/CDを実現して、 良きクラウドエンジニアライフを送りましょう〜!! 30 / 39 出典: AWS公式ドキュメント
Appendix
Code系サービスは、用途に応じて組み合わせます 本編のサービス 周辺の機能 CodeCommit CodeArtifact Git Repository Package Repository CodeConnections
CodeGuru Profiler 外部Gitとの接続 実行時の性能分析 CodePipeline CodeStar Notifications 工程の進行管理 開発イベント通知 CodeBuild Build / Test CodeDeploy 名称変更・利用制限・終了状況は、 後続ページで個別に確認します。 実行環境への反映 32 / 39 AWS公式資料
CodeArtifactは、依存Packageや社内Packageを保管します 33 / 39 CodeArtifact S3 Artifact Store 依存Package・社内Packageの保管 PipelineのAction間で渡すファイルの保管
AWS公式資料
CodeGuru Profilerは、実行中アプリの性能を分析します Java / JVM・Pythonの実行時性能を分析します 34 / 39 AWS公式資料
CodeStar Notificationsは、開発イベントを担当者へ通知します CodeCommit / CodeBuild / CodeDeploy / CodePipelineのイベントが対象です 35
/ 39 AWS公式資料
ReviewerとCodeCatalystは、新規利用の制限を確認します CodeGuru Reviewer 2025-11-07から、新しいRepository associationを作成不可 既存の関連付けは継続 / 新機能追加は予定なし Amazon CodeCatalyst
2025-11-07から、新規顧客・新しいSpaceの作成を受付終了 既存Spaceは継続 / AWSが移行ガイドを公開 36 / 39 AWS公式資料
CodeStar Connectionsは、CodeConnectionsへ名称変更されました 旧Prefixが残るResource・IAM Policyは、実際の値を確認します 37 / 39 AWS公式資料
CodeWhispererは、Amazon Q Developerの一部になりました 単純な名称変更ではなく、Amazon Q Developerへの機能統合です 38 / 39 AWS公式資料
終了済みサービスと、継続中の関連機能は下記のようになります 39 / 39 AWS CodeStar 2024-07-25 全面終了 CodeStar Notifications
継続中 / 開発イベント通知 CodeStar Connections CodeConnectionsへ名称変更 CodeGuru Security 2025-11-20 終了 AWS公式資料