{coding}Sight

はじめに

Amazon Web Service、別名AWSは、広範なクラウドアーキテクチャにサーバー、アプリケーション、デー AWSは、データの耐久性(119)でオブジェクトまたはデータを保存するための単純なストレージサービス(S3)を提供します。 AWS S3は、PCI-DSS、HIPAA/HITECH、FedRAMP、EUデータ保護指令、およびFISMAに準拠しており、規制要件を満たすことができます。

AWSポータルにログインしたら、S3バケットに移動し、必要なバケットを選択して、ファイルをダウンロードまたはアップロードします。 ポータルで手動で行うことは、非常に時間のかかる作業です。 代わりに、使いやすいスクリプトを使用した一括ファイル操作に最適なAWSコマンドラインインターフェイス(CLI)を使用できます。 無人オブジェクトのダウンロード/アップロードのために、これらのスクリプトの実行をスケジュールできます。

AWS CLIの設定

Aws CLIをダウンロードし、Windows、macOS、またはLinuxオペレーティングシステムにAWS Command Line Interface V2をインストールします。

AWS CLIの設定

インストールウィザードに従って、迅速なセットアップを行うことができます。

IAMユーザーの作成

コマンドラインインターフェイスを使用してAWS s3バケットにアクセスするには、IAMユーザーを設定する必要があります。 AWSポータルで、[Identity and Access Management(IAM)]に移動し、[ユーザーの追加]をクリックします。

IAMユーザーの設定

[ユーザーの追加]ページで、ユーザー名とアクセスタイプを[プログラムアクセス]として入力します。

プログラムによるアクセス

次に、既存のポリシーを使用してIAMユーザーにアクセス許可を提供します。 この記事では、AWS管理ポリシーから選択しました。

既存のポリシーを使用してIAMユーザーにアクセス許可を提供する

IAMユーザー設定を確認し、[ユーザーの作成]をクリックします。

IAMユーザー設定を確認し、[ユーザーの作成]をクリックします

AWS IAMユーザーが作成されると、AWS CLIを使用して接続するためのアクセスキー IDとシークレットアクセスキーが与えられます。

: これらの資格情報をコピーして保存する必要があります。 AWSでは、後の段階でそれらを取得することは許可されていません。

IAMユーザーが正常に作成されました。

コンピュータでAWSプロファイルを設定する

Amazon web serviceリソースでAWS CLIを使用するには、PowerShellを起動し、次のコマンドを実行します。

>aws configure

以下のユーザー入力が必要です:

  • IAMユーザーアクセスキー ID
  • AWSシークレットアクセスキー
  • デフォルトのAWSリージョン名
  • デフォルトの出力形式
AWSプロファイルの設定

AWS CLIを使用してS3バケットを作成する

ファイルまたはオブジェクトを保存するには、S3バケットが必要です。 AWS portalとAWS CLIの両方を使用して作成できます。

次のCLIコマンドは、us-east-1リージョンに名前付きバケットを作成します。 クエリは、以下に示すように、出力にバケット名を返します。

>aws s3api create-bucket --bucket mys3bucket-testupload1 --region us-east-1
AWS CLIを使用したS3バケットの作成

新しく作成されたs3バケットは、AWSコンソールを使用して確認できます。 以下に示すように、米国東部(N.バージニア州)にアップロードされています。

AWSコンソールを使用して、新しく作成されたs3バケットを確認します

AWS CLIを使用して既存のs3バケットを一覧表示するには、コマンド–aws s3lsを実行します

AWS CLIを使用して既存のS3バケットを一覧表示する

AWS CLI

を使用したS3バケット内のオブジェクトのアップロードAWS CLIコマンドを使用して、単一のファイルまたは複数のファイルをAWS S3バケット アップロードする単一のファイルがあるとします。 ファイルはローカルに保存されます。C:\S3Files スクリプト1という名前で。txt。

単一のファイルをアップロードするには、次のCLIスクリプトを使用します。

>aws s3 cp C:\S3Files\Script1.txt s3://mys3bucket-testupload1/

ファイルをアップロードし、出力にソースと宛先のファイルパスを返します:

AWS CLIを使用したS3バケットへのオブジェクトのアップロード

注:s3バケットにアップロードする時間は、ファイルサイズとネットワーク帯域幅によって異なります。 デモの目的のために、私は数KBsの小さなファイルを使用しました。

s3バケットを更新して、そこに保存されているファイルを表示できます。

s3バケットを更新する

同様に、同じCLIスクリプトをわずかに変更して使用することもできます。 ソースから宛先のs3バケットにすべてのファイルをアップロードします。 ここでは、複数のファイルを一緒にアップロードするためのパラメータ–recursiveを使用します:

>aws s3 cp c:\s3files s3://mys3bucket-testupload1/ --recursive

以下に示すように、ローカルディレクトリ内に格納されているすべてのファイルをアップロードしますc:\S3Files s3バケットに。 コンソールで各アップロードの進行状況を取得します。

 各アップロードの進捗状況

次の図では、s3バケットの再帰パラメータを使用して、アップロードされたすべてのファイルを確認できます:

アップロードされたすべてのファイル

アップロードされたリストを確認するためにAWSポータルに移動しない場合は、CLIスクリプトを実行し、すべてのファイルを返し、タイムスタンプをアッ

>aws s3 ls s3://mys3bucket-testupload1
CLIスクリプトを実行し、すべてのファイルを返し、タイムスタンプをアップロードします。

特定の拡張子を持つファイルのみをAWS S3の別のフォルダーにアップロードするとします。 CLIスクリプトを使用してオブジェクトのフィルタリングを行うこともできます。 この目的のために、スクリプトはincludeキーワードとexcludeキーワードを使用します。

たとえば、次のクエリはソースディレクトリ内のファイルをチェックします(c:\s3bucket)、でファイルをフィルタリングします。sql拡張機能を使用して、S3バケットのSQL/フォルダにアップロードします。 ここでは、includeキーワードを使用して拡張機能を指定しました:

>aws s3 cp C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.sql

スクリプト出力では、そのファイルを確認することができます。sql拡張機能のみがアップロードされました。

でファイルを確認します。sql拡張機能のみがアップロードされました
でファイルを確認します。sql拡張機能のみがアップロードされました

同様に、以下のスクリプトはファイルをアップロードします。s3バケットへのcsv拡張。

>aws s3 cp C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.csv
 スクリプトは、ファイルをアップロードします。s3バケットへのcsv拡張

ソースフォルダからS3バケット

に新しいファイルまたは変更されたファイルをアップロードするs3バケットを使用してデータベーストランザクションログバックアップを移動するとします。

この目的のために、syncキーワードを使用します。 これは、ソースディレクトリからコピー先のs3バケットに、変更された新しいファイルを再帰的にコピーします。

>aws s3 sync C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.sql

以下に示すように、s3バケットに存在しないファイルをアップロードしました。 同様に、ソースフォルダ内の既存のファイルを変更すると、CLIスクリプトはそれを選択してS3バケットにアップロードします。

ソースフォルダからS3バケットに新規または変更されたファイルをアッ
ソースフォルダからS3バケットに新規または変更されたファイルをアッ

概要

AWS CLIスクリプトを使用すると、S3バケットにファイルを保存する作業が簡単になります。 これを使用して、ローカルフォルダとS3バケット間でファイルをアップロードまたは同期できます。 これは、AWSクラウド内のオブジェクトをデプロイして操作するための簡単な方法です。

タグ:AWS、aws cli、aws s3、cloud platform最終更新日:2021年9月16日

Leave a Reply