AWSとRaspberry Piを組み合わせてハイブリッドクラウド環境を構築する方法
自宅のRaspberry PiとAWSを連携させて、柔軟でスケーラブルなハイブリッドクラウド環境を構築する方法をご紹介します。今回は、Raspberry Pi上のデータをAWSのS3にバックアップする手順を説明します。
手順概要
- AWS S3バケットの作成
- Raspberry PiでのAWS CLIインストールと設定
- ローカルディレクトリとS3バケットの同期
- S3バケットの内容確認
1. AWS S3バケットの作成
1.1 AWS管理コンソールにログイン
AWS管理コンソールにアクセスし、ログインします。
1.2 S3サービスに移動
管理コンソールの検索バーでS3
と入力し、S3サービスを選択します。
1.3 バケットの作成
「Create bucket」をクリックし、バケット名とリージョンを入力してバケットを作成します。
- Bucket name: unique-bucket-name
- Region: 適切なリージョンを選択
他の設定はデフォルトのままで、「Create bucket」をクリックしてバケットを作成します。
2. Raspberry PiでのAWS CLIインストールと設定
2.1 Raspberry Piのアップデート
まず、Raspberry Piを最新の状態にアップデートします。
sudo apt update
sudo apt upgrade -y
2.2 AWS CLIのインストール
次に、AWS CLIをインストールします。
sudo apt install awscli -y
2.3 AWS CLIの設定
AWSのアクセスキーとシークレットアクセスキーを使用して、AWS CLIを設定します。
aws configure
設定時に以下の情報を入力します。
- AWSアクセスキーID
- シークレットアクセスキー
- デフォルトリージョン名
- 出力フォーマット(例:json)
AWSアクセスキーIDとシークレットアクセスキーの取得方法
-
AWS管理コンソールにログイン:
AWS管理コンソールにアクセスし、ログインします。 -
IAMサービスに移動:
管理コンソールの検索バーで「IAM」と入力し、IAMサービスを選択します。 -
ユーザーの選択:
左側のメニューから「ユーザー」をクリックし、アクセスキーを生成したいユーザーを選択します。まだユーザーを作成していない場合は、「ユーザーを追加」をクリックして新しいユーザーを作成します。 -
セキュリティ認証情報のタブに移動:
選択したユーザーの詳細ページで、「セキュリティ認証情報」のタブをクリックします。 -
アクセスキーの作成:
「アクセスキーの作成」をクリックし、表示されるアクセスキーIDとシークレットアクセスキーをメモします。シークレットアクセスキーはこの時点でしか表示されないため、必ず保存してください。
IAMユーザーに適切なポリシーをアタッチ
-
IAMサービスに移動:
管理コンソールの検索バーで「IAM」と入力し、IAMサービスを選択します。 -
ユーザーの選択:
左側のメニューから「ユーザー」をクリックし、エラーが発生しているアクセスキーに関連付けられたユーザー(MOKO1221)を選択します。 -
ポリシーの追加:
-
AmazonS3FullAccess ポリシーをアタッチする方法
- 「許可を追加」をクリックし、「ポリシーのアタッチ」を選択します。
- ポリシー名の検索バーに
AmazonS3FullAccess
と入力して検索します。 - 検索結果から
AmazonS3FullAccess
ポリシーを選択し、「ポリシーのアタッチ」をクリックします。
-
AmazonS3FullAccess ポリシーをアタッチする方法
3. ローカルディレクトリとS3バケットの同期
3.1 ローカルディレクトリの作成
まず、アップロードするファイルを保存するためのローカルディレクトリを作成します。
mkdir -p /home/moko1221/myfiles
3.2 テスト用ファイルの作成
同期の動作を確認するために、テスト用のファイルを作成します。
echo "This is a test file" > /home/moko1221/myfiles/testfile.txt
3.3 ローカルディレクトリからS3バケットへ同期
以下のコマンドを使用して、ローカルディレクトリをS3バケットに同期します。
aws s3 sync /home/moko1221/myfiles/ s3://unique-bucket-name1111/myfiles
4. S3バケットの内容確認
S3バケットの内容を確認
以下のコマンドを実行して、S3バケット内のファイルを表示します。
aws s3 ls s3://unique-bucket-name1111/myfiles/
期待される出力
このコマンドの出力として、先ほど作成したファイル testfile.txt
が表示されれば成功です。
2024-07-10 13:23:42 20 testfile.txt
まとめ
これで、AWSとRaspberry Piを組み合わせてハイブリッドクラウド環境を構築するための基本的なステップを完了しました。以下は、今回行った手順のまとめです:
-
AWS S3バケットの作成:
- S3バケットをAWS管理コンソールで作成しました。
-
AWS CLIのインストールと設定:
- Raspberry PiにAWS CLIをインストールし、アクセスキーとシークレットアクセスキーを設定しました。
-
必要なIAMポリシーの追加:
- AWS IAMでユーザーに
AmazonS3FullAccess
ポリシーを付与しました。
- AWS IAMでユーザーに
-
ローカルディレクトリとS3バケットの同期:
- ローカルのディレクトリをS3バケットに同期し、ファイルをアップロードしました。
今後も、AWSとRaspberry Piを活用してさまざまなプロジェクトを進めることができます。例えば、データのバックアップ、自動化スクリプトの実行、IoTデバイスの管理などです。
何か他にサポートが必要な場合や新しいプロジェクトのアイデアがあれば、遠慮なくお知らせください。