はじめに
StackScriptsを利用しようとした時に以下エラーが出ました。
Service unavailable [1.10]
利用していたBash
シンプルなbashなので構文エラーで登録ができない等はないはず。
そして、シンプルが売りのlinodeにそんな機能が存在するとは思えない・・・
#!/bin/bash
# Ubuntuの更新とアップグレード
echo "システムの更新とアップグレードを行います..."
apt-get update && apt-get upgrade -y
# 日本語環境の設定
echo "日本語環境を設定します..."
apt-get install -y language-pack-ja
update-locale LANG=ja_JP.UTF-8
timedatectl set-timezone 'Asia/Tokyo'
localectl set-locale LANG=ja_JP.UTF-8
エラーの原因
スクリプトに「日本語」が含まれていた為。
日本語の文字列を英語に変更したら、問題なく保存できました。
linodeでは、英語、数字、記号しか利用ができないようです。
#!/bin/bash
# Ubuntu update and upgrade
echo "Updating and upgrading system..."
apt-get update && apt-get upgrade -y
# Japanese locale settings
echo "Setting up Japanese locale..."
apt-get install -y language-pack-ja
update-locale LANG=ja_JP.UTF-8
timedatectl set-timezone 'Asia/Tokyo'
localectl set-locale LANG=ja_JP.UTF-8
気づいた理由
ラベルに日本語を入れて保存しようとすると以下エラーになった為
Label contains illegal characters - only alphanumeric, punctuation, and spaces are allowed.
→ラベルに不正な文字が含まれている - 許可されるのは英数字、句読点、スペースのみです。
おまけ
- Descriptionのセクションには日本語が保存できまたが、文字化けして登録されます。
このスクリプトは、日本語環境化するためのものです。
→????????????????????????? となりました。文字数自体は双方25文字でした。
- StackScriptsドキュメント
https://techdocs.akamai.com/cloud-computing/docs/stackscripts
最後に
海外系サービス特有の落とし穴でした。
日本語の情報が出てこなかったので、どなたかの参考になれば幸いです。