- 1. Elasticsearchのsnapshot取得してリストア(復元)するまで
- 2. AWSの新サービス「AWS Network Firewall」を早速使ってみた
- 3. AWSのリザーブドインスタンスについての学び
- 4. AWS Fargate使ってみた
- 5. CloudFormationで、GetAZs で取得できるAZについて
- 6. 俺でもわかるトレースID(AWS CloudFrontとAWS ELB)
- 7. UbuntuにAWS IoT Greengrassをインストールする
- 8. AWSサポートプラン4種比較
- 9. 個人的によく使うAWS CLIコマンド
- 10. Boto3でAWSのリソースを取得する時に作成したリソースだけ表示する
- 11. [AWS SAM] Lambda Layerの定義(nodejs)
- 12. CloudFormationでEC2を構築した時にEBSにTagsを付与できない
- 13. CloudFormationに日本語コメントを含みたい
- 14. Amazon SageMakerとAzure MLにおける機械学習モデルのサービング技術比較(前編)
- 15. rails new〜デプロイまでの学習レポート
- 16. [OCI]goofysを利用してAWS S3からオブジェクト・ストレージに直接ファイルをコピーしてデータ移行してみた
- 17. 【初心者向け】Rails6で作られたWebアプリをCircleCIを使いAWS ECR・ECSへ自動デプロイする方法②-1 インフラ構築編【コンテナデプロイ】
- 18. SAAに合格したのでどんな感じだったか書いてみる
- 19. zoom会議での話のウケ度を数値化してみた
- 20. AWS BeanstalkでLaravelをデプロイするときにCloudwatch Logsにログを転送する
Elasticsearchのsnapshot取得してリストア(復元)するまで
Amazon Elasticsearch Service(以後esと記載)のsnapshotを取得する際、権限まわりで詰まったので、まとめてみる。
利用環境はMacです。## 【背景】
– esのsnapshotを手動で取得するのってどんな方法でできるんだろう。
– なんかちょっと権限まわりややこしそうだから一回触ってみよう
– 取得と復元でどれぐらい時間がかかるかもできたら測ってみようこんな課題感で手を動かし始めました。
## 【実際にやったこと】
– [公式ドキュメント](https://docs.aws.amazon.com/ja_jp/elasticsearch-service/latest/developerguide/es-managedomains-snapshots.html)を参考にする
– [【Amazon Elasticsearch Service】 手動スナップショットからリストアする方法](https://dev.classmethod.jp/articles/restore-from-amazon-es-manual-snapshot-ja/)を参
AWSの新サービス「AWS Network Firewall」を早速使ってみた
# はじめに
2020/11/17のアップデートで**「AWS Network Firewall」**という新しいサービスが登場しました。
本記事ではこのサービスの特徴について調べ、使い所を検討してみます。# これまでのサービスとは
これまで、AWSで外部からのアクセス制御・保護と言えば以下のサービスがありました。* Amazon Elastic Compute Cloud (EC2) インスタンスレベルでアクセス制御する**Security Group**
* Amazon Virtual Private Cloud (VPC) のサブネットレベルでアクセス制御する**Network ACL**
* Amazon CloudFront、Application Load Balancer (ALB)、Amazon API Gatewayで実行されているWebアプリケーションを保護する**AWS Web Application Firewall (WAF)**
* 分散サービス拒否(DDoS)攻撃から保護する**AWS Shield**# AWS Network Firewa
AWSのリザーブドインスタンスについての学び
## この記事で書くこと
AWSのリザーブドインスタンスについて学んだことをきちんと残す
体系的なものではなく、断片的な情報になります。 :bow:## リザーブドインスタンスとは?
[AWS公式ページ](https://aws.amazon.com/jp/ec2/pricing/reserved-instances/)
利用するインスタンスの枠を注文することによって、個別で使用するよりも割引を利用できるのでお得になる、という仕組みです。
## 何を学んだ?
リザーブドインスタンスを途中で変更したくなった時にどうしたらいいのか?の答え「え、枠で割引を受けてるんだから、途中で変えられないでしょ。」と思っていました。
が、変えられます。ただ、何でも好きなように変更可能というわけではないです。
[AWS公式ガイド | リザーブドインスタンス の変更](https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ri-modifying.html)
自分の今回学んだケースは、インスタンス**サイズ**の変更が可能
AWS Fargate使ってみた
こんにちは。むんです:grinning:
AWS FargateでDockerを動かしてみたので、備忘録です。## 目次
– AWS Fargateとは?
– Fargateでコンテナを作る
– まとめ##AWS Fargateとは?
端的に言うと、サーバーレスでコンテナが使える技術。##Fargateでコンテナを作る
AWS公式チュートリアル
https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/userguide/fargate-getting-started.html#####1. Amazon ECS コンソールの初回実行ウィザードを開く
#####2. ナビゲーションバーから、米国東部(バージニア北部) リージョンを選択する
現在、Fargateは米国東部(バージニア北部) リージョンでのみ、使える機能なようです。
#####3. コンテナを選択する
今回はnginxを選択しました。
!
CloudFormationで、GetAZs で取得できるAZについて
EC2-VPCでは、デフォルトのサブネットがあるアベイラビリティーゾーンのみを返します。 らしい。
“`
EC2-VPC プラットフォームでは、Fn::GetAZs 関数はデフォルトのサブネットがあるアベイラビリティーゾーンのみを返します。デフォルトのサブネットがあるアベイラビリティーゾーンがない場合は、すべてのアベイラビリティーゾーンを返します。
“`先に デフォルトのサブネット を作っておくこと
“`
aws ec2 create-default-subnet –availability-zone ap-northeast-1[a|c|d]
“`## 参考URL
– https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getavailabilityzones.html
俺でもわかるトレースID(AWS CloudFrontとAWS ELB)
俺です
いつでもCFやELBぶっ刺してもばっちこいなNginxになれるようにlog_formatに脳死でいれとけメモです
|HTTPヘッダ|Nginx log_format|
|—-|—-|
|X-Amz-Cf-Id|$http_x_amz_cf_id|CloudFrontのrequest_id|
|X-Amzn-Trace-Id|$http_x_amzn_trace_id|ELBのtrace_id|https://docs.aws.amazon.com/ja_jp/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html
https://aws.amazon.com/jp/premiumsupport/knowledge-center/trace-elb-x-amzn-trace-id/死
UbuntuにAWS IoT Greengrassをインストールする
# はじめに
会社の業務でAWS IoT Greengrassについて勉強したので、今回から数回に分けてUbuntu搭載デバイスとAWS IoTを利用したアプリケーションを紹介していきたいと思います。
初回はクラウド上でのGreengrass Groupの作成と、エッジデバイスへのGreengrass Coreのインストール方法を紹介します。[Azure IoT Edgeを使った記事](https://qiita.com/Yokogawa_Mita/items/f7996d539b29618d7159)もあるので興味のある方は是非ご覧ください。
# 環境
動作確認済デバイス(OS)– e-RT3 Plus F3RP70-2L[^ert3](Ubuntu 18.04 32bit)
横河電機のエッジコントローラです。AWS IoT Greengrassの認定デバイス[^certificate]に登録されています(e-RT3のページは[こちら](https://devices.amazonaws.com/detail/a3G0h000007dE0NEAU/e-RT3-Plu
AWSサポートプラン4種比較
具体的なサポート内容は [公式情報](https://aws.amazon.com/jp/premiumsupport/plans/)を参照
| |ベーシック|開発者|ビジネス|エンタープライズ|
|:—-|:—-|:—-|:—-|:—-|
|対応期間|-|月~金,09:00~18:00|24時間年中無休|24時間年中無休|
|応答速度|-|12h以内|1h以内|15min以内|
|コスト|無料|29USD~|100USD~|15000USD~|
個人的によく使うAWS CLIコマンド
# 概要
個人的によく使うAWS CLIのコマンド集.
yamlが好きなので [`json2yaml`](https://github.com/drbild/json2yaml) が頻出しますが,そこは従うなり無視するなりご自由に…# EC2インスタンス情報のサマリ
“`bash
INSTANCE_ID=”
AWS_REGION=’ap-northeast-1′aws ec2 describe-instances \
–filters Name=instance-id,Values=${INSTANCE_ID} \
–region ${AWS_REGION} \
–query ‘Reservations[].Instances[].{InstanceId:InstanceId,PrivateIpAddress:PrivateIpAddress,PrivateDnsName:PrivateDnsName,PublicIpAddress:PublicIpAddress,PublicDnsName:PublicDnsName,Tags:Tag
Boto3でAWSのリソースを取得する時に作成したリソースだけ表示する
# 前提
AWSのリソースをBoto3で取得する時に、一部のリソースだと作った覚えのないリソースが含まれてしまうことがある。
これらはおそらくAWSが自動で作成したり、デフォルトで用意されているものだろう。
私の場合、スナップショット一覧を取得しようとしたら、AWSコンソール上では見たことないし、作った覚えがないリソースがあった。
以下がソースである。“`python
client = self.session.client(‘ec2’)
snapshots = client.describe_snapshots()
“`# 対処方法
**自身が作成したものだけ**を表示するためには“`OwnerIds“`を指定してあげれば良い。
### 自分が作ったリソースを表示
“`python
client = self.session.client(‘ec2’)
snapshots = client.describe_snapshots(OwnerIds=[‘self’])
“`### ユーザIDを指定
“`python
client = self.sess
[AWS SAM] Lambda Layerの定義(nodejs)
# 目的
[前回記事](https://qiita.com/takmot/items/c54578e24e2c61c15d1c)で[cfn-response モジュール](https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/cfn-lambda-function-code-cfnresponsemodule.html)を使用したが、
インライン実装にしか対応しておらず不便なためLayerとして実装する# ファイル構成
“`yaml
lambda-layer/
├─ layers/
│ └─ cfn-response-layer/
│ └─ nodejs/
│ ├─ node_modules/ # [npm i cfn-response] で生成
│ ├─ cfn-response/
│ │ ├─ package.json # [
CloudFormationでEC2を構築した時にEBSにTagsを付与できない
かゆいところに手が届かない。
“`yaml
BlockDeviceMappings:
– DeviceName: /dev/sda1
Ebs:
VolumeSize: 50
Tags # 不可能
– Key: “keyname1”
Value: “value1”
“`
公式が情報を[ナレッジセンターに出している](https://aws.amazon.com/jp/premiumsupport/knowledge-center/cloudformation-instance-tag-root-volume/)が、余計な情報が多すぎる、ここだけでいい。“`yaml
UserData:
Fn::Base64: !Sub |
#!/bin/bash
AWS_AVAIL_ZONE=$(curl http://169.254.169.254/latest/meta-data/placement/availability-zone)
AWS_REGION=”`echo \”$AWS_AV
CloudFormationに日本語コメントを含みたい
# 前提条件
– Windowsで*.ymlに日本語コメントを含めてAWS CLIを叩いた場合のみ起こる
– マネコンから*.ymlをアップロードした場合は不明
– AWS CLIをインストーラからインストールしている場合のみ起こる
– 結論から言うとインストーラからインストールしているAWS CLIをアンインストールしてpipでgithubからインストールすればいい# テンプレートに日本語コメントを含めるとエラーになる
“`yaml
# これは日本語だ
AWSTemplateFormatVersion: ‘2010-09-09’
Parameters:
Parameter:
Type: NumberResources:
# 日本語だ、これは
Lambda:
Type: ‘AWS::Lambda::Function’
“`こういうテンプレートファイルを`aws cloudformation create-stack –template-body file://hoge.yml –stack-name foo`と実行すると
Amazon SageMakerとAzure MLにおける機械学習モデルのサービング技術比較(前編)
初版: 2020年11月18日
著者: 橋本恭佑、柿田将幸, 株式会社 日立製作所## はじめに
機械学習技術のビジネスへの活用ニーズが高まり、機械学習モデルの開発や運用のライフサイクルを支援するフレームワークに注目が集まっています。
パブリッククラウドでは上述のフレームワークを公開しており、フレームワーク利用者は機械学習モデルを迅速に作成し自身のシステムに組み込んで公開することができます。
機械学習モデルをシステムに組み込み、サービスとして公開する一連の技術はサービング技術と呼ばれており、
システム構築と運用を担うSEにとって重要な技術です。
本連載ではAI案件に対応するSEを対象として、Amazon SageMakerとAzure MLを例に、パブリッククラウドが提供するフレームワークとサービング技術を概観し、2つのクラウドベンダにどのような違いや特徴があるかを説明します。
なお、本連載に記載のAmazon SageMakerまたはAzure MLの情報は2020年9月末日現在のものであり、今後のアップデート等によって内容が変わることがあります。### 投稿一覧
rails new〜デプロイまでの学習レポート
##はじめに
本記事は、ぼくが2020年7月〜10月までに学習した、Ruby及びRailsの内容を振り返るものです。
今年の2月くらいの段階では**HTMLもまるで書けないくらい無知**だったのですが、
等の学習サイトや各種記事を参考にさせていただいて、なんとかデプロイまで漕ぎ着けることができました。なお現在の状況としては、
– **就職活動中(HTMLコーダー職志望)**
– **学習を継続し、社内でのエンジニア登用を希望している**
– **フロントエンドとインフラに関心が強い**
– **Railsアプリの他に、Web制作に向けたWordPressの学習も行った**
– **フロント・バックともにそれらサイトで学習の継続を予定**というところです。
##制作したアプリケーション
動いている実際のアプリは[こちら](https://filma.space/)。
使用言語は**Ruby**、フレームワークは**Ruby on Rails**です。AWS EC2サーバーにて、
– アプリケーションサーバ ▶︎ **Puma**
– Webサーバ ▶︎ **Ngi
[OCI]goofysを利用してAWS S3からオブジェクト・ストレージに直接ファイルをコピーしてデータ移行してみた
#はじめに
オブジェクト・ストレージをファイルシステムとしてマウントできる[goofys](https://github.com/kahing/goofys)を利用して、AWSのS3バケットからOCIオブジェクト・ストレージに直接データを移行してみました。この方法であれば、S3バケット内のファイルを一度どこかにダウンロードしてからアップロードする必要がないため、中間ストレージが不要になります。
安定した環境が必要な場合は、S3側に[AWS Storage Gateway](https://docs.aws.amazon.com/ja_jp/storagegateway/latest/userguide/WhatIsStorageGateway.html)、OCIオブジェクト・ストレージ側に[Oracle Cloud Infrastructure Storage Gateway](https://docs.cloud.oracle.com/ja-jp/iaas/Content/StorageGateway/Concepts/storagegatewayoverview.htm)を使
【初心者向け】Rails6で作られたWebアプリをCircleCIを使いAWS ECR・ECSへ自動デプロイする方法②-1 インフラ構築編【コンテナデプロイ】
記事の続きをご覧いただきありがとうございます。
[前回の下準備編](https://qiita.com/Kiyo_Karl2/items/5f77d6f59bcddf05c614)の続きになります。今回はインフラ構築編②-1です。| タイトル|
|:———–|
| [① 下準備編](https://qiita.com/Kiyo_Karl2/items/5f77d6f59bcddf05c614) |
| [②-1 インフラ構築編](https://qiita.com/Kiyo_Karl2/items/ddf03ac97ab649b63c1d) **←今ここ!** |
| ②-2 インフラ構築編(執筆中) |
| 自動デプロイ編(執筆中) |
少し長いので覚悟してください!笑それでは、早速やってきましょう!
# インフラ構築編②-1
最初に流れを説明します。ここでやることは主に2つだけですが、色々と設定する項目があります。地道にやっていきましょう。– クラスターの作成
– RDSの設置このような構成に
SAAに合格したのでどんな感じだったか書いてみる
未経験からエンジニアになって2年目になるのですが、そろそろ何かしらの資格に挑戦してみようかなあと思い、SAAを受験してみました。
勉強期間、試験内容など、どんな感じだったかまとめていきたいと思います〜
SAAの試験の概要は[こちら](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)
## 勉強時間、勉強方法
勉強期間はトータルして大体5週間ちょっとぐらいです。9月下旬に勉強を始めて、11月16日に試験を受けたので、期間としては2ヶ月程ありますが、サボったり、仕事が忙しかったり、ドラマにはまってしまったりwと勉強してない期間も結構あったので、そこは省いた期間となります。
教材は、Udemyで、
– AWS認定ソリューションアーキテクト – アソシエイト試験突破講座
– AWS認定ソリューションアーキテクト アソシエイト模擬試験問題集この2つを購入しました。
勉強方法としてはいたってシンプルで、
1. 教材の動画をみて内容を理解
2. 問題を解く。
3
zoom会議での話のウケ度を数値化してみた
#はじめに
最近zoomでの会議や授業などが増えてきていますが、やはり対面じゃないとどのくらい話に関心を持ってくれているのかわからない…ということがあると感じ、数値化してみればいいんじゃないか?と思い立ち作ってみました。初投稿なので拙い部分もありますが最後まで読んでいただければ幸いです:sweat:
#目的
zoom会議の画像または動画を取得し、写っている顔を認識、話への関心度を測定する。
#実装
##試しに
今回zoom会議に出席している人物の顔認識をするのにAmazon Rekognitionを使うことにしました。使い方はこちらの記事を参考させていただきました。
https://qiita.com/G-awa/items/477f2324552cb908ecd0“`python:detect_face.py
import cv2
import numpy as np
import boto3# スケールや色などの設定
scale_factor = .15
green = (0,255,0)
red = (0,0,255)
frame_thickness =
AWS BeanstalkでLaravelをデプロイするときにCloudwatch Logsにログを転送する
# 前提のBeanstalk環境
PHP 7.4 running on 64bit Amazon Linux 2/3.1.3
# やること
– lavavel.logのパーミッション設定
– EC2にCloudwatch Logsのロググループ作成のためのサービスロールを追加
– 設定ファイル(.ebextensions)の作成# 1. lavavel.logのパーミッション設定
“`sh
$ chmod 0664 /var/www/html/storage/logs/laravel.log
“`# 2. lavavel.logのパーミッション設定
– Beanstalk環境のIAM インスタンスプロフィールに設定されているIAMロールに、CloudWatchLogsFullAccessのポリシーを追加
(Codepipelineでデプロイしている場合は、そのロールにも同様にCloudWatchLogsFullAccessのポリシーを追加)# 3. 設定ファイル(.ebextensions)の作成
– PHP Platformでデフォルトで追加されるログの設