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

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

TerraformでAWS上にFessを起動する(Qiita検索サイトを作ってみた)

# はじめに

[Fess](https://fess.codelibs.org/ja/)というOSSの全文検索サーバーがあります。

個人的には約5年前に初めて使って、職場で担当製品のマニュアル検索サイトを作成し、社内のサーバで稼働させていました。
社内には、マニュアル検索するサイトは既にあったのですが、Fessを導入して自作したものの方が使いやすかったので、周りのメンバーからも喜ばれました。
また、私が使い始めた頃はまだ誰も周りに使っている人はいませんでしたが、徐々に周囲にも使う人が増えたり、社内の他のシステムにも採用されているのを見かけるようになりました。

Fess自体が5分で簡単に構築可能とされているだけあって、導入はそれほど難しくありません。
AWS等のクラウド上に導入すればもちろんWebサイトとして公開もできます。
本記事では、Terraformを使用してAWS上にFessを使用した全文検索サイトを構築する手順をコードサンプルを交えながら解説したいと思います。

# 完成品のサンプル

Fessを使用し、Qiitaの記事を検索するサイトをAWS上に作成したので使ってみてく

元記事を表示

AWS S3からOracle DBにデータを導入する

__初めに__

前回の記事で、OCI Object Storageから、CSV/DUMPファイルをOracle DBに導入する方法を紹介しました。この方法は、AWS S3とAzure Blogにも適用します。

https://qiita.com/liu-wei/items/398c91fd79a63eec6e7a

今回は、AWS S3にあるCSVとDUMPファイルをOracle DBに導入する方法をご紹介します。

__利用条件__
Oracle DB 19cのバージョンは、19.9以上です。 Oracle DB 21cのバージョンは、21.3以上です。
(On-P/Cloud両方に、適用します。)

Autonomous DBにデータを導入するのは、とても簡単です。DBMS_CLOUDパッケージは既にインストールされているので、手動のインストールは不要です。下記のSTEP9から実施すればOKです。

※この例は、OCI上のD

元記事を表示

【AWS】初心に戻って1からVPCを構築してみた 仮想サーバー構築編

昨日の記事の続きです。VPC、パブリックサブネット、プライベートサブネット、ルートテーブルを構築しました。本日はパブリックサブネットの中に仮想サーバー(EC2)を構築します。なおAmazon EC2で作成した仮想サーバーのことをインスタンスと呼びます。このインスタンスには後ほどWEBサーバの機能を持たせようと思います。
インスタンスには割り当て可能なプライベートIPアドレスを割振ります。前回パブリックサブネットを[10.0.1.0/24]にしたため、[10.0.1.0〜10.0.1.255]まで割り当てることができます。

●ご参考
正確にはawsが使用する予約アドレスが5つあります。このため以下は利用できません。

・10.0.0.0: ネットワークアドレスです。
・10.0.0.1: VPC ルーター用に AWS で予約されています。
・10.0.0.2: Amazon DNS サーバーで予約されています。
・10.0.0.3: 将来の利用のために AWS で予約されています。
・10.0.0.255: ネットワークブロードキャストアドレスです。

過去の記事は以下から参照くださ

元記事を表示

AWS Neuron SDK を使ってローカルでPytorchの自作モデルをコンパイルしてみた

# AWS Neuron SDKとは?
AWSでは、AWS Inferentiaという機械推論向けのチップを搭載したEC2のインスタンスが提供されています。
AWS Neuron SDKはAWS Inferentia上で推論を実施するためのSDKとなっています。
tensorflowやpytorchで作られたモデルを専用でコンパイルすることによって、AWS Inferentia上で実行できるモデルに変換することが可能です。

チュートリアルはどれもAWS上でインスタンスを立ててのコンパイルとなっていたのですが、ローカルのマシンで開発している身としてはちょっと手間のかかる内容だったので、今回ローカルでコンパイルしてみました。
また、ResNet50そのままを利用したものばかりだったので、自作したモデルをコンパイルしてみました。

# 実施環境
* Windows 10 WSL2 Ubuntu 18.04.2 LTS
* Python 3.7.11
* Tensorflowの1系をライブラリの依存関係に要求されており、1系が対応していない3.8以降は利用できません(個人的にはハマ

元記事を表示

AWS サイトのhttps化の手順

既に お名前.com等のレジストラにて取得した、ドメインのサイト構築にAWSを利用更に、HTTP化の手順を紹介します。
1、取得済みのドメインをレジストラのネームサーバーの設定(変更)にてAWSRoute53のコンソールにてホストゾーンを作成ネームサーバのを確認
参考

結果のネームサーバをレジストラのネームサーバ設定にて変更する。
ns-1443.awsdns-52.org.
ns-1625.awsdns-11.co.uk.
ns-46.awsdns-05.com.
ns-691.awsdns-22.net.

【AWS】 S3アップロード Rails CarrierWave

#目標
s3に画像をアップロードする

#前提
* 画像投稿機能実装済
* AWSアカウント作成済
* CarrierWave使用

# やりた方
####AWSでIAMユーザを作成していきます
①IAMにアクセス→ユーザー追加するを選択
②ユーザー名をきめる
③AWS認証情報タイプの選択で、アクセスキー−プログラムによるアクセスにチェックを入れる→次へ
④既存のポリシーにアッタチを選択
⑤ポリシー検索でS3を入力→ AmazonS3FullAccessを選択
⑥キーとタグは作成せず→次のスッテプ:確認
⑦管理ポリシーがAmazonS3FullAccessになっていることを確認して→ユーザーの作成
⑧アクセスキーIDとシークレットアクセスキーが出てくるので必ずメモするか、csvのダウンロードをしておく→閉じる
これでIAMユーザーが作成できたので、次にS3を作成

####S3バケットの作成

①S3にアクセス S3を選択→バッケット作成選択
②バケット名を選択→他と被らない名前を記入してください
③リージョンはそのままの(東京)ap-northeast-1で
④パブリックアクセスの全

元記事を表示

はじめてのStepFunctions

# はじめに
* ステートマシンの呼び出し元と呼び出し先(サービスとアクション)についてまとめた

# 呼び出し元
* AWS Lambdaの使用StartExecutionを呼び出します。
* Amazon API Gateway
* Amazon EventBridge
* AWS CodePipeline
* AWS IoT ルールエンジン
* AWS Step Functions

# 呼び出し先
* Lambda
* Invoke
* SNS
* Publish
* ECS
* RunTask
* Step Functions
* StartExecution
* Run Activity
* Glue
* StarJobRun
* Glue DataBrew
* StartJobRun
* EventBridge
* PutEvents
* AWS Batch
* SubmitJob
* API Gateway
* Request
* Amazon Athena
* StartQuer

元記事を表示

AWSとAzureの違いをまとめてみた

一部だけですが、AWSとAzureの違いについてまとめてみました。
サービス名の比較はAzureの公式ドキュメントにまとまっています。
[AWS サービスと Azure サービスの比較](https://docs.microsoft.com/ja-jp/azure/architecture/aws-professional/services)

# 共通
## ブラウザの管理画面
どちらともWebブラウザでクラウドのリソースを作成・閲覧・削除するためのGUIツールが提供されており、次のような名称で呼びます。

– Azure:Azureポータル
– AWS:AWSマネージメントコンソール

Azureの場合は単にポータル、AWSの場合はコンソールと呼んだりもします。マネージメントコンソールは「マネコン」と略されることもありますが私はこの呼称は使いません。

使い勝手に関しては完全に慣れの問題なのでどちらも一長一短あるとは思いますが、個人的にはどちらかというとAzureポータルのほうがメニューがわかりやすく洗練されている気がして好みです。

AWSマネージメントコンソールは、昔のUIのよ

元記事を表示

全EC2のタグ情報を取得しJSON形式にするメモ

## はじめに

AWS EC2 のタグ情報を取得し、JSON形式にするPython3.9スクリプト
EC2タグ情報を、SDK(boto3)の `describe_instances()` で取得しました。

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ec2.html#EC2.Client.describe_instances

`describe_instances()`で一度に取得できる情報は最大1000のようで、1001以降の情報を取得するには、`NextToken` を使用するようです。

## スクリプト

– 処理概要
– 全てのEC2タグ情報を取得するため`NextToken`の処理を記載
– 取得した情報を変数 `ec2tagsjson` にJSON形式で格納
– ただし、タグキーが `aws:` から始まる情報は、取得対象から除外

“`python:getEc2TagsInfo.py
import boto3
import sys

元記事を表示

署名付きURLとマルチパートアップロードを利用したS3へのファイルアップロード

マルチパートアップロード機能を利用するとS3へのファイルアップロードを
並列に行うことや中断・再開といったオペレーションが可能となります。
また通常のアップロードと比較しファイルサイズの上限も緩和されますので
大容量のファイルアップロードには必須の機能になります。

今回はLambdaとブラウザ(RESTAPI)を利用してマルチパートアップロードを行ってみます。
作業の流れは以下になります。

1. S3バケットの作成とCORS設定
2. マルチパートアップロードのID発行(マルチパートアップロードの開始)
3. 署名付きURLの発行  ・・・ファイル分割数分実行
4. パートのアップロード ・・・ファイル分割数分実行
5. マルチパートアップロードの完了

方式は色々ありますが今回は2,3,5はLambdaで行い、4をブラウザで実装します。

・[マルチパートアップロードを使用したオブジェクトのアップロードとコピー](https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/mpuoverview.html)

## 1.

元記事を表示

SAMポリシーテンプレートのサンプル

AWS SAMを利用するとAPIGateway, Lambdaの定義をシンプルに
シンプルに記載することが出来ます。

今回はAWSが提供しているAWS SAMポリシーテンプレートのご紹介です。
DynamoDBやS3の読み込み、書き込みなどについてよくあるパターンを
テンプレート化してくれており大変便利です。
かなりの範囲をサポートしてくれているので、個別IAMポリシーを作成する
場面はかなり少なくなると思います。

用意されているテンプレートリストは以下の公式情報を参照ください。

[AWS SAMポリシーテンプレート](https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/serverless-policy-templates.html)

使い方は簡単でポリシーを指定し、プレースホルダ値を設定するだけです。
以下の場合は、「TableName」と「BucketName」がプレースホルダ値です。

“`yaml
– DynamoDBCrudPolicy

元記事を表示

LambdaでS3にある画像をDropbox Businessにアップロードする

LambdaでS3にある画像をDropbox Businessにアップロードしたときの個人メモ

# 前提
– [LambdaでS3にある画像をDropboxにアップロードする](https://qiita.com/nkmk1215/items/da11594807552db64e93)ができていること
– [Dropbox Business APIの基礎知識](https://qiita.com/nkmk1215/items/7b1427a74a74b473266c)を把握していること
– アクセストークンを発行できること
– ここでは[チーム管理者](https://help.dropbox.com/ja-jp/teams-admins/admin/change-admin-rights)が付与されている状態
– 権限がない場合、アクセストークンはチーム管理者に必要に応じて
生成してもらう必要がある
– 権限の有無はアプリのコンソール画面からアクセストークンの生成が
– できるかどうかで確認できる
![030.JPG](

元記事を表示

AWS CLIの振り返り ~EC2基礎編~

#本記事の目的
JAWS-UG CLI オンラインハンズオンの復習として、ハンズオンで取り上げられたAWSサービスに関する用語と、使用したAWS CLI コマンドを箇条書きでまとめる。
今回はEC2基礎編を取り上げる。

#主なAWSサービス用語
####インターネットゲートウェイ
VPCとインターネットとの間の通信を可能にするオブジェクト。静的NAT変換機能とVPC⇔インターネット間のルーティング機能を有する。

####キーペア
EC2インスタンスにログインするために使用する公開鍵と秘密鍵のペア。

####Elastic IP
EC2インスタンスに静的IPv4アドレスを付与するためのオブジェクト。

####EBS
EC2インスタンス向けの、高性能で可用性に優れたブロックストレージ。スナップショットを用いる事で、S3にバックアップを取る事ができる。

####AMI
EC2インスタンスを起動するために必要となる、OSのディスクイメージを収めたデータ。

#主なAWS CLI コマンド一覧
####VPCの作成
“`
$ aws ec2 create-vpc –cidr-bl

元記事を表示

LambdaでS3にある画像をDropboxにアップロードする

LambdaでS3にある画像をDropboxにアップロードしたときの個人メモ


# 構成図
![000.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242897/24855f5e-5fd6-66ff-560b-e74a2d61535e.png)

# 前提
[LambdaでDropbox APIを実行する](https://qiita.com/nkmk1215/items/573bce8924f42d4d9690)ができていること

# 実行準備
## S3
– Dropboxにアップロードするファイルを配置
![004.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/242897/393dc4aa-dcd1-de56-667a-b2ee9d452148.jpeg)

## Lambda
### 作成
– Python3.9にて
![000.JPG](https://qiita-image-store.s3.ap

元記事を表示

【AWS CloudFormation】serverless.templateを利用してインフラをコード化してみた。

#はじめに
毎日定期的に通知を送る処理をEventBridge + Lambdaで作成したのですが、CloudFormationの勉強として、それらをserverless.templateにまとめてみました。

##参考にしたドキュメント
AWSの公式ドキュメントを参考にしました。

https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-resource-function.html

https://docs.aws.amazon.com/ja_jp/serverless-application-model/latest/developerguide/sam-property-function-eventsource.html

## serverless.template

“`json:serverless.template
{
“AWSTemplateFormatVersion”: “2010-09-09”,
“Transform”: “AWS::

元記事を表示

AWS ソリューションアーキテクトアソシエイト合格【未経験エンジニア】

##概要
はじめまして!

今回はAWS ソリューションアーキテクトアソシエイトというAWSの資格を取得したのでその概要と勉強方法を載せたいと思います。

前提として、私はインフラ構築に携わったことは無く、
AWSという言葉は聞いたことあるけどどんなものなのかわからない、なんかかっこいい響きがする、、
そんな状態から勉強を始めました。

##期間と勉強時間

期間はぴったり3週間で、勉強時間は51時間半でした。
SAAはAWSのサービスを広く浅く覚えないといけないので、合格だけを目指すのであれば短期間で集中的に学習して暗記するのがいいのかなと思います。

![勉強時間.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/593491/7a66f27f-294a-deac-753e-31cb32f8ecaa.png)

※会社の研修で上記学習時間に加えてハンズオン形式で約30~40時間ほどAWSの勉強をしました

##試験の概要

試験時間
130分

元記事を表示

基本的な構築

__<記事の目的>__
aws cloudtechにて、下記学習した項目の躓いた箇所について記載します。

①VPC②IAM③EC2④RDS

__<使用物>__
HP製ノートPC 1台
__<工程>__
①VPC(サブネット、インターネットゲートウェイ、NATゲートウェイ作成含む)
→問題なく設定完了
②IAMユーザの作成と認証設定
→二段階認証を設定し、「Authenticator」を使用。
 問題なく設定完了
③EC2
→AMIの作成時にアベイラビリティの選択間違え。
④RDS
→セキュリティグループのインバウンドルールの編集にて編集ができない。

__<躓いたところ>__
・AMIの作成時にアベイラビリティの選択間違え。
・セキュリティグループのインバウンドルールの編集にて編集ができない。
・コマンドプロンプトからssh接続ができない。

__<問題解決>__
・AMIの作成時にアベイラビリティの選択間違え。
→AMI作成時に誤って、アベイラビリティの選択を間違えてしまった。
作成したAMIから編集が出来ないか操作しても編集の項目が見つからない。
調べてみると、一度作成した

元記事を表示

AWS SAAに実際に合格した勉強方法とAWS SAAの資格をとったほうが良い理由

普段バックエンドエンジニアとしてフリーランスをしている[revenue-hack](https://twitter.com/tagaranoko1014)です!

今日は実際にAWS SAAを取得した方法について解説します。

この方法でやれば未経験者でもAWS SAAを取れます。

結論は

– AWS公式の模擬試験はやらなくても良い(もちろん心配な人はやっても良いです)
– ブラックベルトは読まくて良い
– ホワイトペーパーは読まなくて良い
– AWS Well-Architectedフレームワークは読まなくて良い
– Udemy動画で勉強すればOK
– 心配な人はAWS認定ソリューションアーキテクト問題集をやる

です。
僕はこれで合格しました。
:point_down:実際の詳しい勉強法やAWS SAAの試験対策については以下の記事を参照してください!:point_down:

2分程度で読み終わります!

これで合格!AWS SAA勉強方法/対策(ソリューションアーキテクトアソシエイト)

## AWS SAAの資格を勉強すると意外と細かいことを知らないことに気づけた

AWS S

元記事を表示

【AWS】初心に戻って1からVPCを構築してみた ルートテーブル構築編

#はじめに
昨日の記事の続きです。VPCとパブリックサブネット、プライベートサブネットを構築しました。本日はルートテーブルを構築します。

ネットワークにデータを流すにはルーティング情報が必要です。
ルートテーブルは「宛先IPアドレス(住所)がAの時には、あの子ネットワークに流し、Bの時にはその子のネットワークに流すのだ」といった仕分けをするものです。

郵便局で年賀状の郵便番号箇所を機械が自動で読み取り、仕分けていくといった感じに似ていますね。

ここまでの過去の手順は以下にありますのでご参考ください。

https://qiita.com/hirockio2206/items/303f7f4ac993f7dabdb8

https://qiita.com/hirockio2206/items/f6060486fc6ec0f2c904

#構成図
今回は以下のルートテーブルを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1966337/2fd8e466-9b91-01db

元記事を表示

URLパラメータで指定したEC2の起動・停止

## 最小限の手順でサクッと構成したい

「EC2の起動とか停止とかをURLアクセスでできないかね。URLパラメーターでサーバー名を指定して(Nameタグで指定して)起動する、みたいな。」
という要望は、EC2の起動・停止を手動で運用している環境で生じていると思います。
実現する投稿は多くあるけれども、セキュリティや拡張性も考えて実装している例が多く(まあそうするのが当然なので)、その結果として難しくなってしまい、やっぱコンソールで手動操作でいいやとあきらめてしまうことも考えられます。
ちょっともったいないですね。

そこで、API Gateway + Lambda を使用して **できるだけ少ない手順で** 実装してみます。
入力値や変更する選択肢は全て書き起こしてみます。
・EC2は全て ap-northeast-1(東京リージョン)にある前提です。

※AWSでEC2の”起動”はローンチのことを指しますが、ここでは最初のセリフのように”起動”を一般的な使われ方(AWSでは”開始”の意味)で使っています。

では進めましょう。

## 1.IAMポリシーの作成

IAM > IAM

元記事を表示

OTHERカテゴリの最新記事