<目次>
(1) AWSの始め方(アカウントの作成からPythonでS3バケット操作まで)
(1-0) やりたいこと
(1-1) STEP1:AWSアカウントを作成する
(1-2) STEP2:AWSコンソールにアクセスする
(1-3) STEP3:IAMユーザーの作成&ログイン
(1-4) STEP4:AWSサービスを構成する
(1-5) STEP5:AWSサービスを使用する
(1) AWSの始め方(アカウントの作成からPythonでS3バケット操作まで)
(1-0) やりたいこと
・AWSのアカウントを作る
・試しにS3バケットを作ってみて、Pythonでデータを格納してみる
(※注意)
全般的に「素早く疎通」する事を目的にしており、ベストプラクティスから外れている部分もあるかと思いますが、その点認識した上でご覧ください。
(1-1) STEP1:AWSアカウントを作成する
・①AWSのWebサイトにアクセスして、新しいアカウントを作成。
↓
・②作成完了
(図111)
(1-2) STEP2:AWSコンソールにアクセスする
AWSコンソールにログインし、利用可能なAWSサービスにアクセスできます。
・①初回はアカウント作成時に設定した「ルートユーザー」でログイン
(図112)
↓
・②AWSコンソールが表示される
(図114)
(補足)
ルートユーザー |
・アカウント作成時に自動作成される
・最高権限(全リソースにアクセスできる)
・セキュリティのため、定常利用はIAMユーザーを作成する |
IAMユーザー |
・AWSアカウント内に複数っ売れる
・リソースアクセス用の個別アカウント
・リソースに対して権限を設定する
・独自のアクセスキー/シークレットキー |
>目次にもどる
(1-3) STEP3:IAMユーザーの作成&ログイン
作り方は大きく4通り。今回は「a.管理コンソールから」を紹介します。
a.管理コンソールから
b.CLIから(コマンドプロンプトやターミナル)
c.PowerShell
d.API経由
●STEP3-1:IAMユーザーの作成
・①検索ボックスから「IAM」を検索
(図121)
↓
・②「ユーザー」
(図122)
↓
・③「ユーザーを追加」
(図123)
↓
・④必要情報を入力
↓は一例です。今回はアクセスキーを用いてAPIアクセスなども行いたく「IAMユーザーを作成します」のオプションを選択。
(図124①)
(図124②)
↓
・⑤ユーザーの認可設定を選択
→今回は疎通のため一旦AdministratorAccessを付与(本来は適切な範囲に絞る)
(図125)
↓
・⑥「ユーザーの作成」
(図126)
↓
・⑦作成完了
(図127)
●STEP3-2:IAMユーザーでログイン
・①作成完了画面の「コンソールサインインURL」を入力
(例)https://442227351506.signin.aws.amazon.com/console
→アカウントID(12桁)が自動表示される
↓
・②ログイン
(図131)
(1-4) STEP4:AWSサービスを構成する
AWSコンソールから使用したいAWSサービスを検索し、必要情報を設定してリソースを作る。
→今回はAmazon S3の例。
●STEP4-1:リソースの作成
・①検索
(図211)
↓
・②作成
(図212)
↓
・③「バケット名」を入力し、後はでデフォルトで作成
(図213①)
(図213②)
(1-5) STEP5:AWSサービスを使用する
S3バケットはストレージなので、何かデータを格納・取り出しして使います。以下はPythonプログラムで適当なcsvを格納する例です。
●STEP5-1:IAMのACCESS_KEYとSECRET_KEYを取得
・①「IAM」→左メニュー「ユーザー」→該当ユーザー選択→「セキュリティ認証情報」→「アクセスキー」→「アクセスキーの作成」
(図221)
↓
・②「AWSの外部で実行されるアプリケーション」を選択し「次へ」
(図222)
↓
・③タグを入力して「アクセスキーを作成」を押下
(図223)
↓
・④アクセスキーとシークレットキーを控える(※1回しか表示されないため注意)
(図224)
●STEP5-2:Pythonパッケージのインストール
> pip install boto3
(図311)
●STEP5-3:Pythonプログラムの実行
(サンプルプログラム)
import boto3
s3 = boto3.client(
's3',
aws_access_key_id='xxxxxx',
aws_secret_access_key='xxxxxxx'
)
with open('[ファイル名].txt', 'rb') as f:
s3.put_object(Bucket='[バケット名]', Key='[ファイル名].txt', Body=f)
↓
・S3バケットにファイルがアップロードされた
(図322)