AWS関連のことを調べてみた2021年05月22日

AWS関連のことを調べてみた2021年05月22日

AWS CLIのコンフィグ設定

# AWS CLIのコンフィグ設定

スイッチロールの権限をAWS CLIで使う方法
以下記事の補足記事

https://qiita.com/morita-toyscreation/items/eeba120471cfad628c49

### AWS CLIのコンフィグ設定

スイッチロールに対応するには~/.aws/configにprofileを設定

“`bash
$ vi ~/.aws/credentials
[default]
aws_access_key_id = xxx
aws_secret_access_key = xxx

$ vi ~/.aws/config
[default]
region = ap-northeast-1
output = json

[profile toyscreation-sandbox]
role_arn = arn:aws:iam::689371460795:role/toyscreation-sandbox
source_profile = default
“`

### 確認

profileを指定することで、スイッチ先のロー

元記事を表示

AWSのストレージサービスの話

AWSのストレージサービスについて勉強した。

## EBSについて
EBS(Amazon Elastic Block Store)とは、AWSのストレージサービスの1種。
EC2インスタンスにアタッチして使用する。
EBSの特徴としては以下が挙げられる。

### ボリュームタイプや容量が変更可能
EBSには、汎用SSDやプロビジョンドIOPS SSDといったボリュームタイプがある。
コストを抑えたい場合は、スループット最適化HDD、ColdHDDを用いる。
これらのボリュームタイプは使い始めたあとも需要が変われば任意に変更できる。
また、ストレージ容量も任意に変更できるので、無駄なコストをかけなくて良い。

### アベイラビリティゾーン内で自動的にレプリケート
EBSは同じアベイラビリティゾーン内で複数のサーバーにわたってレプリケートされる。
よって、1つのサーバーが障害を起こしても問題はない。

### 高耐久性のスナップショット
上の場合、アベイラビリティゾーン全体で障害が起きた場合、使えなくなる。
しかし、S3の機能を使えば、スナップショットを複数のアベイラビリティゾーンに

元記事を表示

CloudFront S3 環境をterraformで構築する(basic認証も)

# はじめに

awsサービスを使用した定番構成であるCF-S3環境をterraformで構築してみたまとめです。
ついでにlambda@Egdeでbasic認証の設定もしました。

今回terraformで作成するもの一覧

1. S3バケット
2. S3バケットポリシー
3. Lambda
4. CloudFront Distribution

今回はインフラ構築のみで行くので、S3に配置するindex.htmlは手動でアップロードします(github + circleciで自動化出来たりもしますが今回はパス)。
アクセスはCFのドメインでアクセスするところまでです(Route53やらACMでドメインの作成管理もterraformで出来ますが、そこまでterraformでやらなくても…..と思うので割愛)。
アクセスログの設定は今回すっ飛ばします。まずは作ってみましょうというお話になります。

terraformのバージョンはこちら

“`
$ terraform –version
Terraform v0.15.0
on darwin_amd64
Your version

元記事を表示

Terraform で Fargate の環境とデプロイのパイプラインを構築する

#はじめに
本記事では、Terraform で ECS の Fargate の環境と Docker イメージのデプロイのパイプライン
([CodeCommit + CodeBuild + CodeDeploy + CodePipeline](https://aws.amazon.com/jp/devops/))を構築する手順を記載しています。

初学者のハンズオンやApp Runner に興味を持った開発者の試用の為に利用することを想定しています。

#Terraform で構築する全体構成図
![00_terraform_fargate_cicd_pipeline.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/283246/be3846cd-f18c-54d6-8ba0-a0260bda1ecc.png)

本環境でのイメージのデプロイは、ローリングアップデートを選択しています。
#Terraform で構築するAWSリソースのBlackBeltの資料

[VPC](https://d1.awsst

元記事を表示

Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)エラーの解決方法

#Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)
capistranoでのデプロイ時に

“`
Caused by:
SSHKit::Command::Failed: rake exit status: 1
rake stdout: Nothing written
rake stderr: rake aborted!
Mysql2::Error::ConnectionError: Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (111)
“`
上記のエラーが出た。

MySQLサーバーと接続するタイミングで接続ができなくエラーが出た模様。

解決策としてはMySQLサーバーを再起動させることにより解決できる場合が多い。

“`console:EC2コンソール
$ sudo systemctl restart mysqld.service
“`
上記

元記事を表示

AWS CDKでRailsアプリをECS(on Fargate)にデプロイしてみる

![ダウンロード.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/688854/ae6fadbf-8824-ce87-5f22-23b06a538e43.png)

## 概要

普段はTerraformでインフラ管理をしているのですが、つい先日、興味本位でAWS CDKを使ってみました。

とりあえず手始めにRuby on Rails製のアプリをECS(on Fargate)にデプロイしてみたので、色々とメモ書きしておきます。

※Railsとは?AWS CDKとは?みたいな解説はほとんど無いので、すでにある程度それぞれの概要を押さえている人向けの記事です。

## 完成イメージ

![スクリーンショット 2021-05-22 2.52.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/688854/ccff24ae-e492-da80-2626-4a6eb5965

元記事を表示

【Java,AWS】自分のPCで動かしていたJavaのプログラムをAWSで動かしてモダナイゼーション(リプレース)を体験する。

こんばんは。

めっちゃ長いタイトルになった・・でも、件名がそのままやりたい事です。

現在、会社ではシステムリプレースのプロジェクトを担当しています。既存システムの基盤を再構築します。
当然自分の役割は限定的で(いや、それだけ規模が大きいという事ですよ)、自分でゼロから最後までやりたくなってしまいました。
先日の記事にAWS Lambdaを使ったハンズオンセミナーについて書きましたが、それからAWSで色々やってみたい欲も出てきたので、調べながらやってみました。
ソース1本を動かして一言メッセージを出すくらいならできるだろう、という気持ちで着手しました。

一番目的に沿っていそうな以下を参考にしました。

https://docs.aws.amazon.com/ja_jp/cloud9/latest/user-guide/sample-java.html

Lambdaに関数を作ってテストを実行してみたのですが、Javaはサポートされていないようでコードを書くことができませんでした。pythonは大丈夫でしたが、僕はpythonを書けないので一旦断念する事にしました。
結果、Cloud

元記事を表示

GCPとAWSのVPC・サブネットの違い

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/490207/5d00d612-43be-2452-73f9-3d959bffb13b.png)

– GCP
– VPC
– Regionを超えて**グローバルな存在**
– VPCの中で複数のRegionを使える
– IPレンジの定義が**ない**
– サブネット
– Regionの中に作成
– サブネットの中で複数のZoneを使える
– IPレンジを定義
– AWS
– VPC
– Regionの中に作成
– VPCの中で複数のAZを使える
– IPレンジを定義
– サブネット
– AZの中に作成
– IPレンジを定義

元記事を表示

新サービス AWS App Runner を使ってみた

# 初めに

AWSの新サービス**App Runner**がローンチされました。どんな手順でWebアプリをデプロイできるのか確認してみました。ECSよりも格段にデプロイが簡単でした。

### App Runner

– コンテナネイティブのフルマネージドサービス
– オーケストレーターの設定、ビルドパイプラインの準備、ロードバランサーの調整、 TLS 証明書のローテートなどは必要ない
– サーバーレス
– ECR または GitHub をプロバイダーとして利用可能

https://aws.amazon.com/jp/blogs/news/introducing-aws-app-runner/

# デプロイ手順

## 事前準備
今回はECRを使います。事前にECRにイメージをプッシュしておきます。

## 1 イメージを選択

「参照」をクリックし使用するイメージを選択します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/48ce161b-9ec1-2279-d

元記事を表示

AWS コスト管理関連サービス概要

### AWS Cost Explorer
コストと使用量の経時的変化を可視化して、カスタムレポートを作成してコストと使用量のデータを分析する

### AWSのコストと使用状況レポート
コストと使用状況の詳細を確認するためのレポート

### AWS Billing and Cost Management
AWS の請求書の支払い、使用量のモニタリング、コストの分析と管理に使用する

### AWS Budgets
予算のしきい値を超えたときにアラートを発信するカスタム予算を設定

### AWS Cost Categories
自身の組織やプロジェクト構造にわけてコストをカテゴライズすることが可能な機能

### Trusted Advisor
コスト最適化とセキュリティと対障害性とパフォーマンス向上についてアドバイスを提供するサービス

### 簡易見積りツール
利用するAWSサービスに対する月額料金を見積ることができる

### TCO計算ツール
AWS利用した場合とオンプレミス環境やコロケーション環境との価格比較ができる

### Pricing Calculator
ビジネ

元記事を表示

初めてのAWSでNoCredentialsError: Unable to locate credentialsが出たのでDockerを設定する

# はじめに

私は2021年現在新卒入社から2年目で主に自然言語処理を扱う会社で仕事をしています。
普段はAWSとは無縁(だいたいは先輩がやってくれている)の生活を送っているため、触る機会がありませんでしたが、AWSのSageMarkerを今後使ったらどうかという話になり調査をする必要がありました。

そこで重い腰をあげ、AWSをやろうとしたところ、さっそくエラーに当たり色々調べて対処したのでまとめたいと思います。

エラー内容は基本的なことになります。
Dockerにそこまで詳しくなく、AWSを初めての方でしたら直面するかもしれない問題でした。

# 環境
– windows
– Docker
– Python3
– JupyterNotebook

# 問題
Dockerを利用して、JupyterNotebook環境を立ち上げて、AWS SDK for pythonを使おうと以下のコードを実行しました。

“`
!pip install –upgrade boto3
import boto3

client = boto3.client(‘s3′, region_name=’

元記事を表示

AWS EBS,EFS,S3,Glacier,Storage Gateway

#AWS 3つのストレージサービス

###・ブロックストレージ
ーEC2にアタッチして活用するディスクサービス
ー高速・広帯域幅
**ーEBS、インスタンスストア**

###・オブジェクトストレージ
ー安価かつ高い耐久性を持つオンラインストレージ
ーオブジェクtp形式でデータを保存
**ーS3、Glacier**

###・ファイルストレージ
ー複数のEC2インスタンスから同時にアタッチ可能
ーファイル形式でデータ保存
**ーEFS**

#EBS ブロックストレージ

ブロックストレージサービスで、EC2のOS領域、EC2の追加ボリューム、RDSのデータ保存領域などに使用する。基本的にEC2に対して1対1に対応するサービス。同一のAZ内で複数のEC2にはEBSマルチアタッチ機能でできるが、制約も多く限定的な用途になる。EBSのスナップショット(バックアップ)を取得することで、EBSボリュームを作成しAZ指定を行える。

####【EBSの特徴】
・99.999%の可用性
・EC2インスタンスは他のAZ内のEBSにアクセスできない。同じAZ内のみ。
・同じAZ内であれば付け替えは

元記事を表示

【AWS】EC2インスタンスのユーザーデータ

#プログラミング勉強日記
2021年5月21日
EC2インスタンスを起動するときにユーザーデータを活用してセットアップを自動化できる。

#ユーザーデータ
 インスタンスの起動の詳細設定の一番下にあるものがユーザーデータになる。スクリプトを設定することでLinuxの初期設定を自動化できる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/642821/588677e1-c0c1-7c3b-98aa-34efe36d0b17.png)

#ユーザーデータの活用
 EC2インスタンスを立ち上げるたびにアップデートやApacheのインストールをするのはめんどくさいので、スクリプトを実行することで(スクリプトをユーザーデータに入れておくことで)、ユーザーデータからスクリプトのデータをインスタンスに引き渡すことができる。起動するときにそのスクリプトを自動で実行してくれる。

元記事を表示

【AWS 最初に知っておきたい単語 VPC編】

**1.VPC (バーチャルプライベートクラウド)**
・AWSアカウント内に構築できる仮想ネットワーク。AWSで作ったものを繋げるサービス。例えるなら、自分専用のバーチャルな土地!

**2.AZ (アベイラビリティーゾーン)**
・地理的に独立したデータセンター。AZを束ねた地域のことをリージョンと呼ぶ。AZ・リージョンが一極集中していないのは、災害やトラブルが起こった時にサービス停止のリスクを減らすため。例えるなら、自分専用のバーチャルな土地が保管されている所。

**3.Subnet (サブネット)**
・其の名の通り、サブのネットワーク。部署を分けるようなニュアンス。(これは自社内でするやつ、あれはお客さんに提供するやつ)、無駄な通信を減らし、セキュリティも向上する。例えるなら、専用のバーチャルな土地を使い方によって切り分けた土地のひとつ。

**4.Route Table (ルートテーブル)**
・ネットワークの経路を設定するコンポーネント。サブネットに関連づけて使用する。例えるなら、専用のバーチャルな土地に行くまでの地図。

**5.Internet gatewa

元記事を表示

S3の大量オブジェクトの削除方法

## はじめに
サービスで使用している画像ファイルが8億オブジェクト以上ある中で、
一部サービス終了に伴い画像ファイルを削除する必要が発生し
大量にあるので、マネージメントコンソールからオブジェクトの削除を実施しても
完了しない・タイムアウトになることから安全かつ確実に削除する方法を実施したものを
まとめてみました。

## 前提
1つバケットに対して、フォルダごとに機能別にオブジェクト(画像)を管理している。

## やりたいこと
バケットの中のオブジェクトは現状サービスでも使われているものもあるので、
バックアップを取得して安全に削除を実施すること。

## 課題
大量のオブジェクトがあることから、マネージメントコンソールやawscliでは難しいこと。

## 解決策
大量のS3オブジェクトに対して一括でAPIを実行できるS3 batch Operatonsで、
削除するオブジェクトに対してタグを付け、念のためにバケット全体のバックアップで
オブジェクトのコピーを実施する。
(全体のバックアップはもしかしたら不要かもしれないが、削除するものだけバックアップをとる方がいい)

削除

元記事を表示

【全くの初心者がAWSを学ぶ前に知っておきたいAWS学習手順】

「全くの初心者がAWSを学び始めて陥る罠」

・”VPC、EC2、AZ、API、RDS、IGW、AMI、Snapshot…などなど、横文字が多くて意味が分からない。”

・”動画講座を観て、指示通りにやってみたが画面が同じようにならず、不安になる。”

以上のような気持ちにならなかったでしょうか?
少なくとも私はなりました笑

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

「私が実際に行った手順」

・”VPC、EC2、AZ、API、RDS、IGW、AMI、Snapshot…などなど、横文字が多くて意味が分からない。”

→まずは〈 ”概要理解” 〉から!

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

概要理解→ハンズオン(実際に手を動かす)→ハンズオンで作っているものとは別に設定やサーバー構築を行う→使っているうちに単語を覚える(テスト形式でインプットする)

流れです。

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

「概要理解」

個人的に分かりやすかったYouTub

元記事を表示

AWS SageMakerでYOLOv3の推論エンドポイントを立てて物体認識をやってみた

# はじめに
どうも、皆川です。YOLOv3を使って推論エンドポイントを立てて実際に画像を物体認識させてみます。悪名高いSageMakerのコンソールの操作手順や推論エンドポイントの叩き方に慣れることを目的としています。以下が記事の流れです。

### AWSマーケットプレースで物体認識のDeepLearningモデルのYOLOv3を手に入れる

### そのモデルを推論エンドポイントとしてデプロイする

### 自分のMacOSでAWS CLIとPythonを使った2種類の方法で推論を実行してみる。推論にはローカルの画像ファイルを使う。

1と2の手順が明確に分離できないのでまとめて一気に紹介しています。

# 推論させる画像
今回推論させる画像はこちら!筆者の好きなアメリカのシットコム「サインフェルト」からのワンシーンです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1001699/484880fc-e59d-037d-2ded-0b1bcf6c4f5e.png)

# 注意

元記事を表示

AWSのGPUインスタンス構築 値段を抑えて最短で構築する

# はじめに
本記事はAWSクラウド(以降、AWS)でGPUインスタンスの値段を抑えてかつ、最短で構築する方法について記載しています。

例えば、AWSを利用してGPUインスタンスを構築する場合、安易に有料のAMIを利用してGPUインスタンスを構築するのはナンセンスです。

AWSのサービス内容を正しく理解した上で導入することにより、コストを抑えることができます。また、Terraformを活用することで構築時間を短縮してGPUインスタンス環境を用意することができます。

GPUを利用する場合は、前提としてNVIDIAドライバ、CUDA、cuDNN等の知識が必要です。これらについては以前書いた[UbuntuでGPUマシーンを構築する](https://qiita.com/Brutus/items/2db051ec2bcfa726cc2f)を参照。

## GPUの導入における検討事項
オンプレミスやクラウドに関わらず、GPUを導入する場合は、色々と考えないといけないことがあります。

AWSにおいてEC2のGPUインスタンスを使用して、ディープラーニングや学習済みモデルを動かす場合は、以

元記事を表示

Cloud9でデバッグしてみよう

##転載元
当記事は以下ブログからの転載です。
[TECH BACK](https://techback.info/aws-cloud9-debug/)

##はじめに
Cloud9でデバッグする手順をまとめます。

Cloud9環境でプロジェクトをデバッグします。

##デバッグ環境設定

環境設定というか、前の環境に戻してデバッグしましょうといった内容です。

2020年の後半位で、Cloud9のアップデートがありました。コレにより、従来の方法でのデバッグができない(?)ため、旧バージョンの状態に戻してデバッグしましょうというのが、本手順です。

まずはデバッグの環境設定をします。環境設定は初回のみでOK。

**Cloud9アイコン → Preferences**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/450952/2524dc1c-882e-0405-78c8-c783401136fb.png)

**AWS Settings → AWS Toolkit** をOFFにし

元記事を表示

CodeCommitからCloud9(EC2)にClone

## 転載元
当記事は以下ブログからの転載です。
[TECH BACK](https://techback.info/aws-cloud9-codecommit-clone/)

## はじめに

[前回](https://qiita.com/teckback/items/70fbad957e98c91b9252)の記事で、Cloud9で開発しているプロジェクトをCodeCommitにPushしました。今度は、Cloneしてくる側の手順をまとめます。

## この記事で出来ること

CodeCommitにあるプロジェクトを、Cloud9環境にCloneして来ます。 今回CloneしてくるCodeCommitのリポジトリは下記の記事で作成したものを使っています。

[Cloud9のプロジェクトをCodeCommitで管理](https://qiita.com/teckback/items/70fbad957e98c91b9252)

## Cloud9で環境作成

Cloud9を開き、**Your enviroment** → **Create enviroment**[![](ht

元記事を表示

OTHERカテゴリの最新記事