Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
さくらのクラウド AppRun と GitHub Actions でお手軽サーバレス構築
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
cyokozai
October 27, 2025
Technology
2
110
さくらのクラウド AppRun と GitHub Actions でお手軽サーバレス構築
さくらのクラウドの新しいアプリケーション実行基盤である「AppRun(ベータ版)」を使用して、サーバレスアプリケーションを構築する方法を解説する
cyokozai
October 27, 2025
Tweet
Share
More Decks by cyokozai
See All by cyokozai
塩漬けになったVM それ、Kubernetesで動かせますよ
yusuke427
1
200
KubeVirt の Live Migration をやってみる | Try KubeVirt's Live Migration on Nekko Cloud
yusuke427
1
620
学生プライベートクラウドはKubeVirt の夢を見るか?
yusuke427
1
120
SREについて学ぶスリーシェイクのインターン
yusuke427
1
180
学生サークルで開発するVMプロビジョニングツール
yusuke427
1
110
Juliaを書いていて「便利だな〜」と 思ってたらスライド出来上がってた
yusuke427
1
71
あした話したくなるSREとPlatform Engineering
yusuke427
2
140
Terraform × cloud-init で VM のセットアップをいい感じにする話
yusuke427
1
2.4k
Other Decks in Technology
See All in Technology
GitHub Copilot CLI を使いやすくしよう
tsubakimoto_s
0
110
コミュニティが変えるキャリアの地平線:コロナ禍新卒入社のエンジニアがAWSコミュニティで見つけた成長の羅針盤
kentosuzuki
0
130
StrandsとNeptuneを使ってナレッジグラフを構築する
yakumo
1
130
Bedrock PolicyでAmazon Bedrock Guardrails利用を強制してみた
yuu551
0
260
Why Organizations Fail: ノーベル経済学賞「国家はなぜ衰退するのか」から考えるアジャイル組織論
kawaguti
PRO
1
220
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1.1k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
93k
SchooでVue.js/Nuxtを技術選定している理由
yamanoku
3
210
今日から始めるAmazon Bedrock AgentCore
har1101
4
420
20260208_第66回 コンピュータビジョン勉強会
keiichiito1978
0
200
OCI Database Management サービス詳細
oracle4engineer
PRO
1
7.4k
コスト削減から「セキュリティと利便性」を担うプラットフォームへ
sansantech
PRO
3
1.6k
Featured
See All Featured
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
130
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
BBQ
matthewcrist
89
10k
Into the Great Unknown - MozCon
thekraken
40
2.3k
The Cost Of JavaScript in 2023
addyosmani
55
9.5k
Designing for Performance
lara
610
70k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
110
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
270
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
220
Navigating Weather and Climate Data
rabernat
0
110
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
450
Transcript
さくらのクラウド AppRun と GitHub Actions で お手軽サーバレス構築 井上 裕介
井上 裕介 a.k.a cyokozai 千葉工業大学大学院 情報科学研究科 情報工学専攻 修士1年 ❏ ネットワークコンテンツ研究会
Nekko Cloud Team ❏ 株式会社スリーシェイク sreake事業部 学生インターン
1. さくらのクラウド AppRun 2. 手動でサーバレスへデプロイ 3. GitHub Actions による継続デプロイ 4.
感想 アジェンダ
さくらのクラウド AppRun
AppRun β https://cloud.sakura.ad.jp/lp/apprun/ • Scale to Zero • マネージドサービス •
カナリアリリース
手動でサーバレスへ デプロイ
今回デプロイしたアプリケーション https://github.com/yannh/kubeconform Kubeconform • マニフェストのバリデーション を行ってくれるCLIツール • 各CRDに対応可能 • Kubernetesのスキーマ情報を
元に型チェックなどを行う
• YAMLを貼り付け/選択 • 「判定を実行」でPOST • 結果判定を表示 ◦ true ◦ error
手動デプロイの手順 1. コンテナレジストリ作成 2. 使用するイメージをCRへ Push 3. アプリを作成 (GUI操作) 4.
デプロイ完了
ログイン → AppRun β
新たにコンテナレジストリを作成
None
各種設定とユーザ登録
コンテナレジストリにイメージをプッシュ # CRにログイン docker login kubeconformserver.sakuracr.jp # イメージをbuildする docker build
-f Dockerfile -t kubeconformserver.sakuracr.jp/kubeconformserver:latest . # sakuracr.jpにpushする docker push kubeconformserver.sakuracr.jp/kubeconformserver:latest
Q. DockerHubを直接使いたいんだけど....? • AppRun βで利用できるコンテナレジストリはさくらのクラウドが 提供しているコンテナレジストリ (OCI準拠) のみ • DockerHubやGitHub
Container Registoryのイメージを使用する場合は、 一度ローカルにPullした上でさくらのクラウドにPushする必要がある
アプリケーションの作成
各種設定 https://manual.sakura.ad.jp/cloud/apprun/glossary.html
各種設定 さくらのコンテナ レジストリからPull 認証情報の設定 vCPU使用量の上限 (0.1~1 コア) メモリー使用量の上限 (256MiB~2GiB) アプリケーション名
ポート番号 ヘルスチェックの設定 (10秒ごとの監視) 環境変数の定義 インスタンス数の 自動調整範囲 同時リクエスト数 リクエストタイムアウト https://manual.sakura.ad.jp/cloud/apprun/glossary.html
デプロイ完了🙌
• ログ • メトリクス ◦ 平均リクエスト数 ◦ CPU ◦ メモリ
簡単な監視も可能
もっとCloud Nativeで ラクしたい!🥺
GitHub Actions による 継続デプロイ
• GoアプリケーションをさくらのAppRunにデプロイする フローを自動化するためのComposite Actions → Dockerfileがなくてもデプロイ可能 • 登録されたオブジェクトストレージのバケットに SQLite レプリカの作成
→ データ永続化 GitHub Actions: sacloud_apprun_actions
自動デプロイの処理の流れ
ワークフロー name: Kubeconformserver - Sacloud AppRun Actions on: push: branches:
- main workflow_dispatch: jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Deployment id: deploy uses: ippanpeople/
[email protected]
with: use-repository-dockerfile: true app-dir: ./src sakura-api-key: ${{ secrets.SAKURA_API_KEY }} sakura-api-secret: ${{ secrets.SAKURA_API_SECRET }} container-registry: ${{ secrets.REGISTRY }} container-registry-user: ${{ secrets.REGISTRY_USER }} container-registry-password: ${{ secrets.REGISTRY_PASSWORD }} port: '8080'
Name Value REGISTRY コンテナレジストリの URL REGISTRY_USER コンテナレジストリのユーザー名 REGISTRY_PASSWORD コンテナレジストリのパスワード SAKURA_API_KEY
さくらの API キー SAKURA_API_SECRET さくらの API シークレット STORAGE_BUCKET_NAME オブジェクトストレージのバケット名 STORAGE_ACCESS_KEY オブジェクトストレージのアクセスキー STORAGE_SECRET_KEY KEY オブジェクトストレージのシークレットキー GitHubにシークレットを登録 リポジトリのSettings > Secrets and variablesから各種設定を入力
デプロイ完了 (2回目) 🙌
バージョンごとに荷重ルーティングが可能
実践 (30秒くらい時間使う)
感想
良かった点 • シンプルな設定項目 • GitHub Actionsを使用したCI/CDの構築 • Terraform使用可能 • FaaSとして簡易的なジョブを投げるのにはちょうど良い
改善してほしい点 • さくらのコンテナレジストリ (sakuracr.jp) 以外は不可 • 非httpエンドポイント, 複数ポート非対応 • 監視項目をカスタム
• Web UI の細かな修正
Thank you for yourkind attention! kubeconfirmserver リポジトリ公開中 ⇨ kubeconfirmserver 公開中
⇨