- 1. AWS 認定 SysOps アドミニストレーター – アソシエイト#1
- 2. AWS educate S3で「Create bucket」する際に起きるエラーの解決方法
- 3. AWS RDSでデータを管理する
- 4. EC2に付けたタグで同じ値のものがいくつあるのか集計する
- 5. amazon/aws-cli イメージを CircleCI で使う
- 6. AWS FargateでEFSを使う – EC2起動タイプからの移行 (bridge → awsvpc)
- 7. AWS 認定 デベロッパー – アソシエイトレベル対策
- 8. 画像分析サーバレスWebアプリ 簡易ver.
- 9. NetBackupとInformation Studioを連携したAWS Cloud Storageの活用
- 10. Veritas Resiliency PlatformとNetBackupを活用したクラウドリカバリソリューション
- 11. ブラウザからS3に直接ファイルをアップロード vue.js+VueDropzone
- 12. 【Rails】本番環境とローカル環境のGemのインストール
- 13. Amazon Linux2にMySQLをインストールする
- 14. Amazon Linux2で構築するときの初期設定
- 15. Pre-Signed URLでS3に直接ファイルをアップロードする
- 16. フォトクリエイトのチーフエンジニアを退任しました
- 17. 【Terraform】for_each で AWS SSM パラメータストア に パラメータを一括登録する
- 18. AWSソリューションアーキテクト学習方法
- 19. 素人がWebサービスを作る備忘録(実装編)①
- 20. FargateからのEFSマウントを試す
AWS 認定 SysOps アドミニストレーター – アソシエイト#1
#はじめに
こんにちは前回の記事でDVAを達成したので次はSOAを目標に設定しました。
記事としては読み物でなく自分の学習のメモ書きとします。
問題解決の仕方や勉強方法がわからない方に参考になれれば幸いです。##サンプル問題
サンプル問題は全問正解でした。ですが、すべての選択肢に対して根拠をもって否定することができなかった問がありました。
###出題傾向分析
* ELBのユースケース
* CloudwatcheventとSNS連携
* VPCピアリング
* EC2権限管理(IAM)
* WAFユースケース###やらなければならないこと
* WAFハンズオン&ホワイトペーパー
* AWS CLIでELBにSSL証明書を設定する
* cloudfrontハンズオン&ホワイトペーパー
* EC2購入オプション復習
* AWS責任共有モデル復習
* AWS Comfigハンズオン&ホワイトペーパー###わからなかったもの
* EC2インスタンスフリート
* AWSバックボーン
* ウェブスクレイピング
* HTTPフラッディング攻撃
* GuardDuty
AWS educate S3で「Create bucket」する際に起きるエラーの解決方法
##エラーの内容
※AWS educateをクレジットカードの登録無しで使っている場合のみに起きるエラーだと思います。AWS S3で起きたエラーですが、他のAWSサービスでも同じエラーが起きるかもしれません。AWS S3で「Create bucket」すると、「Failed to create bucket」というエラーが発生します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/572997/2e8b7f55-b801-17db-891e-61572c03904a.png)
##エラーの解決方法
「Region」の項目を「N. Virginia」にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/572997/0cdc046f-867b-9969-01fb-e8a60c88eea6.png)
AWS educateでは、「Region」は「N. Virginia」にしか対応して
AWS RDSでデータを管理する
# はじめに
– AWS上でリレーショナルデータベースを扱うには、以下の方法があります。
– AWS EC2を構築して、DBを乗せる
– AWS RDSを使う# AWS RDS無料枠
– 無料枠は以下の内容
> – 750 時間/月の db.t2.micro データベース使用 (適用可能な DB エンジン)
> – 20 GB の汎用 (SSD) データベースストレージ
> – 20 GB のデータベースバックアップおよび DB スナップショット用ストレージ# 簡単作成 – MySQL –
– [MySQL DB インスタンスを作成してデータベースに接続する](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.html)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/89366/faee68d5-57
EC2に付けたタグで同じ値のものがいくつあるのか集計する
##EC2のタグを集計したい理由
タグを付ける理由も色々あるように、集計したい理由も色々考えられます。– 本番系か開発系か(Envタグ等)を付けている場合、本番系の割合
– メンテナンス時刻(MaintHHタグ等)を付けている場合、暇なEC2が多い時間帯
– コスト配分タグの付与状況
– タグによってジョブ実行させる場合の同時実行数の調整
– きれいにタグが付いていることを眺めたい!等
手動ならマネージメントコンソールで、EC2を選択して、左ペインで「タグ」をクリックすればOKですが、ここではCLI/API+スクリプトで考えます。
## EC2の全てのタグの取得
AWS-CLIで、特殊なコマンドは必要ありません。
“`bash
aws ec2 describe-instances –output json
“`を実行するだけでよいです。
いろんな属性とともにEC2のタグも全て取得できます。
–query を付けて絞ることもできます。## describe-instancesの結果に含まれるタグの場所
取得されたJSONの中で、タグ情報が格納
amazon/aws-cli イメージを CircleCI で使う
先日、待ちに待った [AWS 公式の aws-cli イメージ](https://hub.docker.com/r/amazon/aws-cli) がついに公開されました。
というわけで早速 CircleCI で使ってみたのですが、少しだけハマったので共有します。## 結論から
CircleCI で `amazon/aws-cli` イメージを使う場合は環境変数 `AWS_PAGER` に空文字を設定しましょう。
“`yaml
version: 2.1executors:
aws-cli:
environment:
AWS_DEFAULT_REGION: ap-northeast-1
AWS_PAGER: “” # ここが重要
docker:
image: amazon/aws-clijobs:
build:
executor: aws-cli
steps:
– aws codebuild start-build –project-name myproject
“`## 解
AWS FargateでEFSを使う – EC2起動タイプからの移行 (bridge → awsvpc)
2020/4/8, ついにFargateでEFSが使えるようになりました!
> – [Amazon ECS and AWS Fargate support for Amazon EFS File Systems now generally available](https://aws.amazon.com/jp/about-aws/whats-new/2020/04/amazon-ecs-aws-fargate-support-amazon-efs-filesystems-generally-available/)
> – [Amazon Elastic Container Service now supports Amazon EFS file systems \| AWS News Blog](https://aws.amazon.com/jp/blogs/aws/amazon-ecs-supports-efs/)この記事では、Fargateサポートを待ちつつも無念の『ECS on EC2 + EFS』構成を取っていた環境を移行するまでにハマった落とし穴を紹介していきます。
AWS 認定 デベロッパー – アソシエイトレベル対策
#はじめに
こんにちは、本日試験を受験し合格いたしましたのでアプローチと出題傾向をお伝えいたします。
##アプローチ
###① 市販で売られている以下の書籍を一週間ほどかけて目を通す
「AWS認定アソシエイト3資格対策~ソリューションアーキテクト、デベロッパー、SysOpsアドミニストレーター~」
###② オンライン模擬テストを受講###③ ハンズオンを三時間ほど着手
これで私は合格できました。
##出題傾向
* ElasticCashを使用してセッションをオフロード
* ApiGatewayのエイリアス機能
* Lambdaのデバッグ方法
* ECSのプラットフォーム別権限管理
* Kinesisの用途
* SQSのロングポーリングとショートの使い分け
* ElasticCashの書き込み方法の違い
* ApiGatewayのオーソライズにあたってLambdaを用いるかCognitoを用いるか
* DynamoDBのDAX.RCU.WCU.クエリの方法.インデックスの作成など
画像分析サーバレスWebアプリ 簡易ver.
# はじめに
[まずやってみる機械学習 ~AWS SAGEMAKER/REKOGNITIONとVUEで作る画像判定WEBアプリケーション](http://www.intellilink.co.jp/article/column/ai-ml01.html)を参考にサーバレスの画像分析Webアプリを構築できるソース一式をGitHubに公開した。
参考にしたページとの相違点を下記に示す
– 参考にしたページでは SageMaker で推論モデルの作成からエンドポイントを公開、そしてその結果を利用しているが、その部分をカットして簡易ver.にした。
– 推論のエンドポイントは基本的に立てっぱなしになるため、その間料金が発生してしまうため。
– API Gateway / rekognition / lambda であれば、基本的に使用しただけの料金になる。
– 参考ページでは cloud9 経由 で lambda にデプロイしているが、Docker で chalice 環境を構築しそこからデプロイしている。
– Docker イメージをビルドするだけでchalice環境の構築
NetBackupとInformation Studioを連携したAWS Cloud Storageの活用
#はじめに
####長期にわたってデータを保持したり、オンプレミスの障害、攻撃、災害からデータを保護するオプションとして、ますます多くの企業がパブリッククラウドに挑戦しています。コスト、セキュリティ、およびクラウドに送信できるデータに関する洞察は、主な要件の一部です。 Veritas製品スイートは、これらの問題と懸念の一部を軽減することができます。たとえばNetBackupでは、
・セキュリティのために保存中および移動中のデータの暗号化機能があります。
・クラウドとの間で出入りするコストを削減するために、重複排除や圧縮などのストレージ効率化テクノロジーを備えています。
・AWSが提供するさまざまなストレージクラスとの間でデータを送受信することをサポートします。さまざまなコスト、可用性、パフォーマンスで、組織の重要なデジタル資産を長期にわたって保持および保存します。さらに、NetBackupは大規模なデータ移行またはパブリッククラウドへのデータの初期シードのためにAWS SnowballおよびSnowball Edgeをサポートしています。たとえばInformation Stu
Veritas Resiliency PlatformとNetBackupを活用したクラウドリカバリソリューション
#はじめに
####ベリタステクノロジーズは、企業の成功に不可欠なデジタル資産の保護と管理に焦点を当てたアプリケーションとデータの回復力強化ソリューションを開発するリーダーです。 当社の主力製品の 1 つである Veritas Resiliency Platform は、データセンター、ハイブリッド環境、マルチクラウド環境で高可用性とディザスタリカバリ (HA/DR) を実現するように設計されています。ベリタスのポートフォリオと、お客様が信頼して信頼してきた安定したソリューションを提供してきた実績に加えて、Resiliency Platform は、オンプレミスとクラウドで複数のプラットフォームを使用する組織の HA/DR ニーズに対応するために設計されたエンタープライズクラスのソリューションです。 Resiliency Platform は、幅広いデータセンターのワークロードを管理し、必要に応じてワークロードのフェイルオーバー、フェイルバック、移行、テストを可能にするオーケストレーションエンジンとして機能します。 Resiliency Platformには、Veritas NetBa
ブラウザからS3に直接ファイルをアップロード vue.js+VueDropzone
# はじめに
前回までで
[Node.jsのLambdaでPre-Signed URLを発行する](https://qiita.com/gungungggun/items/66d0128436e0dcb176b2)
[Pre-Signed URLでS3に直接ファイルをアップロードする](https://qiita.com/gungungggun/items/c1dd5da5fced8c044e3c)
をしたし、ブラウザからでも簡単にいけるだろうと思ってたけど、かなりハマった。
僕が一番ハマったのは`signatureVersion: ‘v4’`が必要ってところでした。
一応手順をメモしておいたので参考になればと思います。# S3に直接
S3に直接ファイルをアップロードするにはPre-Signed URLを使うと良いです。
ここまでは前回までで実装できています。
ブラウザからとなると、CORSの設定と、クライアントのjsの実装くらいなのでそこまでハマらないはず。って思いますよね?# CORSの設定
ブラウザからのアクセスなのでCORSの設定が必要です。
S3のバケット>アクセス権
【Rails】本番環境とローカル環境のGemのインストール
ちょっと詰まったので備忘録
ローカルでunicornのgemを入れたけど本番では入ってないことに“`
bundle exec unicorn_rails -c config/unicorn.rb -E production -D
“`をしてから気付く
あれーおかしいなぁと思って調べたら[こちら](https://qiita.com/KONTA2019/items/46474bab52a9d6d0b3bc)で載っていたので参考に#Githubのmasterを反映しないといけない
masterブランチで作業してたんで反映させないと本番環境にも反映されないっぽいですね。
解説の通りmasterをpushして反映→本番環境で“`
git pull origin master
“`これで反映されたので
“`
bundle install
“`いっぱいgemが入ってきてunicornも確認出来ました。
いやー詰まってたところが解消されるとやっぱ気持ちいいもんですね。
Amazon Linux2にMySQLをインストールする
こんにちは!zltnです。
Amazon Linux2にMySQLをインストールしたときに行なったことについて紹介します。# 事前準備
Amazon Linux2にはデフォルトでMariaDBがインストールされています。“`
# yum list installed | grep mariadb
mariadb-libs.x86_64 1:5.5.64-1.amzn2 installed
“`ちなみにMySQLはインストールされていません。
“`
# yum list installed | grep mysql“`
MariaDBはMySQLと互換性があるので、どちらもインストールすると競合を起こします。
そのため、MySQLをインストールするためにMariaDBを事前にアンインストールしておきます。“`
# yum remove mariadb-libs
# yum list installed | grep mariadb“`
# MySQLのインストール
MySQLがイ
Amazon Linux2で構築するときの初期設定
初めまして、zltnです。Qiitaデビューしました。
Amazon Linux2を利用してサーバーを構築する機会があったので、行なった初期設定について書きます。# 初期設定
初期設定では以下を行ないました。– timezoneの設定
– localeの設定
– Hostnameの設定
– 時刻同期設定
– サービスの自動起動設定# timezoneの設定
Amazon Linux2を起動時のデフォルトの設定を確認します。
Local timeはUTCになっています。“`
# timedatectl status
Local time: Fri 2020-04-10 01:04:44 UTC
Universal time: Fri 2020-04-10 01:04:44 UTC
RTC time: Fri 2020-04-10 01:04:44
Time zone: n/a (UTC, +0000)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ:
Pre-Signed URLでS3に直接ファイルをアップロードする
# S3にファイルをアップロード
S3にファイルをアップロードするときLambdaやEC2経由にすることが多いかと思いますが、大容量のファイルだとS3に直接アップするほうが効率が良さそうです。
そういった場合はPre-Signed URLを取得して直接S3にファイルをPUTしてやると良さそうです。# Pre-Signed URLの取得
以下のコードでPre-Signed URLが取得できます。“`js:Lambda
const s3 = new AWS.S3()
const params = {
Bucket: ‘<バケット名>‘,
Key: ‘<ファイルパス>‘,
Expires: 100 // 期限(秒)
}async function getPresignedUrl(){
return new Promise((resolve,reject)=>{
s3.getSignedUrl(‘putObject’, params, (err, url) => {
if (err) {
reject(err)
}
フォトクリエイトのチーフエンジニアを退任しました
## はじめに
先日、ツイート[^tweet]しましたが、2020年3月末で、フォトクリエイトさんとの業務委託契約を終了しました。
自動的に、チーフエンジニアも退任ということになりました。過去に、チーフエンジニアになりましたという記事[^chief_engineer]を書いた以上、チーフエンジニアでなくなりましたという記事も必要だろうということで、振り返りしてみようと思います。
## やってきたこと
フォトクリエイトでやってきたことについては、アドベントカレンダーなどに記事を投稿しているので、興味ある方はご覧になってください。– [Symfony2のプロジェクトにひたすら機能テストを書いた話](https://qiita.com/imunew/items/9fc2cdb184d7ffd4682c)
– [リモートワークの業務委託だけどチーフエンジニアになりましたという話(Photocreate Advent Calendar 1日目 )](https://qiita.com/imunew/items/257c943cb92661629b96)
– [ららびゅう座談会を開催しま
【Terraform】for_each で AWS SSM パラメータストア に パラメータを一括登録する
# はじめに
TerraformでAWSの環境構築を行う際に`for_each`を利用して**AWS SSM (System Manager) パラメータストア**にパラメータを一括登録する方法を備忘録として投稿させていただきます。
# terraform
“`hcl:variables.tf
variable “list” {
description = “AWS SSM パラメータストアに登録する名前と値のセット”
type = map(string)
default = {
“DB/HOST ” = “xxxxx”
“DB/USER” = “xxxxx”
“DB/PASSWORD” = “xxxxx”
“DB/DATABASE” = “xxxxx”
}
}
“`“`hcl:main.tf
resource “aws_ssm_parameter” “list” {
for_each = var.listname = “/${each.key}”
value = each.v
AWSソリューションアーキテクト学習方法
#はじめに
本記事は社内でAWSやろうぜ!という空気が生まれたので、
それに伴い作成した学習ガイダンスとして作成しました。
内容は書きすぎず極力シンプルに書いておきます。
※先人様の情報ソースや公式に一杯書いてありますしね。#AWS経験
– 提案、製品比較、自己学習で触った程度。ガッツリは触ってないです。むしろ触りまくりたいお年頃。#試験難易度
– 初学者が初受験合格は難しいかもしれない。
– 開き直って一度落ちて感覚掴む程度がちょうど良いかと。
※一回落ちました。#取得したAWS資格
– AWS 認定ソリューションアーキテクト – アソシエイト
– AWS 認定 SysOps アドミニストレーター – アソシエイト
※次はAWS 認定ソリューションアーキテクト – プロフェッショナルを取得予定。#学習方法
◆ポイント
実環境を可能な限り触ること。※必須ではないですが、イメージはつきやすくなると思います。##基本編
– 概要→詳細→理解の流れで把握すること。
– 次の流れが一番内容を理解しやすいと思う。
* **概要:Blac
素人がWebサービスを作る備忘録(実装編)①
#はじめに
今回は[前準備編](https://qiita.com/bArUsan1Gou/items/28c60172bb840299cea7)、[設計編](https://qiita.com/bArUsan1Gou/items/a8e86bd31a1e141be47e)の続きです。そちらに筆者のスキルレベルやこの記事の目的などが書いてありますので、先にお読みください。#実装にあたって
ここから実装に入っていくわけですが、稚拙な設計となっている為、かなりの回数の手戻り作業が発生することが見込まれます。その辺りもうまくいかなかった理由と改善策をまとめつつまとめていきたいと思います。
そして、実装にあたり個人的にまとめておきたいと思った昨日の追加などは別途記事にしてまとめていきたいと思います。(その方があとで見返すのとかも楽だし、、、)そして差し当たり、
・ユーザー管理機能
・投稿機能
・投稿一覧、投稿詳細機能
・画像ファイルアップロード機能
・ページネーション機能or無限スクロール機能
・DBテーブルのリレーション管理
・単体、統合テストこの辺のrailstu
FargateからのEFSマウントを試す
EFSがFargateで使えるようになったようです。
https://aws.amazon.com/jp/about-aws/whats-new/2020/04/amazon-ecs-aws-fargate-support-amazon-efs-filesystems-generally-available/これはストレージ依存を脱しきれないもろもろのコンテナ化が捗りますね!
というわけで軽く動作確認してみました。
## 試す構成
最小限の手間で、FargateのコンテナからEFSの中身が読めていることを確認します。* Fargateでhttpdコンテナを起動し、web閲覧できるようにしておく
* コンテナはドキュメントルートにEFSをマウントしておく
* 編集確認用にEC2を用意&EFSをマウントしておくこの状態を作った上でEC2からEFS内のファイルを読み書きし、httpdをweb経由で閲覧することでFargateコンテナからEFSが読めることを確認します。
なお、通常Fargateをweb公開する際はALBを経由しますが、ここでは一時的なテスト目的のためコンテナの