こんにちは、AWS事業本部の平木です!
以前、FastlyとS3を使用して静的コンテンツの配信する環境を構築してみました。
調べてみると、FastlyのCDNサービスはコマンドラインツールでも作成可能なようなので、
今回はFastlyのコマンドラインツールであるFastly CLIのインストールとFastly CLIからCDNサービスを構築してみました。
Fastly CLIのインストール
Fastly CLIはMacOS、Windows、Linuxと複数のOSで使用可能です。
今回はAWS CloudShellにインストールしてみたいと思います。
まず下記リリースノートから最新バージョンの.rpm
ファイルをダウンロードします。
2024年2月25日現在時点では、10.8.3
が最新なためこのバージョンのパッケージをダウンロードします。
~$ wget https://github.com/fastly/cli/releases/download/v10.8.3/fastly_10.8.3_linux_amd64.rpm
ダウンロードしたファイルを使ってインストールします。
~$ sudo dnf install fastly_*_linux_amd64.rpm
これでインストールは完了です!
バージョンの確認
Fastly CLIのバージョンを確認するには下記コマンドで確認できます。
~$ fastly version
Fastly CLIのバージョンが古い場合は下記のようなメッセージが出ます。
[cloudshell-user@ip-10-130-48-50 ~]$ fastly version
Fastly CLI version v10.8.2 (a42020cf)
Built with go version go1.22.0 linux/amd64 (2024-02-25)
A new version of the Fastly CLI is available.
Current version: 10.8.2
Latest version: 10.8.3
Run `fastly update` to get the latest version.
[cloudshell-user@ip-10-130-48-50 ~]$
Fastly CLIを最新のバージョンに更新したい場合は下記コマンドで実施できます。
~$ fastly update
更新時は/usr/local/bin/fastly
への権限を有するユーザー(rootユーザーなど)である必要があるため必要に応じてsudoを頭へ付けるなどしてください。
プロファイルの設定
Fastly CLIを使用して操作を行うには。認証情報を設定する必要があります。 認証情報の使用方法は以下3種類があります。
fastly profile create
コマンドの実行(推奨)- 対話型プロンプトに従って設定する方法です。
--token
または-t
のフラグの使用- 実行するコマンドに明示的にトークンを指定する方法です。
FASTLY_API_TOKEN
の環境変数を設定する方法
今回はfastly profile create
コマンドの実行で設定してみます。
APIトークンの取得
APIトークンは下記URLより確認できます。
https://manage.fastly.com/account/personal/tokens
まず右上の「Create Token」を選択します。
続いて追加の認証を実施します。
追加の認証が完了したら、下記の通りAPIトークンの使用用途や権限について設定を行います。
入力できたら「Create Token」を押下するとAPIトークンが発行できます。
※トークンは後で確認はできないため必ず控えておいてください。
APIトークンの反映
APIトークンを今度コマンドラインツールから登録します。
Fastly API token:
の後に入力を求められるためここに先ほどのAPIトークンを設定すると完了です。
[cloudshell-user@ip-10-132-67-30 ~]$ fastly profile create
An API token is used to authenticate requests to the Fastly API. To create a token, visit
https://manage.fastly.com/account/personal/tokens
Fastly API token: XXXXXXXXXXXXXXXX ←ここに入力(NoEcho)
✓ Validating token
✓ Getting user data
✓ Persisting configuration
You can find your configuration file at:
/home/cloudshell-user/.config/fastly/config.toml
SUCCESS: Profile 'user' created
[cloudshell-user@ip-10-132-67-30 ~]$
これで準備完了です。
CLIでサービスを作成してみる
Fastly CLIのリファレンスは下記となるのでこちらを参照します。
Fastly CDNを構築するためにはまずサービスを作成する必要があるため下記コマンドを実行します。
--name
オプションは指定しなくても大丈夫ですが、自動で名前が付与されます。
fastly service create --name (サービス名)
続いてサービス内にCDNの設定を行います。
まずは、ドメインの設定です。
バージョンの指定は必須です。
fastly domain create \
--version latest \
--name (Fastly CDNのドメイン) \
--service-name (作成したいサービス名)
サービスのバックエンドを下記コマンドで作成します。
こちらもバージョンの指定は必須です。
fastly backend create \
--version latest \
--address (オリジンのFQDN) \
--name (作成したいバックエンド名) \
--service-name (作成したいサービス名)
最後アクティベートが必要なので下記コマンドを実行します。
fastly service-version activate \
--version latest \
--service-name (作成したサービス名)
以上で作成が完了です。
片づけ
基本、サービスの無効化をしてから削除することになりますが、
強制的に削除するオプション--force
を指定することでアクティブな状態でサービスを丸ごと削除できます。
fastly service delete \
--service-name (作成したサービス名) \
--force
参考
- Create and manage Fastly resources with the Fastly CLI | Fastly Documentation
- Fastly CLI | Fastly Documentation
おわりに
今回は、Fastly CLIの導入と実際に使ってみるところまで実施してみました。
Fastlyのサービスは、今回ご紹介したようにコマンドラインツールで構築することや、
後日執筆したいと考えているTerraformでのデプロイも可能です。
ぜひコンソール以外でのデプロイやリソース管理を行いたい場合は使用してみていただければと思います。
この記事がどなたかの役に立つと嬉しいです。