Skip to content

Blog

Ubuntu に「Rust Tools apt repo」をインストールする

昨今、様々なツールが Rust で提供されています。 一例ですが、下記などです。

余談ですが、Rustで進化するPayPayのスケーラビリティ によると PayPay も「Java + NodeJS」から「Rust」へ移行しているそうです。

Rust Tools apt repo (GitHub リポジトリはこちら) を利用すると、Debian / Ubuntu へ apt を利用して幾つかの Rust 製ツールをインストール出来ます。 Rust 製ツールであれば Cargo で管理出来ますが、OS のパッケージも Rust 製ツールも全てを apt で扱えれば管理が楽になります。 今回はこの Rust Tools apt repo を Ubuntu で利用出来るようにする手順をメモしておきます。

AWS CloudFront のオリジンに IP アドレスは指定出来ない

現時点で AWS CloudFront で実際のコンテンツを配信するオリジンには IP アドレスを直接、指定することは出来ません。

file

Distribution settings reference には以下の記載があります。 「直接、IP アドレスを指定することは出来ない」と書かれているわけでは無いようですが、「DNS ドメイン名を指定しろ」という記載には読めます。

The origin domain is the DNS domain name of the resource where CloudFront will get objects for your origin, such as an Amazon S3 bucket or HTTP server. For example:

  • Amazon S3 bucket – amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com

CML の IOS / IOSvL2 初期コンフィグのバナーを削除する

CML 上で IOSv や IOSvL2 を起動すると、明示的に設定していなくても自動的にバナーの設定が追加されてしまいます。 挙動に影響するわけではありませんが、show running-config を確認する度に「バナー分のコンフィグが長くなって表示される」という点がややデメリットです。 今回はこのバナーを EEM (Embedded Event Manager) を使って自動的に削除するコンフィグ例をメモしておきます。

尚、今回の設定を実施してバナー設定を削除する前後でコンフィグ全体の業務は概ね、以下の差がありました。

OS 変更前 (初期状態) 変更後 (EEM 追加後) 差分
IOSv 138 111 -27
IOSvL2 112 85 -27

AWS Organizations へ 既存の AWS アカウントを追加する

新規に AWS アカウントを作成すると、通常はスタンドアロンアカウントになります。 スタンドアロンアカウントはアカウント毎に「請求情報を管理する」「ユーザ権限を管理する」必要があります。 組織や企業で AWS を利用し、アカウント数が増えてくるとスタンドアロンアカウントでは集中管理出来ず、管理コストが大きくなります。

AWS Organizations を使うと「ひとつの管理アカウント」と「複数のメンバーアカウント」に分けて集中的に AWS アカウントを管理することが出来ます。 請求は全て「管理アカウント」に対して行われます。

また、スタンドアロンアカウントは新規作成時に「認証」「請求情報の入力」が必須になり、手間と時間がかかります。 対して AWS Organizations にメンバーアカウントを追加する際は請求情報などの入力は不要である為、非常に簡単です。 メンバーアカウントは「新規追加 (作成) する」ことも出来ますが、「既存のスタンドアロンアカウントを追加する」ことも可能です。 今回は「AWS Organizations へ既存のスタンドアロンアカウントを追加する」手順をメモしておきます。

mise + uv + ruff + task + mypy で Python 環境を構築する

以下のツールを組み合わせて Python 環境を構築する為の準備手順をメモしておきます。

ツール 対象 概要
mise なんでも 各種ツールのバージョンマネージャ
Task なんでも タスクランナー
uv Python ライブラリを管理するパッケージマネージャ
Ruff Python 静的コード解析ツール
mypy Python 型チェックツール

AWS で IAM ユーザに請求情報へのアクセス許可を付与する

AWS で root ユーザ以外の IAM ユーザが請求情報にアクセスする為にはアカウント情報の設定変更が必要になります。 今回は「アカウント設定を変更し、IAM ユーザでも請求情報にアクセス出来る設定変更手順」をメモしておきます。 勿論、リスクもありますので自己責任で設定してください。

Python で BOX へ JWT 認証ログインするサンプルスクリプト

Python から BOX へアクセスする方法は以下などが考えられます。

No. 方法 GitHub ページ 補足
1 REST API を直接、呼び出す - 抽象化されていない為、利用がやや大変
2 Pythoh SDK を利用する Box Python SDK サポート終了予定
3 Python SDK (Generated) を利用する Box Python SDK GENERATED 今後の主流?

2 番目の Python SDK は Python SDK (公式サポート終了) のインストール ページで以下のように記載されており、サポート終了予定です。 今後、積極的に利用するのは躊躇われます。

Python SDKは、現在メンテナンスモードであり、まもなく公式サポートが終了する予定です。つまり、実装されるのは重要なセキュリティ更新プログラムとバグ修正のみになります。自動生成されたPython SDKを使用することをお勧めします。

3 番目の Python SDK (Generated) は Python SDK (Generated) のインストール ページで以下のように記載されています。

Pythonプロジェクトでは、自動生成されたBox Python SDKを使用してBox APIを呼び出すことができます。この次世代のSDKには、開発者エクスペリエンスを向上させ、Boxコンテンツクラウドとの統合を効率化することを目的とした新機能が備わっています。

今回は Python SDK (Generated) を利用し、Python から Box へ JWT 認証ログインするサンプルスクリプトをメモしておきます。