tag:blogger.com,1999:blog-11359111313667909352024-03-13T07:52:12.326-07:00CoffeiNerd - Tech tips and articlesThis blog will hold mine tech thoughts and solutions, links and other interesting stuff for the followers from the Nerd side of the force :)coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.comBlogger23125tag:blogger.com,1999:blog-1135911131366790935.post-55064323447133213762017-07-31T08:19:00.000-07:002017-07-31T08:25:24.206-07:00AWS RDS: Changing the Subnet Group from a RDS Instance to same VPC<div class="MsoNormal">
Today I run into an interesting issue. I use for one of my
customers Elastic Beanstalk intensively. At some point in past a colleague
created a RDS instance which was not directly created by Elastic Beanstalk, but
he used the Subnet Group from one automatically managed EB stack. <o:p></o:p></div>
<div class="MsoNormal">
Point is that the EB environment needs to be terminated, but
it cannot be clean due the fact that the Subnet Group is attached to other
entity, in this case, the RDS instance that was manually created.<o:p></o:p></div>
<div class="MsoNormal">
You say, why you do not create a new Subnet Group then
modify the RDS instance?<o:p></o:p></div>
<div class="MsoNormal">
I tried that, but then the situation started to be funny.
First, the option to change the Subnet Group was not even available in the Web
Console, as you see in the figure below<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig5RS6J1Nm07JTBWDWF7iW-srDi7VE9_eSmY9s4cmdroHZ3E4zSdCyG2F_nbVXAW9J3EDY1uXSoaxbeomiE-IS0E3_H3H_Nd_R3polG-LzWH-OHhbytqDizYhu-SFPrh-dzMLyCioifQ4/s1600/RDS-SubnetGroup1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="219" data-original-width="551" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEig5RS6J1Nm07JTBWDWF7iW-srDi7VE9_eSmY9s4cmdroHZ3E4zSdCyG2F_nbVXAW9J3EDY1uXSoaxbeomiE-IS0E3_H3H_Nd_R3polG-LzWH-OHhbytqDizYhu-SFPrh-dzMLyCioifQ4/s1600/RDS-SubnetGroup1.png" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<br />
<div class="MsoNormal" style="text-align: justify;">
So why it is not there? Simply
because if you are running a MULTI-AZ RDS this option is NOT available, in
order to proceed you need to change it, this means, disable Multi-AZ. This
change does not incur in downtime as stated here: </div>
<div class="MsoNormal" style="text-align: justify;">
<a href="http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html">http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.DBInstance.Modifying.html</a><o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
To change the Multi-AZ option
just set the option Multi-AZ to No and mark the box to Apply changes
immediately. <o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
OK, now the option is available
as I can see below:<o:p></o:p></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo2YKou2peXcvqVLykKDGYF4Stw1U8shBcHT6M7-aSDR3pvQrPREyOcmq4D-2Lc6RcPVAEPVO4lQj30GNqkZJADBhUcc1n8ngRFg4-hyX54Xmi_jhNhU-XCQetr5Kwy4HCpsvNS7gmZEs/s1600/RDS-SubnetGroup2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="231" data-original-width="551" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjo2YKou2peXcvqVLykKDGYF4Stw1U8shBcHT6M7-aSDR3pvQrPREyOcmq4D-2Lc6RcPVAEPVO4lQj30GNqkZJADBhUcc1n8ngRFg4-hyX54Xmi_jhNhU-XCQetr5Kwy4HCpsvNS7gmZEs/s1600/RDS-SubnetGroup2.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
As the title says the goal is to
change the Subnet Group to the same VPC, which is NOT SUPPORTED. When you
change the option and press Modify you will get the nice error below.<o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2h8s7UCf86altmwtc-FfMuniR4cKo5xoClAWd5scDDVbSwvY1YWVmLjZxoo1nOTPSFqgTCQOJypQg0pBMBvLEP4Gj2JoIwFFqTulAjUTiAE_0aV-oi5aRDx3cyGC5HYXJqGHoz_YNkpc/s1600/RDS-SubnetGroup3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="107" data-original-width="581" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2h8s7UCf86altmwtc-FfMuniR4cKo5xoClAWd5scDDVbSwvY1YWVmLjZxoo1nOTPSFqgTCQOJypQg0pBMBvLEP4Gj2JoIwFFqTulAjUTiAE_0aV-oi5aRDx3cyGC5HYXJqGHoz_YNkpc/s1600/RDS-SubnetGroup3.png" /></a></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
If you are changing this from
another VPC you should succeed. But not for the same VPC. But, as usual there
are workarounds.<o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
The one I will leverage is to
create a Subnet Group in another VPC, move the subnet (DOWNTIME WILL HAPPEN)
and then move it back to the right Subnet Group in the VPC you need it.<o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
It can take circa 10-15 minutes
to move to the new VPC, during this time your RDS instance will become
unavailable and the message “moving-to-vpc” will appear. <o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
When it is finished and the
status is marked as available again you can modify it and now select the right
Subnet Group you want from the beginning. More 10-15 minutes downtime and you
are done.<o:p></o:p><br />
<br />
Important: you will need also to define the right Security Group when moving back, as it changes when you move to another VPC. </div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
That's it. Hope this helps someone. </div>
<br />
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com4tag:blogger.com,1999:blog-1135911131366790935.post-13850960893985453262017-05-23T08:41:00.000-07:002017-05-23T08:41:11.986-07:00Amazon AI - Some Notes and Best Practices from Webinar<html><head><title>Webinar Amazon AI</title><link href="https://fonts.googleapis.com/css?family=Crimson+Text:400,400italic,700,700italic%7CRoboto:400,700,700italic,400italic" rel="stylesheet" type="text/css"></link><style>/*
* Copyright 2014 Quip
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License. You may obtain
* a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations
* under the License.
*/
body {
font-size: 15px;
color: #333;
background: #fff;
padding: 60px 95px;
max-width: 900px;
margin: 0 auto;
text-rendering: optimizeLegibility;
font-feature-settings: "kern";
font-kerning: normal;
-moz-font-feature-settings: "kern";
-webkit-font-feature-settings: "kern";
}
/* Headings */
h1, h2, h3, th {
font-family: Roboto, sans-serif;
font-weight: 700;
margin: 0;
margin-top: 1.25em;
margin-bottom: 0.75em;
}
h1 {
font-size: 35px;
line-height: 42px;
}
h1:first-child {
margin-top: 0;
}
h2 {
font-size: 18px;
line-height: 22px;
}
h3 {
text-transform: uppercase;
font-size: 13px;
line-height: 16px;
}
/* Body text */
body, p, ul, ol, td {
font-family: 'Crimson Text', serif;
font-size: 16px;
line-height: 20px;
}
blockquote, q {
display: block;
margin: 1em 0;
font-style: italic;
}
blockquote a, q a {
text-decoration: underline;
}
blockquote {
padding-left: 10px;
border-left: 4px solid #a6a6a6;
}
q {
color: #a6a6a6;
line-height: 40px;
font-size: 24px;
text-align: center;
quotes: none;
}
q a {
color: #a6a6a6;
}
code, pre {
font-family: Consolas, "Liberation Mono", Menlo, "Courier Prime Web", Courier, monospace;
background: #f3f3f3;
}
code {
padding: 1px;
margin: 0 -1px;
border-radius: 3px;
}
pre {
display: block;
line-height: 20px;
text-shadow: 0 1px white;
padding: 5px 5px 5px 30px;
white-space: nowrap;
position: relative;
margin: 1em 0;
}
pre:before {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 15px;
border-left: solid 1px #dadada;
}
/* Lists */
div[data-section-style="5"],
div[data-section-style="6"],
div[data-section-style="7"] {
margin: 12px 0;
}
ul {
padding: 0 0 0 40px;
}
ul li {
margin-bottom: 0.4em;
}
/* Bulleted list */
div[data-section-style="5"] ul {
list-style-type: disc;
}
div[data-section-style="5"] ul ul {
list-style-type: circle;
}
div[data-section-style="5"] ul ul ul {
list-style-type: square;
}
div[data-section-style="5"] ul ul ul ul {
list-style-type: disc;
}
div[data-section-style="5"] ul ul ul ul ul {
list-style-type: circle;
}
div[data-section-style="5"] ul ul ul ul ul ul {
list-style-type: square;
}
/* Numbered list */
div[data-section-style="6"] ul {
list-style-type: decimal;
}
div[data-section-style="6"] ul ul {
list-style-type: lower-alpha;
}
div[data-section-style="6"] ul ul ul {
list-style-type: lower-roman;
}
div[data-section-style="6"] ul ul ul ul {
list-style-type: decimal;
}
div[data-section-style="6"] ul ul ul ul ul {
list-style-type: lower-alpha;
}
div[data-section-style="6"] ul ul ul ul ul ul {
list-style-type: lower-roman;
}
/* Checklist */
div[data-section-style="7"] ul {
list-style-type: none;
}
div[data-section-style="7"] ul li:before {
content: "\2610";
position: absolute;
display: inline;
margin-right: 1.2em;
margin-left: -1.2em;
}
div[data-section-style="7"] ul li.parent:before {
content: "";
}
div[data-section-style="7"] ul li.parent {
font-weight: bold;
}
div[data-section-style="7"] ul li.checked {
text-decoration: line-through;
}
div[data-section-style="7"] ul li.checked:before {
content: "\2611";
text-decoration: none;
}
/* Tables */
div[data-section-style="8"] {
margin: 12px 0;
}
table {
border-spacing: 0;
border-collapse: separate;
border: solid 1px #7c7c7c;
box-shadow: 0 1px 2px rgba(0, 0, 0, .25);
table-layout: fixed;
position: relative;
}
table th, table td {
padding: 2px 2px 0;
min-width: 1.5em;
word-wrap: break-word;
}
table th {
border-bottom: 1px solid #ccc;
background: #f0f0f0;
font-weight: bold;
vertical-align: bottom;
color: #3a4449;
text-align: center;
}
table td {
padding-top: 0;
border-left: 1px solid #e1e1e1;
border-top: 1px solid #e1e1e1;
vertical-align: top;
}
table td.bold {
font-weight: bold;
}
table td.italic {
font-style: italic;
}
table td.underline {
text-decoration: underline;
}
table td.strikethrough {
text-decoration: line-through;
}
table td.underline.strikethrough {
text-decoration: underline line-through;
}
table td:first-child {
border-left: hidden;
}
table tr:first-child td {
border-top: hidden;
}
/* Images */
div[data-section-style="11"] {
margin-top: 20px;
margin-bottom: 20px;
margin-left: auto;
margin-right: auto;
}
div[data-section-style="11"][data-section-float="0"] {
clear: both;
text-align: center;
}
div[data-section-style="11"][data-section-float="1"] {
float: left;
clear: left;
margin-right: 20px;
}
div[data-section-style="11"][data-section-float="2"] {
float: right;
clear: right;
margin-left: 20px;
}
div[data-section-style="11"] img {
display: block;
max-width: 100%;
height: auto;
margin: auto;
}
hr {
width: 70px;
margin: 20px auto;
}
</style></head><body><h1 id="QQQACAKZ6nH">
Webinar Amazon AI </h1>
Today I attended a live Webinar covering the AI offering of AWS and a more <b>deep </b>focus on <b>deep </b>learning. <br />
<br />
Here are some basic notes/screenshots I took fromthe Webinar:<br />
<br />
The Amazon AI platform has a layered approach from high-level ready to consume Services, with powerful features but limited control over the find-tuning/algorithms to raw construction blocks for complex AI self-developed workloads, where currently Deep Learning resides.<br />
<div data-section-style="11" style="max-width: 100%;">
<img alt="" height="451" id="QQQACAZX0qr" src="https://quip.com/blob/QQQAAAo0DD9/W_bxfLVa8e5A9WaZUT3jbg?a=xIaL2LjElmfzaPWxHt7VV318aRaNoO0RuQYXWuA053Ya" width="800" /></div>
<div data-section-style="5">
<ul id="QQQACATXwTU">
<li class="" id="QQQACAT9oQG" value="1">Apache <b>MXNet</b>: deep learning engine recommended and strongly developed by AWS
</li>
<li class="" id="QQQACAnPQ0e"><b>GreenGrass </b>hub and spoke seen high potential IoT platform
</li>
<li class="" id="QQQACALKbFx">AI solution Categories: API Based or Do it yourself
</li>
</ul>
</div>
<br />
<div data-section-style="11" style="max-width: 100%;">
<img alt="" height="422" id="QQQACAXzy25" src="https://quip.com/blob/QQQAAAo0DD9/EJSpTvG7JSqCOWNmKnNZcw?a=en6ruzKF6BJEas4wyhxvGXhctGAogouj2hwxaMWOX0Aa" width="800" /></div>
<h2 id="QQQACAIpWk3">
Walkthrough on some services</h2>
<h2 id="QQQACAqS7jO">
POLLY</h2>
<br />
Text to speech with good quality, <br />
<h2 id="QQQACAMvY7E">
LEX</h2>
The Advent of Conversational Interactions: evolution of human-computer interactions<br />
<br />
<div data-section-style="6">
<ul id="QQQACAStJ05">
<li class="" id="QQQACAoGjxo" value="1">Machine-oriented interactions (punch cards you understand the machine)
</li>
<li class="" id="QQQACAKvuPQ">Control-oriented and translated (you command the interaction)
</li>
<li class="" id="QQQACA23ur3">Intent-oriented: expect the computer to understand human interactions
</li>
</ul>
</div>
For that 3. there is Amazon Lex - voice or text bots<br />
<br />
<div data-section-style="11" style="max-width: 100%;">
<img alt="" height="442" id="QQQACAkG3yu" src="https://quip.com/blob/QQQAAAo0DD9/bZaoS3OxHC2xuyANpkES2g?a=KskPV6M676VkNFAXq0Jv8uOJUazIs34bZ3GYJHC6fvwa" width="800" /></div>
<br />
<div data-section-style="5">
<ul id="QQQACAJt9hS">
<li class="" id="QQQACAKwgnU" value="1">Example architecture / deployment: hotel / flight booking platform
</li>
</ul>
</div>
<div data-section-style="11" style="max-width: 100%;">
<img alt="" height="448" id="QQQACA8vjyq" src="https://quip.com/blob/QQQAAAo0DD9/-JGf5Q_V5-MCoyU_Os0_XQ?a=R8mkuj9ZTvKjZaXVROF7boaGSVEautyLZ8IpmAeRmlAa" width="800" /></div>
<div data-section-style="5">
<ul id="QQQACAnfUii">
<li class="" id="QQQACAJM0XA" value="1">Use API Gateway and Lambda to securely communicate with backend
</li>
</ul>
</div>
<h2 id="QQQACABVrPy">
Amazon Rekognition</h2>
<br />
Image recognition service for 4 use cases:<br />
<br />
<div data-section-style="11" style="max-width: 100%;">
<img alt="" height="252" id="QQQACApBmFZ" src="https://quip.com/blob/QQQAAAo0DD9/5Am-dJ004wHMrZfiJVeQfw?a=UsFrdDg2weizExc04ZTJQqEslG2Raj4O0qY6K5hV4rYa" width="800" /></div>
<br />
<h2 id="QQQACAmvJYO">
Amazon ML</h2>
<br />
<div data-section-style="5">
<ul id="QQQACA23bQv">
<li class="" id="QQQACAVTFYZ" value="1">Gets you a number/prediction based on history data
</li>
<li class="" id="QQQACAdPa5s">Uses regression models to predict a specific number or binary classification
</li>
<li class="" id="QQQACAsyHl7">Limited to 3 ML models.
</li>
</ul>
</div>
Recommended to watch:<br />
<div data-section-style="11" style="max-width: 100%;">
<img alt="" height="439" id="QQQACAchs1y" src="https://quip.com/blob/QQQAAAo0DD9/gVqC5aR2Bpk1YrsFhvDjCg?a=q8ShQrkTwGy2YbykAdDN7ePNZXxMzuGFaLjDv3I2LSQa" width="800" /></div>
<h2 id="QQQACAjgxGz">
DEEP LEARNING</h2>
AI is an old subject, in fact one of the oldest Computer Science topics, discussed since Lady Lovelace first computing works back in a pre-computers era in the XIX century, advanced by Allan Turing with his Turing test being a strong research topic in the early computing days, back to 50's and 60's but neglected as the vision for its promises did not executed. <br />
<br />
This was the case until less then a decade ago when the mix of factors contributed to the explosion in the AI development, more specifically Machine Learning and more recently Deep Learning topics. <br />
<br />
The slide below shows the factors that contributed to this explosion and consequent realization of several tasks that were envisioned but not possible in a not so distant past:<br />
<br />
<div data-section-style="5">
<ul id="QQQACA1WuhL">
<li class="" id="QQQACARhPpp" value="1">Data availability: Deep Learning requires a huge amount of data for its learning/evaluation which just became available with the Internet explosion and the data growth in the last decades.
</li>
<li class="" id="QQQACAVGBSt">Programming Models: distributed computing, clustering and shared nothing programming models and subsequent frameworks (MapReduce, for example) allowed the reduction of complexity for ML/DL problems.
</li>
<li class="" id="QQQACAirNs7">Algorithms: better and faster algorithms
</li>
<li class="" id="QQQACAwSlUI">Processing Power: GPUs and accessible hardware as you go.
</li>
</ul>
</div>
<div data-section-style="11" style="max-width: 100%;">
<img alt="" height="442" id="QQQACAzGwX7" src="https://quip.com/blob/QQQAAAo0DD9/5ceKTEO0ll0QgQ9YovAIKw?a=tnodQ2bu4QT8Rp4iaxnsezTRnpln8UC22iltJC7XJoMa" width="800" /></div>
Examples/Notes:<br />
<div data-section-style="5">
<ul id="QQQACAZftOv">
<li class="parent" id="QQQACAHcgiE" value="1">Autonomous computing is as long envisioned computing area that is gaininng strong momentum with Deep Neural Networks (Deep Learning) like
</li>
<ul>
<li class="" id="QQQACASrmZs">Autonomous cars
</li>
<li class="" id="QQQACAWD2C2">Autonomous drones/flight
</li>
<li class="" id="QQQACAOPedH">Computational Vision
</li>
</ul>
<li class="parent" id="QQQACATzMB4">How being trained
</li>
<ul>
<li class="" id="QQQACAitDyN">There is no High level service for DL, it requires GPU intense instances with DL frameworks
</li>
<li class="" id="QQQACAzx8RQ">p2 instances with 2000s of cores
</li>
</ul>
<li class="parent" id="QQQACAJyzaV">AWS provides a Deep Learning AMI:
</li>
<ul>
<li class="" id="QQQACADGBB8">CloudFormation template,
</li>
<li class="" id="QQQACAOOHEM">Containers
</li>
<li class="" id="QQQACAEq8JB">Or EC2 Image
</li>
<li class="" id="QQQACAKc5E2">Included frameworks: MXNet, TensorFlow Theano Cafee Torch
</li>
</ul>
</ul>
</div>
<b>Problems that DL can solve:</b><br />
<br />
Normal traditional ML algorithms detects only CHIHUHAUAs in the image below:<br />
<div data-section-style="11" style="max-width: 100%;">
<img alt="" height="560" id="QQQACApw7sn" src="https://quip.com/blob/QQQAAAo0DD9/TWHBT-XfvwyY3HobIavplw?a=0PakSgYst6MflzhbdaxtcR3aWalNFXdfdjw2tohgwVIa" width="569" /></div>
Some traditional Image Classification methods (which fail to classify properly the Image above):<br />
<br />
<div data-section-style="11" style="max-width: 100%;">
<img alt="" height="357" id="QQQACAGC3Tt" src="https://quip.com/blob/QQQAAAo0DD9/6mO6pVu6se4ykkkP7DUTYw?a=Za6aT9SxKhRElEatrFt8prjWlerBnjlNBazqoI4FPpMa" width="800" /></div>
<br />
<br />
Short abstraction: applying linear algebra, it is a Matrix of computer detected collor numbers where the differences between a test image and a trained image constitutes the evaluation factor for similarity, this is the nearest neighbor classifier.<br />
<br />
<div data-section-style="11" style="max-width: 100%;">
<img alt="" height="584" id="QQQACAoGFSg" src="https://quip.com/blob/QQQAAAo0DD9/_zBvdN_cqwIHLjeeuMVMUQ?a=3gW29H8q7PWaENzQMLKqHeQnXDz0jvbJvw9qqI2MaSUa" width="797" /></div>
<br />
The linear classification also uses functions to determine from which threshold the classifier will identify the category. If you lower too much the threshold, you get more kinds classified but also include a high number of false positives, for example the boat in the airplane classifier would be classified as plane if the threshold is changed.<br />
<br />
<b>Solution is a mix of multiple filtering algorithms and a deep neural networks with multiple hidden layers (each one with a specific classifier) to identify the image.</b><br />
<div data-section-style="11" style="max-width: 100%;">
<img alt="" height="514" id="QQQACAMOJ98" src="https://quip.com/blob/QQQAAAo0DD9/g-coCG5JXx2LDmnMV9bD2Q?a=DvhE0AWnO5dUDpFfjVgOIGz2irRZLHn09eMaXUGrdksa" width="800" /></div>
<br />
<br />
<div data-section-style="11" style="max-width: 100%;">
<img alt="" height="428" id="QQQACAIkkdk" src="https://quip.com/blob/QQQAAAo0DD9/FeboFWjRiPEfYlJVA8Np-w?a=FZoo4gebuhaMw7Kuthy3PQarORzBxauVbaqyUsm6G84a" width="800" /></div>
<h2 id="QQQACA8tS2u">
ML and DL recommendations</h2>
<br />
Best Practices:<br />
<br />
<div data-section-style="5">
<ul id="QQQACAx3Nl8">
<li class="" id="QQQACAZ5XCZ" value="1"><b>Build your DATA LAKE</b> (<b>S3 as data lake)</b>
</li>
<li class="" id="QQQACAo8FRn">Clean/pre-process the data with Lambda, serverless functions
</li>
<li class="parent" id="QQQACAMPrdp">For ML / DL models:
</li>
<ul>
<li class="" id="QQQACAeCVVq">Create a test environment for models evaluation and testing
</li>
<li class="" id="QQQACAZlIpo">The resulted accepted test and training sets are saved in the Prod S3 model
</li>
<li class="" id="QQQACA9VWh9">Create a Prod environment and feed it with the evaluated training models in the Prod S3
</li>
<li class="" id="QQQACA8RCDo">It is like an A/B deployment for ML/DL
</li>
</ul>
</ul>
</div>
<div data-section-style="11" style="max-width: 100%;">
<img alt="" height="354" id="QQQACAtOGSS" src="https://quip.com/blob/QQQAAAo0DD9/im1gHHw9Ihe-i66h5H-C5Q?a=7QwnSKJgYS4er9qZX2PHPLzAz7aiuwP34wKmTBINg1oa" width="800" /></div>
<br />
</body></html>coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com0tag:blogger.com,1999:blog-1135911131366790935.post-68813854160747710592016-07-28T04:28:00.001-07:002016-07-28T13:02:40.308-07:00AWS CSA: Professional - Core Services - Compute: ECS and ECRIn this blog I will briefly cover ECS and ECR, the Docker-based AWS solution for automated Docker containers deployment.<br />
<br />
Both services are tightly related, as ECR stores the images and manages the deployment and permissions on the Docker repositories, and ECS is a scalable EC2-based cluster service to run and scale Docker containers.<br />
<br />
<h2>
ECR - Elastic Container Registry</h2>
<h3>
Description</h3>
As official AWS docs says:<br />
<span style="font-size: x-small;"><i>Amazon EC2 Container Registry (Amazon ECR) is a managed AWS Docker registry service that is secure,
scalable, and reliable . Amazon ECR supports private Docker repositories with resource-based permissions
using AWS IAM so that specific users or Amazon EC2 instances can access repositories and images.
Developers can use the Docker CLI to push, pull, and manage images.</i></span><br />
<h3>
<br />Components</h3>
<div>
Amazon ECR contains the following components: </div>
<div>
<ul>
<li>Registry
An Amazon ECR registry is provided to each AWS account; you can create image repositories in
your registry and store images in them. </li>
<li>Authorization token
Your Docker client needs to authenticate to Amazon ECR registries as an AWS user before it can
push and pull images.The AWS CLI get-login command provides you with authentication credentials
to pass to Docker. </li>
<li>Repository
An Amazon ECR image repository contains your Docker images. </li>
<li>Repository policy
You can control access to your repositories and the images within them with repository policies.</li>
<li>Image
You can push and pull Docker images to your repositories.You can use these images locally on your
development system, or you can use them in Amazon ECS task definitions. </li>
</ul>
<h3>
Registry Concepts</h3>
</div>
<div>
You can use Amazon ECR registries to host your images in a highly available and scalable architecture,
allowing you to deploy containers reliably for your applications.You can use your registry to manage
image repositories and Docker images. Each AWS account is provided with a single (default) Amazon
ECR registry.</div>
<div>
<br /></div>
<div>
• The URL for your default registry is
https://aws_account_id.dkr.ecr.us-east-1.amazonaws.com. </div>
<div>
• By default, you have read and write access to the repositories and images you create in your default
registry. </div>
<div>
• You can authenticate your Docker client to a registry so that you can use the docker push and docker
pull command to push and pull images to and from the repositories in that registry. </div>
<div>
• Repositories can be controlled with both IAM user access policies and repository policies.</div>
<div>
<br /></div>
<div>
You can manage your repositories through the CLI, API or Mgmt Console, but for some image related actions you would prefer the Docker CLI. Docker CLI does not authenticate in AWS per default, so you will need to use the command get-login from AWS cli to get a Docker compatible auth string.</div>
<div>
<br /></div>
<h3>
Repository Concepts</h3>
<div>
<br /></div>
<div>
Amazon ECR provides API operations to create, monitor, and delete repositories and set repository
permissions that control who can access them.You can perform the same actions in the Repositories
section of the Amazon ECS console. Amazon ECR also integrates with the Docker CLI allowing you to
push and pull images from your development environments to your repositories.</div>
<div>
<br /></div>
<div>
<ul>
<li>By default, you have read and write access to the repositories you create in your default registry
(aws_account_id.dkr.ecr.us-east-1.amazonaws.com). </li>
<li>Repository names can support namespaces, which you can use to group similar repositories. For
example if there are several teams using the same registry, Team A could use the team-a namespace
while Team B uses the team-b namespace. Each team could have their own image called web-app,
but because they are each prefaced with the team namespace, the two images can be used
simultaneously without interference. Team A's image would be called team-a/web-app, while Team
B's image would be called team-b/web-app. </li>
<li>Repositories can be controlled with both IAM user access policies and repository policies.</li>
</ul>
<h3>
Images</h3>
</div>
<div>
Amazon ECR stores Docker images in image repositories.You can use the Docker CLI to push and pull
images from your repositories. </div>
<div>
<br /></div>
<div>
Important
Amazon ECR users require permissions to call ecr:GetAuthorizationToken before they
can authenticate to a registry and push or pull any images from any Amazon ECR repository.</div>
<div>
<br /></div>
<h3>
Using ECR images with ECS</h3>
<div>
You can use your Amazon ECR images with Amazon ECS, but you need to satisfy some prerequisites:<br />
<br />
• Your container instances must be using at least version 1.7.0 of the Amazon ECS container agent.
The latest version of the Amazon ECS-optimized AMI supports Amazon ECR images in task definitions.<br />
• The Amazon ECS container instance role (ecsInstanceRole) that you use with your container
instances must possess the following IAM policy permissions for Amazon ECR.<br />
<br />
<h3>
Pricing</h3>
<br />
<ul>
<li>You pay only for the storage used by your images. </li>
<li>Data transfer IN is free of charge</li>
<li>Data transfer OUT is charged in layers according the amount of data transferred.</li>
</ul>
<h3>
Service Limits</h3>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3v-XqlE4qOHsbJSxZZb_ahqtTBmUryWCG7KeOG7y3K1jSqe8ztJl46Ro3Uyp9PjiNgSUZ82-xvFKwejCl5gJsPlSMZNCONbVdTfq8QEB7EHOwWkYlza9CAu2MYfa3CnxbUJhYpO_PqLc/s1600/Screen+Shot+2016-07-28+at+16.57.19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="331" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3v-XqlE4qOHsbJSxZZb_ahqtTBmUryWCG7KeOG7y3K1jSqe8ztJl46Ro3Uyp9PjiNgSUZ82-xvFKwejCl5gJsPlSMZNCONbVdTfq8QEB7EHOwWkYlza9CAu2MYfa3CnxbUJhYpO_PqLc/s400/Screen+Shot+2016-07-28+at+16.57.19.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<h3 style="clear: both; text-align: justify;">
<br />When to use ECS?</h3>
<div class="separator" style="clear: both; text-align: justify;">
When you already have Docker images or utilizes Docker for your applications you can have benefit for images store, solid security control, automated deployment and integration with ECS.</div>
<div class="separator" style="clear: both; text-align: justify;">
<br /></div>
<br class="Apple-interchange-newline" /><span style="font-size: 24px; font-weight: bold;">ECS - Elastic Container Service</span><br />
<br />
<to be continued><br />
<br /></div>
coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com1tag:blogger.com,1999:blog-1135911131366790935.post-85713747405087389262016-07-21T17:08:00.006-07:002016-07-27T15:44:41.471-07:00AWS CSA: Professional - Core Services - Compute: EC2<b><span style="font-size: large;">Definition: </span></b><br />
<b><br /></b>
<span style="background-color: white; color: #444444; font-size: 16px; line-height: 24px;"><span style="font-family: inherit;">Amazon Elastic Compute Cloud (Amazon EC2) provides scalable computing capacity in the Amazon Web Services (AWS) cloud.</span></span><br />
<span style="color: red; font-size: x-small;"><br /></span>
<span style="color: red; font-size: x-small;"><span style="background-color: white; line-height: 24px;">Warning: the Pro Exam will not focus on the deep elements from the services, but how you can make use of the "pieces" to build an architecture on AWS Cloud.</span></span><br />
<span style="color: red; font-size: x-small;"><span style="background-color: white; line-height: 24px;"><br /></span></span>
<span style="line-height: 24px;"><b>Features of Amazon EC2</b></span><br />
<span style="line-height: 24px;"><br /></span>
<span style="line-height: 24px;">Amazon EC2 provides the following features:</span><br />
<br />
<ul>
<li><span style="line-height: 24px;">Virtual computing environments, known as instances</span></li>
<li><span style="line-height: 24px;">Preconfigured templates for your instances, known as Amazon Machine Images (AMIs), that package the bits you need for your server (including the operating system and additional software)</span></li>
<li><span style="line-height: 24px;">Various configurations of CPU, memory, storage, and networking capacity for your instances, known as instance types</span></li>
<li><span style="line-height: 24px;">Secure login information for your instances using key pairs (AWS stores the public key, and you store the private key in a secure place)</span></li>
<li><span style="line-height: 24px;">Storage volumes for temporary data that's deleted when you stop or terminate your instance, known as instance store volumes</span></li>
<li><span style="line-height: 24px;">Persistent storage volumes for your data using Amazon Elastic Block Store (Amazon EBS), known as Amazon EBS volumes</span></li>
<li><span style="line-height: 24px;">Multiple physical locations for your resources, such as instances and Amazon EBS volumes, known as regions and Availability Zones</span></li>
<li><span style="line-height: 24px;">A firewall that enables you to specify the protocols, ports, and source IP ranges that can reach your instances using security groups</span></li>
<li><span style="line-height: 24px;">Static IP addresses for dynamic cloud computing, known as Elastic IP addresses</span></li>
<li><span style="line-height: 24px;">Metadata, known as tags, that you can create and assign to your Amazon EC2 resources</span></li>
<li><span style="line-height: 24px;">Virtual networks you can create that are logically isolated from the rest of the AWS cloud, and that you can optionally connect to your own network, known as virtual private clouds (VPCs)</span></li>
</ul>
<div>
<span style="line-height: 24px;"><span style="font-size: large;"><b>Instance Types:</b></span></span></div>
<div>
<br />
<span style="line-height: 24px;"><table border="1" bordercolor="black" style="width: 100%px;">
<tbody>
<tr>
<th width="10%"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Type</span></th>
<th width="10%"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Class</span></th>
<th width="40%"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Characteristics</span></th>
<th width="40%"><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Use Cases</span></th>
</tr>
<tr>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><b>T2</b></span></div>
</td>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">General Purpose</span></div>
</td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">High Frequency Intel Xeon Processors with Turbo up to 3.3GHz</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><span style="font-size: xx-small;">Burstable CPU, governed by CPU Credits, and consistent baseline performance</span>
Lowest-cost general purpose instance type, and Free Tier eligible (t2.micro only) </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Balance of compute, memory, and network resources </span></td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Development environments, build servers, code repositories, low-traffic websites and web applications, micro services, early product experiments, small databases.
</span></td>
</tr>
<tr>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><b>M4</b></span></div>
</td>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">General Purpose</span></div>
</td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">2.4 GHz Intel Xeon® E5-2676 v3 (Haswell) processors </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">EBS-optimized by default at no additional cost </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Support for Enhanced Networking </span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Balance of compute, memory, and network resources </span></td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Small and mid-size databases, data processing tasks that require additional memory, caching fleets, and for running backend servers for SAP, Microsoft SharePoint, cluster computing, and other enterprise applications.
</span></td>
</tr>
<tr>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><b>M3</b></span></div>
</td>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">General Purpose</span></div>
</td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">High Frequency Intel Xeon E5-2670 v2 (Ivy Bridge) Processors<br />
SSD-based instance storage for fast I/O performance<br />
Balance of compute, memory, and network resources</span></td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Small and mid-size databases, data processing tasks that require additional memory, caching fleets, and for running backend servers for SAP, Microsoft SharePoint, cluster computing, and other enterprise applications.
</span></td>
</tr>
<tr>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><b>C4</b></span></div>
</td>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Compute</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Optimized</span></div>
</td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">High frequency Intel Xeon E5-2666 v3 (Haswell) processors optimized specifically for EC2<br />
EBS-optimized by default and at no additional cost<br />
Ability to control processor C-state and P-state configuration on the c4.8xlarge instance type<br />
Support for Enhanced Networking and Clustering</span></td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Same as C3</span></td>
</tr>
<tr>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><b>C3</b></span></div>
</td>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Compute</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Optimized</span></div>
</td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">High Frequency Intel Xeon E5-2680 v2 (Ivy Bridge) Processors<br />
Support for Enhanced Networking<br />
Support for clustering<br />
SSD-backed instance storage</span></td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">High performance front-end fleets, web-servers, batch processing, distributed analytics, high performance science and engineering applications, ad serving, MMO gaming, and video-encoding.
</span></td>
</tr>
<tr>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><b>X1</b></span></div>
</td>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Memory</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Optimized</span></div>
</td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">High Frequency Intel Xeon E7-8880 v3 (Haswell) Processors<br />
Lowest price per GiB of RAM<br />
1,952 GiB of DDR4-based instance memory<br />
SSD Storage and EBS-optimized by default and at no additional cost<br />
Ability to control processor C-state and P-state configuration</span></td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">We recommend X1 instances for running in-memory databases like SAP HANA, big data processing engines like Apache Spark or Presto, and high performance computing (HPC) applications. X1 instances are certified by SAP to run Business Warehouse on HANA (BW), Data Mart Solutions on HANA, Business Suite on HANA (SoH), and the next-generation Business Suite S/4HANA in a production environment on the AWS cloud.
</span></td>
</tr>
<tr>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><b>R3</b></span></div>
</td>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Memory</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Optimized</span></div>
</td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">High Frequency Intel Xeon E5-2670 v2 (Ivy Bridge) Processors<br />
SSD Storage<br />
Support for Enhanced Networking</span></td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">We recommend R3 instances for high performance databases, distributed memory caches, in-memory analytics, genome assembly and analysis, Microsoft SharePoint, and other enterprise applications.
</span></td>
</tr>
<tr>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><b>G2</b></span></div>
</td>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">GPU</span></div>
</td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">High Frequency Intel Xeon E5-2670 (Sandy Bridge) Processors<br />
High-performance NVIDIA GPUs, each with 1,536 CUDA cores and 4GB of video memory<br />
Each GPU features an on-board hardware video encoder designed to support up to eight real-time HD video streams (720p@30fps) or up to four real-time full HD video streams (1080p@30fps)<br />
Support for low-latency frame capture and encoding for either the full operating system or select render targets, enabling high-quality interactive streaming experiences</span></td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">3D application streaming, machine learning, video encoding, and other server-side graphics or GPU compute workloads.
</span></td>
</tr>
<tr>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><b>I2</b></span></div>
</td>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Storage Optimized</span></div>
</td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">High Frequency Intel Xeon E5-2670 v2 (Ivy Bridge) Processors<br />
SSD Storage<br />
Support for TRIM<br />
Support for Enhanced Networking<br />
High Random I/O performance</span></td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">NoSQL databases like Cassandra and MongoDB, scale out transactional databases, data warehousing, Hadoop, and cluster file systems.
</span></td>
</tr>
<tr>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;"><b>D2</b></span></div>
</td>
<td><div style="text-align: center;">
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Storage Optimized</span></div>
</td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">D2 instances feature up to 48 TB of HDD-based local storage, <br />deliver high disk throughput, <br /> and offer the lowest price per disk throughput performance on Amazon EC2.</span></td>
<td><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif; font-size: x-small;">Massively Parallel Processing (MPP) data warehousing, MapReduce and Hadoop distributed computing, distributed file systems, network file systems, log or data-processing applications
</span></td>
</tr>
</tbody></table>
<br />
</span><br />
<div>
<span style="line-height: 24px;"><br /></span></div>
<span style="line-height: 24px;">
</span>
<br />
<h2>
<span style="line-height: 24px;">
Networking and storage features:</span></h2>
<span style="line-height: 24px;">
<br />
<table border="0" cellspacing="0" id="d0e13684" style="background-color: white; border-collapse: collapse; border-spacing: 0px; border: 1px solid rgb(204, 204, 204); font-family: "open sans", "lucida grande", "helvetica neue", arial; font-size: 16px; margin-bottom: 10px;"><thead>
<tr><th>#</th><th style="background-color: #eeeeee; border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><br class="Apple-interchange-newline" />
VPC only</th><th style="background-color: #eeeeee; border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;">EBS only</th><th style="background-color: #eeeeee; border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;">SSD volumes</th><th style="background-color: #eeeeee; border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;">Placement group</th><th style="background-color: #eeeeee; border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;">HVM only</th><th style="background-color: #eeeeee; border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;">Enhanced networking</th></tr>
</thead><tbody>
<tr><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
C3</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Intel 82599 VF</div>
</td></tr>
<tr><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
C4</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Intel 82599 VF</div>
</td></tr>
<tr><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
D2</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Intel 82599 VF</div>
</td></tr>
<tr><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
G2</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td></tr>
<tr><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
I2</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Intel 82599 VF</div>
</td></tr>
<tr><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
M3</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td></tr>
<tr><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
M4</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Intel 82599 VF</div>
</td></tr>
<tr><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
R3</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Intel 82599 VF</div>
</td></tr>
<tr><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
T2</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
Yes</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td></tr>
<tr><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;">X1</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;">Yes</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;"><div style="line-height: 1.5em;">
</div>
</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;">Yes</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;">Yes</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;">Yes</td><td style="border: 1px solid rgb(204, 204, 204); padding: 5px; vertical-align: top;">ENA</td></tr>
</tbody></table>
<br />
</span><br />
<h2>
<span style="font-family: "times" , "times new roman" , serif; line-height: 24px;">Pricing</span></h2>
</div>
<div>
<span style="font-family: "times" , "times new roman" , serif;">What is important to know are the 3 basic pricing types:</span></div>
<div>
<span style="font-family: "times" , "times new roman" , serif;"><br /></span></div>
<div>
<ul>
<li><span style="font-family: "times" , "times new roman" , serif;"><b>On-demand</b> - pay as you go. Good for eventual usage, testing, etc.</span></li>
<li><span style="font-family: "times" , "times new roman" , serif;"><b>Reserved</b> - discounts for partial, total or no upfront - but reserved for 1 or 3 years. Good for 24x7 long-term running systems</span></li>
<li><span style="font-family: "times" , "times new roman" , serif;"><b>Spot </b>- like the stock market, you say your price to buy and when this price is reached you get the instances, when price goes up, you lose them. Good for batch processing, workflow-based apps.</span></li>
</ul>
<h2>
<span style="font-family: "times" , "times new roman" , serif;">AMIs</span></h2>
</div>
<div>
<span style="font-family: "times" , "times new roman" , serif;"><br /></span></div>
<div>
<div style="background-color: white; font-size: 16px; line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">The following diagram summarizes the AMI lifecycle. After you create and register an AMI, you can use it to launch new instances. (You can also launch instances from an AMI if the AMI owner grants you launch permissions.) You can copy an AMI to the same region or to different regions. When you are finished launching instance from an AMI, you can deregister the AMI.</span></div>
<div class="informalfigure" style="background-color: white;">
<div class="mediaobject" style="font-size: 16px; max-width: 100%;">
<span style="font-family: "times" , "times new roman" , serif;"><img alt="The AMI lifecycle (create, register, launch, copy, deregister)." src="https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/images/ami_lifecycle.png" style="border: 0px hidden rgb(255, 255, 255); margin: 0px 0px 1em; max-width: 100%; padding: 0px;" /></span></div>
<h2 style="font-size: 16px; max-width: 100%;">
<span style="font-family: "times" , "times new roman" , serif;"><br />Network and Security</span></h2>
<div style="font-size: 16px;">
<span style="font-family: "times" , "times new roman" , serif;">This is a broad topic. I suggest that you review the features as stated in the documentation:</span></div>
<div style="font-size: 16px;">
<span style="font-family: "times" , "times new roman" , serif;"><br /></span></div>
<div style="font-size: 16px;">
<div style="line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">Amazon EC2 provides the following network and security features.</span></div>
<div class="highlights">
<div style="line-height: 1.5em;">
<strong><span style="font-family: "times" , "times new roman" , serif;">Features</span></strong></div>
<ul>
<li style="line-height: 1.5em;"><a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html" style="text-decoration: none;"><span style="color: black; font-family: "times" , "times new roman" , serif;">Amazon EC2 Key Pairs</span></a></li>
<li style="line-height: 1.5em;"><a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html" style="text-decoration: none;"><span style="color: black; font-family: "times" , "times new roman" , serif;">Amazon EC2 Security Groups for Linux Instances</span></a></li>
<li style="line-height: 1.5em;"><a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/UsingIAM.html" style="text-decoration: none;"><span style="color: black; font-family: "times" , "times new roman" , serif;">Controlling Access to Amazon EC2 Resources</span></a></li>
<li style="line-height: 1.5em;"><a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-vpc.html" style="text-decoration: none;"><span style="color: black; font-family: "times" , "times new roman" , serif;">Amazon EC2 and Amazon Virtual Private Cloud</span></a></li>
<li style="line-height: 1.5em;"><a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html" style="text-decoration: none;"><span style="color: black; font-family: "times" , "times new roman" , serif;">Amazon EC2 Instance IP Addressing</span></a></li>
<li style="line-height: 1.5em;"><a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html" style="text-decoration: none;"><span style="color: black; font-family: "times" , "times new roman" , serif;">Elastic IP Addresses</span></a></li>
<li style="line-height: 1.5em;"><a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html" style="text-decoration: none;"><span style="color: black; font-family: "times" , "times new roman" , serif;">Elastic Network Interfaces (ENI)</span></a></li>
<li style="line-height: 1.5em;"><a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html" style="text-decoration: none;"><span style="color: black; font-family: "times" , "times new roman" , serif;">Placement Groups</span></a></li>
<li style="line-height: 1.5em;"><a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/network_mtu.html" style="text-decoration: none;"><span style="color: black; font-family: "times" , "times new roman" , serif;">Network Maximum Transmission Unit (MTU) for Your EC2 Instance</span></a></li>
<li style="line-height: 1.5em;"><a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html" style="text-decoration: none;"><span style="color: black; font-family: "times" , "times new roman" , serif;">Enhanced Networking on Linux</span></a></li>
</ul>
</div>
</div>
<h2 style="font-size: 16px;">
<span style="font-family: "times" , "times new roman" , serif;">Elastic Load Balancing</span></h2>
<div>
<div style="line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">Elastic Load Balancing provides the following features:</span></div>
<div class="itemizedlist">
<ul class="itemizedlist" type="disc">
<li class="listitem" style="line-height: 1.5em;"><div style="line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">You can use the operating systems and instance types supported by Amazon EC2. You can configure your EC2 instances to accept traffic only from your load balancer.</span></div>
</li>
<li class="listitem" style="line-height: 1.5em;"><div style="line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">You can configure the load balancer to accept traffic using the following protocols: HTTP, HTTPS (secure HTTP), TCP, and SSL (secure TCP).</span></div>
</li>
<li class="listitem" style="line-height: 1.5em;"><div style="line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">You can configure your load balancer to distribute requests to EC2 instances in multiple Availability Zones, minimizing the risk of overloading one single instance. If an entire Availability Zone goes offline, the load balancer routes traffic to instances in other Availability Zones.</span></div>
</li>
<li class="listitem" style="line-height: 1.5em;"><div style="line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">There is no limit on the number of connections that your load balancer can attempt to make with your EC2 instances. The number of connections scales with the number of concurrent requests that the load balancer receives.</span></div>
</li>
<li class="listitem" style="line-height: 1.5em;"><div style="line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">You can configure the health checks that Elastic Load Balancing uses to monitor the health of the EC2 instances registered with the load balancer so that it can send requests only to the healthy instances.</span></div>
</li>
<li class="listitem" style="line-height: 1.5em;"><div style="line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">You can use end-to-end traffic encryption on those networks that use secure (HTTPS/SSL) connections.</span></div>
</li>
<li class="listitem" style="line-height: 1.5em;"><div style="line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">[EC2-VPC] You can create an <span class="emphasis"><em>Internet-facing</em></span> load balancer, which takes requests from clients over the Internet and routes them to your EC2 instances, or an <span class="emphasis"><em>internal-facing</em></span> load balancer, which takes requests from clients in your VPC and routes them to EC2 instances in your private subnets. Load balancers in EC2-Classic are always Internet-facing.</span></div>
</li>
<li class="listitem" style="line-height: 1.5em;"><div style="line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">[EC2-Classic] Load balancers for EC2-Classic support both IPv4 and IPv6 addresses. Load balancers for a VPC do not support IPv6 addresses.</span></div>
</li>
<li class="listitem" style="line-height: 1.5em;"><div style="line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">You can monitor your load balancer using CloudWatch metrics, access logs, and AWS CloudTrail.</span></div>
</li>
<li class="listitem" style="line-height: 1.5em;"><div style="line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">You can associate your Internet-facing load balancer with your domain name. Because the load balancer receives all requests from clients, you don't need to create and manage public domain names for the EC2 instances to which the load balancer routes traffic. You can point the instance's domain records at the load balancer instead and scale as needed (either adding or removing capacity) without having to update the records with each scaling activity.</span></div>
</li>
</ul>
<div>
<span style="font-family: "times" , "times new roman" , serif;"><span style="line-height: 24px;"><br /></span></span></div>
<h2>
<span style="font-family: "times" , "times new roman" , serif;"><span style="line-height: 24px;">Auto Scaling</span></span></h2>
<div style="color: #444444;">
<span style="font-family: "times" , "times new roman" , serif;"><span style="font-family: "times" , "times new roman" , serif; line-height: 24px;"><br /></span></span></div>
<div style="color: #444444;">
<div style="font-size: 16px; line-height: 1.5em;">
<span style="font-family: "times" , "times new roman" , serif;">The following table describes the key components of Auto Scaling.</span></div>
<div class="table" style="font-size: 16px; position: relative;">
<span style="font-family: "times" , "times new roman" , serif;"><a href="https://www.blogger.com/null" name="d0e267" style="color: #0087cc;"></a></span><br />
<div class="title" style="line-height: 1.5em; margin-bottom: 12px;">
<span style="font-family: "times" , "times new roman" , serif;"><b></b></span></div>
<div class="table-contents" style="overflow-x: auto; width: 100%;">
<table border="0" cellspacing="0" id="d0e269" style="border-collapse: collapse; border-left-color: rgb(204, 204, 204); border-left-style: solid; border-spacing: 0px; border-top-color: rgb(204, 204, 204); border-top-style: solid; border-width: 1px 0px 0px 1px; margin-bottom: 10px;" summary=""><colgroup><col></col><col></col></colgroup><tbody>
<tr><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-width: 0px 1px 1px 0px; font-size: 16px; padding: 5px; vertical-align: top;"><div class="mediaobject" style="color: #444444; max-width: 100%;">
<span style="color: black; font-family: "times" , "times new roman" , serif;"><img alt="A graphic representing an Auto Scaling group." src="https://docs.aws.amazon.com/autoscaling/latest/userguide/images/group-graphic.png" style="border: 0px hidden rgb(255, 255, 255); margin: 0px 0px 1em; max-width: 100%; padding: 0px;" /></span></div>
</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-width: 0px 1px 1px 0px; font-size: 16px; padding: 5px; vertical-align: top;"><div style="color: #444444; line-height: 1.5em;">
<span class="formpara" style="color: black; font-family: "times" , "times new roman" , serif; font-weight: bold;">Groups</span></div>
<div style="color: #444444; line-height: 1.5em;">
<span style="color: black; font-family: "times" , "times new roman" , serif;">Your EC2 instances are organized into <span class="emphasis"><em>groups</em></span> so that they can be treated as a logical unit for the purposes of scaling and management. When you create a group, you can specify its minimum, maximum, and, desired number of EC2 instances. For more information, see <a class="xref" href="http://docs.aws.amazon.com/autoscaling/latest/userguide/AutoScalingGroup.html" style="text-decoration: none;" title="Auto Scaling Groups">Auto Scaling Groups</a>.</span></div>
</td></tr>
<tr><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-width: 0px 1px 1px 0px; font-size: 16px; padding: 5px; vertical-align: top;"><div class="mediaobject" style="color: #444444; max-width: 100%;">
<span style="color: black; font-family: "times" , "times new roman" , serif;"><img alt="A graphic representing a launch configuration." src="https://docs.aws.amazon.com/autoscaling/latest/userguide/images/launch-configuration-graphic.png" style="border: 0px hidden rgb(255, 255, 255); margin: 0px 0px 1em; max-width: 100%; padding: 0px;" /></span></div>
</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-width: 0px 1px 1px 0px; font-size: 16px; padding: 5px; vertical-align: top;"><div style="color: #444444; line-height: 1.5em;">
<span class="formpara" style="color: black; font-family: "times" , "times new roman" , serif; font-weight: bold;">Launch configurations</span></div>
<div style="color: #444444; line-height: 1.5em;">
<span style="color: black; font-family: "times" , "times new roman" , serif;">Your group uses a <span class="emphasis"><em>launch configuration</em></span> as a template for its EC2 instances. When you create a launch configuration, you can specify information such as the AMI ID, instance type, key pair, security groups, and block device mapping for your instances. For more information, see <a class="xref" href="http://docs.aws.amazon.com/autoscaling/latest/userguide/LaunchConfiguration.html" style="text-decoration: none;" title="Launch Configurations">Launch Configurations</a>.</span></div>
</td></tr>
<tr><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-width: 0px 1px 1px 0px; font-size: 16px; padding: 5px; vertical-align: top;"><div class="mediaobject" style="color: #444444; max-width: 100%;">
<span style="color: black; font-family: "times" , "times new roman" , serif;"><img alt="A graphic representing a launch configuration." src="https://docs.aws.amazon.com/autoscaling/latest/userguide/images/scaling-plan-graphic.png" style="border: 0px hidden rgb(255, 255, 255); margin: 0px 0px 1em; max-width: 100%; padding: 0px;" /></span></div>
</td><td style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: solid; border-right-color: rgb(204, 204, 204); border-right-style: solid; border-width: 0px 1px 1px 0px; font-size: 16px; padding: 5px; vertical-align: top;"><div style="color: #444444; line-height: 1.5em;">
<span class="formpara" style="color: black; font-family: "times" , "times new roman" , serif; font-weight: bold;">Scaling plans</span></div>
<div style="color: #444444; line-height: 1.5em;">
<span style="color: black; font-family: "times" , "times new roman" , serif;">A <span class="emphasis"><em>scaling plan</em></span> tells Auto Scaling when and how to scale. For example, you can base a scaling plan on the occurrence of specified conditions (dynamic scaling) or on a schedule. For more information, see <a class="xref" href="http://docs.aws.amazon.com/autoscaling/latest/userguide/scaling_plan.html#scaling_typesof" style="text-decoration: none;" title="Scaling Plans">Scaling Plans</a>.</span></div>
</td></tr>
</tbody></table>
</div>
<h2 style="overflow-x: auto; width: 100%;">
Conclusion</h2>
<div>
<br /></div>
<div>
As told you in the beginning this is a brief overview from EC2 service and its main components. You should go deeper on some points but for the Professional Exam the goal is not to reply questions from the inner settings from each service, but to know how to combine them to build secure, cost-effective, elastic and scalable solutions.</div>
<div>
<br /></div>
</div>
</div>
</div>
</div>
</div>
</div>
coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com1tag:blogger.com,1999:blog-1135911131366790935.post-43760293415053934042016-07-21T17:08:00.004-07:002016-07-21T17:08:57.550-07:00AWS Certified Solutions Architect: Professional - An IntroductionSo, in my last blog entry I started structuring the learning process, starting with AWS core sevices ( Compute and Networking, Storage and CDN, Database, Application
Services, Deployment and Management ), beginning with Compute services.<br />
<br />
In the end I make a short break and notify you that I would talk about AWS Security more specifically the Shared Responsibility Model.<br />
<br />
But wait. I realised that this approach was missing the big picture, so I restarted with the basics.<br />
<br />
What I need to study in order to be approved? Which contents? Which weight they have?<br />
<br />
So, nothing better than go to the official AWS requirements for the Cert:<br />
<br />
AWS Knowledge:<br />
<br />
<ul>
<li>AWS core services, including: Compute and Networking, Storage and CDN, Database, Application
Services, Deployment and Management. </li>
<li>Security features that AWS provides and best practices </li>
<li>Able to design and implement for elasticity and scalability </li>
<li>Network technologies as they relate to AWS networking, including: DNS and load balancing, Amazon
Virtual Private Cloud (VPC), and AWS Direct Connect </li>
<li>Storage and archival options </li>
<li>State management </li>
<li>Database and replication methodologies </li>
<li>Self-healing techniques and fault-tolerant services </li>
<li>Disaster Recovery and fail-over strategies </li>
<li>Application migration plans to AWS </li>
<li>Network connectivity options </li>
<li>Deployment and management </li>
</ul>
General IT Knowledge:<br />
<ul>
<li>Large-scale distributed systems architecture</li>
<li>Eventual consistency </li>
<li>Relational and non-relational databases </li>
<li>Multi-tier architectures: load balancers, caching, web servers, application servers, networking and
databases </li>
<li>Loose coupling and stateless systems </li>
<li>Content Delivery Networks</li>
<li>System performance tuning </li>
<li>Networking concepts including routing tables, access control lists, firewalls, NAT, HTTP, DNS, TCP/IP,
OSI model </li>
<li>RESTful Web Services, XML, JSON </li>
<li>One or more software development models </li>
<li>Information and application security concepts including public key encryption, remote access, access
credentials, and certificate-based authentication</li>
</ul>
<div>
As I said in the warning in the previous blog post, you need to have previous IT experience and knowledge of several IT topics as you can see in the General IT Knowledge section above. </div>
<div>
<br /></div>
<div>
As important as this is the weight of each topic in the exam:</div>
<div>
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCXMtZPkOluFalNBHrYcZ8B4l3di9LGvAuvn7sUucyNdD8OwKyW7o6rd8jYvtKM2Ki0YweKLxevPoqzdCVjIRdd9z9wp3VVH4xsu30m6QFTzR-ppPIJy8sY7lgrSiMHPfwSHKJRIlu938/s1600/Screen+Shot+2016-07-21+at+21.03.57.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCXMtZPkOluFalNBHrYcZ8B4l3di9LGvAuvn7sUucyNdD8OwKyW7o6rd8jYvtKM2Ki0YweKLxevPoqzdCVjIRdd9z9wp3VVH4xsu30m6QFTzR-ppPIJy8sY7lgrSiMHPfwSHKJRIlu938/s640/Screen+Shot+2016-07-21+at+21.03.57.png" width="640" /></a></div>
<br />
As you can see, you will not be asked specific things about the services, like what is bucket name rules but you will need to know the services in order to build secure, elastic, reliable, high available and cost-friendly solutions.<br />
<br />
Pay attention to Security, Scalability, Data Storage and High Availability topics as they represent 65% from the entire exam points.<br />
<br />
Read the detailed domain areas and topics covered in the AWS cert content blueprint: <a href="http://d0.awsstatic.com/Train%20&%20Cert/docs/AWS_certified_solutions_architect_professional_blueprint.pdf" target="_blank">http://d0.awsstatic.com/Train%20&%20Cert/docs/AWS_certified_solutions_architect_professional_blueprint.pdf</a></div>
<div>
<br />
How will we structure the content? Following the "AWS Knowledge" section above, starting with Core Services, than focusing on Security and so on. </div>
coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com2tag:blogger.com,1999:blog-1135911131366790935.post-47710222451139518262016-06-28T10:52:00.001-07:002016-06-28T10:54:10.630-07:00Brain Dump and Notes for AWS Architect Professional Certification - Introduction<div class="MsoNormal">
Only what matters: first I will make a review from AWS
services and what is really important to know for the exam. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: red;">Warning: it is not impossible but
will be much harder to achieve the Pro Cert only studying the website
information or an online course. It is not impossible, but hands-on experience
is really a key point to master the exam. Also previous IT experience counts as
many decisions and questions are based on in depth experience with IT
environments and design decisions.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
In this review I will cover up to certain level the services
and AWS offering. In the bottom of each article the sources will be included
for further review and reading. I strongly suggest you create an AWS account
and try/experiment with the services.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
We will start with the Compute Services, which are (as of
July, 2016) the following:<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVTJ_viq7jolHTuxEkl4n-kboLHWUgwYfasyx8nD8dkYYn3aQVy7fxnlwgalwMAuBNA4-gio333srXJc2yMjEIpf-zgws7YoORWzm1IJ4mdiFGafV0cMzsIYGRc5i4Y18NudjTBHomIOo/s1600/Compute1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVTJ_viq7jolHTuxEkl4n-kboLHWUgwYfasyx8nD8dkYYn3aQVy7fxnlwgalwMAuBNA4-gio333srXJc2yMjEIpf-zgws7YoORWzm1IJ4mdiFGafV0cMzsIYGRc5i4Y18NudjTBHomIOo/s320/Compute1.png" width="238" /></a></div>
<div class="MsoNormal">
<o:p><br /></o:p></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<span style="mso-no-proof: yes;"><!--[if gte vml 1]><v:shapetype id="_x0000_t75"
coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe"
filled="f" stroked="f">
<v:stroke joinstyle="miter"/>
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0"/>
<v:f eqn="sum @0 1 0"/>
<v:f eqn="sum 0 0 @1"/>
<v:f eqn="prod @2 1 2"/>
<v:f eqn="prod @3 21600 pixelWidth"/>
<v:f eqn="prod @3 21600 pixelHeight"/>
<v:f eqn="sum @0 0 1"/>
<v:f eqn="prod @6 1 2"/>
<v:f eqn="prod @7 21600 pixelWidth"/>
<v:f eqn="sum @8 21600 0"/>
<v:f eqn="prod @7 21600 pixelHeight"/>
<v:f eqn="sum @10 21600 0"/>
</v:formulas>
<v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/>
<o:lock v:ext="edit" aspectratio="t"/>
</v:shapetype><v:shape id="Picture_x0020_1" o:spid="_x0000_i1025" type="#_x0000_t75"
style='width:307pt;height:412pt;visibility:visible;mso-wrap-style:square'>
<v:imagedata src="file://localhost/Users/fsck/Library/Group%20Containers/UBF8T346G9.Office/msoclip1/01/clip_image001.png"
o:title=""/>
</v:shape><![endif]--><!--[if !vml]--><!--[endif]--></span><o:p></o:p></div>
<div align="center" class="MsoNormal" style="text-align: center;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
All these services run somehow
around the core service which is EC2. Some only work with EC2 directly, like
ELB and Auto Scaling, while others cover network services (VPC),
Docker-compatible containers (EC2 Container Registry and ServicE) and
Microservices/Serverless applications (Lambda).<o:p></o:p></div>
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
<div class="MsoNormal" style="text-align: justify;">
The next blog will not enter into
the Compute Details but I will briefly talk about Security on AWS to introduce
important concepts like the <b style="mso-bidi-font-weight: normal;">Shared
Responsibility Model and Security Best Practices </b>on AWS.<o:p></o:p></div>
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
<o:AllowPNG/>
<o:PixelsPerInch>96</o:PixelsPerInch>
</o:OfficeDocumentSettings>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves>false</w:TrackMoves>
<w:TrackFormatting/>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>EN-US</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:EnableOpenTypeKerning/>
<w:DontFlipMirrorIndents/>
<w:OverrideTableStyleHps/>
</w:Compatibility>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false"
DefSemiHidden="false" DefQFormat="false" DefPriority="99"
LatentStyleCount="380">
<w:LsdException Locked="false" Priority="0" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="0" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index 9"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" Name="toc 9"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="header"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footer"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="index heading"/>
<w:LsdException Locked="false" Priority="35" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of figures"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="envelope return"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="footnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="line number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="page number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote reference"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="endnote text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="table of authorities"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="macro"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="toa heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Bullet 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Number 5"/>
<w:LsdException Locked="false" Priority="10" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Closing"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Signature"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="true"
UnhideWhenUsed="true" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="List Continue 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Message Header"/>
<w:LsdException Locked="false" Priority="11" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Salutation"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Date"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text First Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Heading"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Body Text Indent 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Block Text"/>
<w:LsdException Locked="false" Priority="0" SemiHidden="true"
UnhideWhenUsed="true" Name="Hyperlink"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="FollowedHyperlink"/>
<w:LsdException Locked="false" Priority="22" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Document Map"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Plain Text"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="E-mail Signature"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Top of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Bottom of Form"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal (Web)"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Acronym"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Address"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Cite"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Code"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Definition"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Keyboard"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Preformatted"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Sample"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Typewriter"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="HTML Variable"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Normal Table"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="annotation subject"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="No List"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Outline List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Simple 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Classic 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Colorful 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Columns 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Grid 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table List 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table 3D effects 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Contemporary"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Elegant"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Professional"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Subtle 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Web 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Balloon Text"/>
<w:LsdException Locked="false" Priority="39" Name="Table Grid"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Table Theme"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 1"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 2"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 3"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 4"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 5"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 6"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 7"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 8"/>
<w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true"
Name="Note Level 9"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" SemiHidden="true" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" QFormat="true"
Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" QFormat="true"
Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" QFormat="true"
Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" QFormat="true"
Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" QFormat="true"
Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" QFormat="true"
Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" SemiHidden="true"
UnhideWhenUsed="true" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" SemiHidden="true"
UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/>
<w:LsdException Locked="false" Priority="41" Name="Plain Table 1"/>
<w:LsdException Locked="false" Priority="42" Name="Plain Table 2"/>
<w:LsdException Locked="false" Priority="43" Name="Plain Table 3"/>
<w:LsdException Locked="false" Priority="44" Name="Plain Table 4"/>
<w:LsdException Locked="false" Priority="45" Name="Plain Table 5"/>
<w:LsdException Locked="false" Priority="40" Name="Grid Table Light"/>
<w:LsdException Locked="false" Priority="46" Name="Grid Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="Grid Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="Grid Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="Grid Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="Grid Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="Grid Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="Grid Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="Grid Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="Grid Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="Grid Table 7 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="46" Name="List Table 1 Light"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark"/>
<w:LsdException Locked="false" Priority="51" Name="List Table 6 Colorful"/>
<w:LsdException Locked="false" Priority="52" Name="List Table 7 Colorful"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 1"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 1"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 1"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 1"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 1"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 1"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 2"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 2"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 2"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 2"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 2"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 2"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 3"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 3"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 3"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 3"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 3"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 3"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 4"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 4"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 4"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 4"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 4"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 4"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 5"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 5"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 5"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 5"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 5"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 5"/>
<w:LsdException Locked="false" Priority="46"
Name="List Table 1 Light Accent 6"/>
<w:LsdException Locked="false" Priority="47" Name="List Table 2 Accent 6"/>
<w:LsdException Locked="false" Priority="48" Name="List Table 3 Accent 6"/>
<w:LsdException Locked="false" Priority="49" Name="List Table 4 Accent 6"/>
<w:LsdException Locked="false" Priority="50" Name="List Table 5 Dark Accent 6"/>
<w:LsdException Locked="false" Priority="51"
Name="List Table 6 Colorful Accent 6"/>
<w:LsdException Locked="false" Priority="52"
Name="List Table 7 Colorful Accent 6"/>
</w:LatentStyles>
</xml><![endif]-->
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:Calibri;
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
</style>
<![endif]-->
<!--StartFragment-->
<!--EndFragment--><br />
<div class="MsoNormal" style="text-align: justify;">
<br /></div>
coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com1tag:blogger.com,1999:blog-1135911131366790935.post-92057799718261704302016-03-29T06:38:00.000-07:002016-03-29T06:38:05.135-07:00Quick tip: Find a Share Path with Powershell<span style="font-family: Arial, Helvetica, sans-serif;">Managing a 30TB+ file services infrastructure with 3000+ shares I face in a daily basis simple challenges like the urgent need to know the path from a share. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">The small powershell code below does the trick:</span><br />
<span style="font-size: x-small;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">PS C:\Windows\system32> <b>Get-WmiObject -Class Win32_Share -Computer <span style="color: red;">FILESERVER01</span> | Select Name, Path | Where-Object { $_.Name -eq <span style="color: red;">"Share Name"</span> }</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b><br /></b></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Replace the red marked parts with the server name and share respectively. Enjoy!</span>coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com0tag:blogger.com,1999:blog-1135911131366790935.post-10374105604544659422015-10-29T05:30:00.000-07:002015-10-29T05:30:21.017-07:00Install AWSCLI on Mac OS X El Capitan (python error solution)So you installed the new OS X El Capitan in your MacBook. Then you tried to install AWSCLI... and it did not worked, right?<br />
<br />
Probably you got the following error message:<br />
<br />
<pre class="brush: js; ruler: true; first-line: 10; highlight: [2, 4, 6]">sudo -H pip2.7 install awscli
Collecting awscli
(...)
Installing collected packages: six, python-dateutil, docutils, botocore, awscli
<span style="color: red;">Found existing installation: six 1.4.1</span>
DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling six-1.4.1:
<span style="color: red;">Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 211, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 311, in run
root=options.root_path,
File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 640, in install
requirement.uninstall(auto_confirm=True)
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 716, in uninstall
paths_to_remove.remove(auto_confirm)
File "/Library/Python/2.7/site-packages/pip/req/req_uninstall.py", line 125, in remove
renames(path, new_path)
File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 315, in renames
shutil.move(old, new)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
copy2(src, real_dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
copystat(src, dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/tmp/pip-Za5ewE-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'</span>
</pre>
<br />
How to fix it?<br />
<br />
1) Install <b>brew</b> (if not installed):<br />
<pre style="background: rgba(0, 0, 0, 0.298039); border-radius: 0.4em; border: 0px; clear: both; color: white; font-size: 12.1875px; margin-bottom: 0.9em; outline: 0px; overflow-x: auto; padding: 8px 10px; text-align: center; vertical-align: baseline;"><code id="selectable" style="background: transparent; border: 0px; font-size: 1.3em; line-height: 1.6; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"</code></pre>
<br />
2) Install <b>xcode</b>:
<br />
<pre style="background: rgba(0, 0, 0, 0.298039); border-radius: 0.4em; border: 0px; clear: both; color: white; font-size: 12.1875px; margin-bottom: 0.9em; outline: 0px; overflow-x: auto; padding: 8px 10px; text-align: center; vertical-align: baseline;"><code id="selectable" style="background: transparent; border: 0px; font-size: 1.3em; line-height: 1.6; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">xcode-select --install</code></pre>
<br />
3) Reinstall python with brew:
<br />
<pre style="background: rgba(0, 0, 0, 0.298039); border-radius: 0.4em; border: 0px; clear: both; color: white; font-size: 12.1875px; margin-bottom: 0.9em; outline: 0px; overflow-x: auto; padding: 8px 10px; text-align: center; vertical-align: baseline;"><code id="selectable" style="background: transparent; border: 0px; font-size: 1.3em; line-height: 1.6; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">brew reinstall python</code></pre>
<br />
4) Reinstall the failing package (in this case six-1.4.1):
<br />
<pre style="background: rgba(0, 0, 0, 0.298039); border-radius: 0.4em; border: 0px; clear: both; color: white; font-size: 12.1875px; margin-bottom: 0.9em; outline: 0px; overflow-x: auto; padding: 8px 10px; text-align: center; vertical-align: baseline;"><code id="selectable" style="background: transparent; border: 0px; font-size: 1.3em; line-height: 1.6; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">sudo pip install -U six</code></pre>
<br />
5) And finally install the <b>AWSCLI</b>:
<br />
<pre style="background: rgba(0, 0, 0, 0.298039); border-radius: 0.4em; border: 0px; clear: both; color: white; font-size: 12.1875px; margin-bottom: 0.9em; outline: 0px; overflow-x: auto; padding: 8px 10px; text-align: center; vertical-align: baseline;"><code id="selectable" style="background: transparent; border: 0px; font-size: 1.3em; line-height: 1.6; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">sudo -H pip install awscli</code></pre>
<br />
This fix worked for me perfectly and now I can start working with the awscli (see my other blogs to know how to setup the cli in your MAC).coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com1tag:blogger.com,1999:blog-1135911131366790935.post-66306572092764876562015-07-28T07:32:00.000-07:002015-07-28T07:32:14.677-07:00AWS: Resize Root EBS Volume - Linux Partition<span style="font-family: Arial, Helvetica, sans-serif;">The goal from this document is to be clear and help you as quick as possible to achieve your goal. Further recommended reading is provided in the end of this tutorial - I am considering you have basic knowledge in AWS Console.
</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<br />
<ol>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Expanding your EBS Volume: by default you can't extend an EBS volume attached to an instance. To do so you need to perform the following steps:</span></li>
<ol>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Stop your instance (take care to verify if the Stop behavior is STOP and not TERMINATE - otherwise you will lose your instance).</span></li>
<br />
<li><span style="font-family: Arial, Helvetica, sans-serif;">Create a snapshot from the volume you want to expand (this can take a while).</span></li>
<br />
<li><span style="font-family: Arial, Helvetica, sans-serif;">Right click the snapshot and select "Create Volume" choose the size you want the disk to have (consider current space + increase needed => plan for future). Important here is to make sure that you are creating the new EBS volume in the same availability zone from your instance, otherwise you will not be able to attach the new volume to the instance.</span></li>
<br />
<li><span style="font-family: Arial, Helvetica, sans-serif;">After Volume is ready:</span></li>
<br />
<ol>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Detach the former volume from your instance (the one you are "increasing")</span></li>
<br />
<li><span style="font-family: Arial, Helvetica, sans-serif;">Attach the new volume, make sure you type /dev/sda1 in the Device Name (if this is the root volume), otherwise your instance will not boot.</span></li>
<br />
</ol>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Start the instance with the newly created expanded EBS volume. </span></li>
<br />
</ol>
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Expanding your Linux Root partition [Tested on CentOS]: </span></li>
<br />
<ol>
<li><span style="font-family: Arial, Helvetica, sans-serif;">When you type <b>df -h </b>you will see that the new space is not reclaimed. </span></li>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Get the partition name from df -h and the volume name, for example, /dev/xvda1 mounted as / and /dev/xvda for your device.</span></li>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Run <b>fdisk -l /dev/xvda</b> to list the partitions, probably the data partition you want to expand is the last one (hope to be). This command will also show the size from /dev/xvda which must reflect your expanded disk size. </span></li>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Take note from the Start and End sectors from your partitions, specially the one you want to extend. </span></li>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Delete your partition (the one you want to extend - no data will be lost but remember, you have one snapshot and the original volume is untouched):</span></li>
<span style="font-family: Courier New, Courier, monospace;">fdisk /dev/xvda</span><span style="font-family: Courier New, Courier, monospace;"><div>
Command (m for help): d</div>
</span><span style="font-family: Courier New, Courier, monospace;"><div>
Selected partition 1</div>
</span><span style="font-family: Courier New, Courier, monospace;"><div>
<br /></div>
</span><span style="font-family: Courier New, Courier, monospace;"><div>
<br /></div>
</span><span style="font-family: Courier New, Courier, monospace;"><div>
<br /></div>
</span><span style="font-family: Courier New, Courier, monospace;"><div>
Command (m for help): n</div>
</span><span style="font-family: Courier New, Courier, monospace;"><br /></span>
<br />
<li><span style="font-family: Arial, Helvetica, sans-serif;">Now you deleted your partition, time to recreate it. Usually keeping the defaults is OK, check the previously noted Start and End cylinders. </span></li>
<span style="font-family: Courier New, Courier, monospace;">Command (m for help): n<br />
Command action<br />
e extended<br />
p primary partition (1-4)<br />
p<br />
Partition number (1-4): 1<br />
First cylinder (1-634, default 1): <br />
Using default value 1<br />
Last cylinder or +size or +sizeM or +sizeK (1-634, default 634): <br />
Using default value 634<br />
</span><span style="font-family: Courier New, Courier, monospace;"><div>
Command (m for help): d</div>
</span>
<br />
<li><span style="font-family: Arial, Helvetica, sans-serif;">If your partition had a "*" present in the Boot column, we have to add it with the command, change the partition number to your situation:</span></li>
<span style="font-family: Courier New, Courier, monospace;"><div>
Command (m for help): a<br />
Partition number (1-4): 1</div>
</span>
<br />
<li><span style="font-family: Arial, Helvetica, sans-serif;">Now is time to write down the changes:</span></li>
<span style="font-family: Courier New, Courier, monospace;"><div>
Command (m for help): w <br />
The partition table has been altered! </div>
</span>
<br />
<li><span style="font-family: Arial, Helvetica, sans-serif;">Reboot your instance. After reboot the partition will have the new space but it will not be allocated yet, so a df -h will still show the old values.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;"><br />
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;">After reboot, type the following command to extend your online partition to its full size (the size we gave with fdisk), here you will use the partition name, not the disk, so, instead of using /dev/xvda (our example) as you did for fdisk, here we use the partition number /dev/xvda1:</span></li>
<span style="font-family: Courier New, Courier, monospace;"><div>
resize2fs /dev/xvda1 </div>
</span>
<br />
</ol>
<li><span style="font-family: Arial, Helvetica, sans-serif;">Additional Resources:</span></li>
<ol>
<li><span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://possiblelossofprecision.net/?p=228">http://possiblelossofprecision.net/?p=228</a></span></li>
<li><a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html">http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-expand-volume.html</a></li>
<li><a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html">http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-using-volumes.html</a></li>
<li><a href="https://www.howtoforge.com/linux_resizing_ext3_partitions">https://www.howtoforge.com/linux_resizing_ext3_partitions</a></li>
</ol>
</ol>
<div>
<br /></div>
<br />
<div>
</div>
coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com1tag:blogger.com,1999:blog-1135911131366790935.post-54899911419191650752015-06-25T08:34:00.000-07:002015-06-25T08:34:18.094-07:00Setup AWS cli to access your account [for a Linux/Mac client]This short recipe shows how to setup your Access Key to view, change and manage your AWS resources.<br />
<br />
1) You need to get your access keys. When you create a new account you have the option to generate an Access Key to the new user on creation. Take in mind that after generation the key is displayed only ONCE. You CANNOT recover a secret key, for obvious security reasons.<br />
<br />
<b><span style="color: red;">Best practice hint: NEVER use the Access keys from the root account (the Mail you used to create your AWS account), create an IAM account to manage all AWS resources.</span></b><br />
<br />
2) After you have your Access Key ID and Secret Acess Key we can move forward.<br />
<br />
3) Here we will cover the most simple way to setup your credentials, for a detailed overview, please check the document link in the end of this tech recipe.<br />
<br />
If you have only one account you may type only<br />
<br />
<pre class="programlisting" style="background-color: #eeeeee; border: 1px dashed rgb(51, 51, 51); color: #000066; font-family: 'Courier New', Courier, mono; font-size: 12px; margin-bottom: 5px; margin-top: 5px; overflow: auto; padding: 1em; width: 500px;">$ <strong class="userinput">aws configure</strong>
AWS Access Key ID [None]: <strong class="userinput"><code style="font-family: 'Courier New', Courier, mono;"><em class="replaceable" style="color: red;">AKIAIOSFODNN7EXAMPLE</em></code></strong>
AWS Secret Access Key [None]: <strong class="userinput"><code style="font-family: 'Courier New', Courier, mono;"><em class="replaceable" style="color: red;">wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY</em></code></strong>
Default region name [None]: <strong class="userinput"><code style="font-family: 'Courier New', Courier, mono;"><em class="replaceable" style="color: red;">us-west-2</em></code></strong>
Default output format [None]: <strong class="userinput"><code style="font-family: 'Courier New', Courier, mono;"><em class="replaceable" style="color: red;">json</em></code></strong></pre>
Replace the red options with your settings, the region you use the most and the output format, for the output we have 3 options: json, text or table, default is json.<br />
<br />
You must specify the AWS Access Key ID, the Secret Access Key and the Region. For a list of regions and endpoints, please refer to this document: <a href="http://docs.aws.amazon.com/general/latest/gr/rande.html">http://docs.aws.amazon.com/general/latest/gr/rande.html</a><br />
<br />
If you have multiple AWS customers or IAM accounts you can define different profiles for each of these.
<br />
<pre class="programlisting" style="background-color: #eeeeee; border: 1px dashed rgb(51, 51, 51); color: #000066; font-family: 'Courier New', Courier, mono; font-size: 12px; margin-bottom: 5px; margin-top: 5px; overflow: auto; padding: 1em; width: 500px;">$ <strong class="userinput">aws configure --profile TEST-ENVIRONMENT</strong>
AWS Access Key ID [None]: <strong class="userinput"><code style="font-family: 'Courier New', Courier, mono;"><em class="replaceable" style="color: red;">AKIAI44QH8DHBEXAMPLE</em></code></strong>
AWS Secret Access Key [None]: <strong class="userinput"><code style="font-family: 'Courier New', Courier, mono;"><em class="replaceable" style="color: red;">je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY</em></code></strong>
Default region name [None]: <strong class="userinput"><code style="font-family: 'Courier New', Courier, mono;"><em class="replaceable" style="color: red;">us-east-1</em></code></strong>
Default output format [None]: <strong class="userinput"><code style="font-family: 'Courier New', Courier, mono;"><em class="replaceable" style="color: red;">text</em></code></strong></pre>
4) Test if your configured account is working:
<span style="font-family: Times, Times New Roman, serif;">And you are done! Now it is time to explore the AWS CLI documentation and see what you can do with it.</span>
<br />
<div class="p1">
<span style="font-family: Courier New, Courier, monospace; font-size: x-small; font-weight: bold;">$</span><span style="font-family: Courier New, Courier, monospace;"><b> aws ec2 describe-volumes --profile TEST-ENVIRONMENT</b></span></div>
<div class="p1">
<span style="font-family: Times, Times New Roman, serif;"><b>5. </b>Further reading:</span></div>
<a href="http://docs.aws.amazon.com/cli/latest/userguide/tutorial-ec2-ubuntu.html#configure-cli-launch-ec2">http://docs.aws.amazon.com/cli/latest/userguide/tutorial-ec2-ubuntu.html#configure-cli-launch-ec2</a>
<a href="http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html"><span style="color: blue; font-family: Times, Times New Roman, serif;">http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-set-up.html</span></a><span style="color: red; font-family: Courier New, Courier, mono;">
</span>coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com0tag:blogger.com,1999:blog-1135911131366790935.post-24284529129612019242015-06-23T09:57:00.000-07:002015-06-23T09:57:19.876-07:00Setup AWSCLI on MacOS 10.9.5A very short recipe how I just did it on my client:<br />
<br />
1) Download Python: as I write the latest version is 3.4.3 - https://www.python.org/downloads/release/python-343/<br />
<br />
2) Install it (GUI installer);<br />
<br />
3) Install pip [easy installer for Python tools (easier to setup awscli later)]:<br />
<br />
$ sudo easy_install pip<br />
<br />
4) Install awscli with pip<br />
$ sudo pip install awscli<br />
<br />
5) Test it:<br />
<br />
$ aws --version<br />
<br />
<div class="p1">
aws-cli/1.7.35 Python/2.7.5 Darwin/13.4.0</div>
<div class="p1">
<br /></div>
<div class="p1">
And you are ready to setup your access to AWS. I will talk about it in another article.</div>
coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com0tag:blogger.com,1999:blog-1135911131366790935.post-61852794680919658642015-02-05T05:01:00.000-08:002015-02-05T05:01:00.999-08:00VSphere Web Cli: change the default language<span style="color: #666666; font-family: Arial, Helvetica, sans-serif, Bitstream Vera Sans;"><br />If you had like me, the experience to work for multinacional companies and have several customers in different countries, you could have the need to support systems on foreign languages.</span><div>
<span style="color: #666666; font-family: Arial, Helvetica, sans-serif, Bitstream Vera Sans;"><br /></span></div>
<div>
<span style="color: #666666; font-family: Arial, Helvetica, sans-serif, Bitstream Vera Sans;">Recently I had to support a vSphere environment in Germany, and I got confused with the huge names on Web Cli. Here's how you workaround the language issue:<br /><br /><span style="font-size: 12px;"><br /></span></span><span style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif, 'Bitstream Vera Sans'; font-size: 12px;">Append the localization parameter to the URL used for accessing the web client:</span><br style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif, 'Bitstream Vera Sans'; font-size: 12px;" /><br style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif, 'Bitstream Vera Sans'; font-size: 12px;" /><strong style="background-color: white; border: 0px none; color: #666666; font-family: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Note</strong><span style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif, 'Bitstream Vera Sans'; font-size: 12px;">: Languages supported are English, German, French, Japanese, Korean, and Chinese.</span><br style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif, 'Bitstream Vera Sans'; font-size: 12px;" /><br style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif, 'Bitstream Vera Sans'; font-size: 12px;" /><ul style="background-color: white; color: #666666; font-family: Arial, Helvetica, sans-serif, 'Bitstream Vera Sans'; font-size: 12px; font-stretch: normal;">
<li style="font-stretch: normal;">The default URL for the vSphere Web Client is:<br /><br /><code style="border: 0px none; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">https://<em style="border: 0px none; font-family: inherit; font-size: inherit; font-stretch: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">client-hostname</em>:9443/vsphere-client</code><br /></li>
<li style="font-stretch: normal;">To specify a language, append:<br /><br /><ul style="font-stretch: normal;">
<li style="font-stretch: normal;">English: <code style="border: 0px none; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">/?locale=en_US</code></li>
<li style="font-stretch: normal;">German: <code style="border: 0px none; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">/?locale=de_DE</code></li>
<li style="font-stretch: normal;">French: <code style="border: 0px none; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">/?locale=fr_FR</code></li>
<li style="font-stretch: normal;">Japanese: <code style="border: 0px none; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">/?locale=ja_JP</code></li>
<li style="font-stretch: normal;">Korean: <code style="border: 0px none; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">/?locale=ko_KR</code></li>
<li style="font-stretch: normal;">Chinese: <code style="border: 0px none; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">/?locale=zh_CN</code><br /></li>
</ul>
</li>
<li style="font-stretch: normal;">For example, to display the vSphere Web Client in French, use:<br /><br /><code style="border: 0px none; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">https://<em style="border: 0px none; font-family: inherit; font-size: inherit; font-stretch: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">client-hostname</em>:9443/vsphere-client/?locale=fr_FR</code></li>
</ul>
<div>
<span style="color: #666666; font-family: monospace;"><span style="font-size: 12px;">Source: http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1016403</span></span></div>
</div>
coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com0tag:blogger.com,1999:blog-1135911131366790935.post-7537647455025037272014-02-15T18:35:00.001-08:002014-02-15T18:35:18.913-08:00Install Hadoop 2.2.0 on Ubuntu 12.0.4 LTSI am starting to learn and study harder on the Big Data and Analytics area. You may notice from now on a shift from this blog from a more Microsoft-centric approach to a more mixed use, Open Source snippets followed by hints on Microsoft services I work with for years.<br />
<br />
Let's start with Hadoop!<br />
<br />
I will here only post a great tutorial: http://codesfusion.blogspot.com.br/2013/10/setup-hadoop-2x-220-on-ubuntu.html?m=1<br />
<br />
This tutorial was applied with a 100% accuracy on Ubuntu 12.0.4. Enjoy!coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com0tag:blogger.com,1999:blog-1135911131366790935.post-24838723315948176872014-01-02T04:42:00.000-08:002014-01-02T04:42:04.765-08:00Change DFS-R default debug logs size and paths<span style="font-size: small;"><span style="font-family: inherit;">The debug logs are usually left alone and unused... until you have a strange issue in your replication. If you have a contract with Microsoft, bet they will ask you for these logs, and they contain really valuable information, if you decrypt the not easy to understand format and messages.</span></span><br />
<span style="font-size: small;"><span style="font-family: inherit;"><br /></span></span>
<span style="font-size: small;"><span style="font-family: inherit;">According to your data size and amount of changes, the defaults are not suitable. If you have TBs of replicated data being modified quite intensely the default values will not be enough, and the 1000 logs retained will last for hours or max one or two days.</span></span><br />
<span style="font-size: small;"><span style="font-family: inherit;"><br /></span></span>
<span style="font-size: small;"><span style="font-family: inherit;">So, here the tricks:</span></span><br />
<span style="font-size: small;"><span style="font-family: inherit;"><br /></span></span>
<div class="MsoListParagraph" style="text-indent: -0.25in;">
<span style="font-size: small;"><span style="font-family: inherit;"><span>1.<span style="-moz-font-feature-settings: normal; -moz-font-language-override: normal; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;"> <b></b></span></span><b>How to increase the number of DFS-R debug logs?</b></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: small;"><span style="font-family: inherit;">The answer is in the following kbarticle:</span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: small;"><span style="font-family: inherit;"><a href="http://support.microsoft.com/kb/958893">http://support.microsoft.com/kb/958893</a></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: small;"><span style="font-family: inherit;"><b>SETTING: Debug Log Messages </b><br /><br /> Default: 200000 <br /><br /> Range: 1000 to 4294967295 (FFFFFFFF) <br /><br /> <i>WMIC syntax: wmic /namespace:\\root\microsoftdfs path dfsrmachineconfig set maxdebuglogmessages=1000000</i></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: small;"><span style="font-family: inherit;"><b>How to change the path were they are saved?</b></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: small;"><span style="font-family: inherit;">SETTING: Debug Log File Path <br /><br /> Default: %windir%\debug <br /><br /> <i>WMIC syntax: wmic /namespace:\\root\microsoftdfs path dfsrmachineconfig set debuglogfilepath="d:\dfsrlogs"</i></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: small;"><span style="font-family: inherit;">So, with this blog we start 2014! </span></span><i><span style="font-size: small;"><span style="font-family: inherit;"> </span></span></i></div>
coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com0tag:blogger.com,1999:blog-1135911131366790935.post-71552303697848268592013-08-28T03:23:00.002-07:002013-08-28T03:23:25.730-07:00Recover a SSL Certificate lost private key on Windows Server 2008 R2So you get the certificate, import it to the Computer Certificates store, and then you want to use it on IIS or other application which requires a certificate, like, Forefront TMG.<br />
<br />
And you notice that your recently added certificate is not there. To recover it, just follow the steps provided by Entrust on this very easy to follow how to: <a href="http://www.entrust.net/knowledge-base/technote.cfm?tn=7905">http://www.entrust.net/knowledge-base/technote.cfm?tn=7905</a>coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com0tag:blogger.com,1999:blog-1135911131366790935.post-56078764862855605972013-03-08T14:59:00.001-08:002013-03-08T14:59:39.150-08:00Binding a SSL Certificate to Website Error: HRESULT: 0x80070520Hello,<br />
<br />
today I faced a problem with IIS and Certificates. The error was:<br />
<h3 class="post-name">
HRESULT: 0x80070520</h3>
<div class="post-name">
<span style="font-weight: normal;">I found a very good article here:<a href="http://blogs.msdn.com/b/kaushal/archive/2012/10/07/error-hresult-0x80070520-when-adding-ssl-binding-in-iis.aspx"> http://blogs.msdn.com/b/kaushal/archive/2012/10/07/error-hresult-0x80070520-when-adding-ssl-binding-in-iis.aspx</a></span></div>
<div class="post-name">
<br /></div>
<div class="post-name">
In my specific case the problem was the permissions. I had to remove the certificate and set Administrators as Full Control to 'THIS FOLDER ONLY' and Everyone with Full Control over the entire folder.</div>
<div class="post-name">
<br /></div>
<div class="post-name">
After that imported the certificate again and it worked.</div>
<div class="post-name">
<br /></div>
<div class="post-name">
I am a bit worried with the Everyone permission, but this was the recommendation from this article: <a href="http://msdn.microsoft.com/en-us/library/ee248638%28v=vs.100%29.aspx">http://msdn.microsoft.com/en-us/library/ee248638%28v=vs.100%29.aspx</a></div>
<div class="post-name">
<br /></div>
<div class="post-name">
And, another problem solved!</div>
coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com0tag:blogger.com,1999:blog-1135911131366790935.post-46312393737831643242013-02-17T17:35:00.000-08:002013-02-17T17:35:04.003-08:00Export Installed Updates in Windows Server 2008 or 2008 R2There is a quick command to export in a nice CSV format all installed updates in a Windows Server 2008 or 2008 R2 system:<br />
<br />
1. Open a command prompt<br />
<br />
2. Type: <span style="font-family: "Courier New", Courier, monospace;">wmic qfe get /format:csv >C:\updates.csv</span><br />
<span style="font-family: Courier New;"></span><br />
<span style="font-family: inherit;">What is the benefit of it? This is a way to build a Changelog to track the changes performed in the system. Each Month or Scheduled update 'day' export the changes, so you can see the history of applied patches.</span><br />
coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com0tag:blogger.com,1999:blog-1135911131366790935.post-991230948526964922013-02-14T06:36:00.000-08:002013-02-14T06:36:09.949-08:00Find the Shares from your DFS NamespaceDFS Namespace information can be easily exported to a nice XML file with the command:<br />
<br />
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">dfsutil root export \\domain\namespacename C:\Export.xml</span></span><br />
<br />
But now you have a XML file, which is not the best file type to work with and check important info. Basically what I will show you is a small script in Powershell that parses the XML and return the ONLINE targets sharename, but you can adapt to return the info you need.<br />
<br />
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;"># Parsing XML from Namespace<br />[xml]$dfs = Get-Content output.xml<br />$output = @()<br />foreach ($link in $dfs.Root.Link)<br />{<br /> if ($link.Name -match "DEEI\\Groups")<br /> {<br /> $user = $link.Name.Split("\")<br /><br /><br /> foreach ($target in $link.Target)<br /> {<br /> $shareName = $target.get_InnerXml()<br /> if ($target.state -eq "ONLINE")<br /> { <br /> $output+=$sharename<br /> }<br /> }<br /> }<br />} <br />$output | Out-File '.\OUTPUT-SHARE.TXT'</span> </span><br />
<br />
The small script above returns all shares which are ONLINE and output them to the OUTPUT-SHARE.TXT. It takes as input the file 'output.xml' which is the xml from the namespace.<br />
<br />
Feel free to adapt it. Please let your comment.coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com0tag:blogger.com,1999:blog-1135911131366790935.post-5302081376968793252012-12-16T07:54:00.001-08:002012-12-16T07:55:43.622-08:00DFS-R Replication problems: Event ID 6002Hi,<br />
<br />
today morning, while applying windows updates into one of mine DFS-R and DFS-N servers, I found a strange ID, 6002:<br />
<br />
<br />
The DFS Replication service detected invalid msDFSR-Subscriber object data while polling for configuration information.<br />
<br />
Additional Information:<br />
Object DN: CN=<removed>,CN=DFSR-LocalSettings,CN=<removed>,OU=<removed>,OU=<removed>,OU=<removed>,OU=<removed>,DC=<domain name>,DC=com<br />
Attribute Name: msDFSR-MemberReference<br />
Domain Controller: <DC hostname><br />
Polling Cycle: 60 minutes<br />
<br />
After seeing this error I filtered mine alerts, and found that for 3 days these alerts were being shown, just a few each day. So, let´s do what every SysAdmin does: google it!<br />
<br />
I had the feeling that this was related to conflicts or orphan entries in LDAP DB that contains the entire DFS configuration, and the feeling became true.<br />
<br />
My Domain is based on Windows Server 2008 R2 with 2008 R2 Functional Level.<br />
<br />
I found some interesting entries:<br />
<br />
<a href="http://www.chicagotech.net/netforums/viewtopic.php?p=4675&sid=4533d81e7d24afa689686ff5d5ffbdb3">http://www.chicagotech.net/netforums/viewtopic.php?p=4675&sid=4533d81e7d24afa689686ff5d5ffbdb3</a><br />
<a href="http://www.eventid.net/display-eventid-6002-source-DFSR-eventno-10483-phase-1.htm">http://www.eventid.net/display-eventid-6002-source-DFSR-eventno-10483-phase-1.htm</a><br />
<a href="http://social.technet.microsoft.com/wiki/contents/articles/1158.dfsr-event-6002-dfs-replication.aspx">http://social.technet.microsoft.com/wiki/contents/articles/1158.dfsr-event-6002-dfs-replication.aspx</a> (fix only for 2k3 R2 - other problem)<br />
<br />
and here the details about the ms-DFSR-MemberReference attribute (Windows):<br />
<a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms677157(v=vs.85).aspx#win_2008_r2">http://msdn.microsoft.com/en-us/library/windows/desktop/ms677157(v=vs.85).aspx#win_2008_r2</a><br />
<br />
But, after the links and the intro, what was the solution?<br />
<br />
Before going to the solution, I need to add one more thing: this error stopped replication for ALL folders and groups. So this is a very critical problem. I created some Diag Reports and create some test files to see them replicated, but nothing happened for hours.<br />
<br />
Steps taken:<br />
<br />
1. Get the errors (look in all involved servers from your DFS-R farm, if you replicate folders from A to B, look on A and B for 6002 errors - filter the event viewer)<br />
<br />
2. Go to your Domain Controller (I am assuming you have DFS deployed in a Domain), open the ADSIEdit.msc console (this tool allows you to browse the LDAP structure from your domain, including all attributes from the objects, allowing a RW view... be careful when editing this, this is only required for advanced procedures)<br />
<br />
3. In the ADSIEdit console, connect to your DC/Domain and navigate to the key informed in the error. Open the details for the key, there you will find the replicated folder name.<br />
<br />
4. Do the same in the other servers. Verify in all the servers the replicated folder name<br />
<br />
5. Do not remove the entry yet. Go back to your DFS Management snap-in and delete the affected replicated group.<br />
<br />
6. Wait for the changes to propagate, to speedup run in an elevated prompt dfsrdiag PollAD /Member:<your DC hostname><br />
<br />
7. Wait up to 1h to see the changes propagated. For me, after removing the conflicting Replication Group from the DFS-R Management (not removing from view, but deleting the RG totally) the DFS replication started to work properly again (yes!!!). But the conflicted still existed in MSIEdit.<br />
<br />
8. To stop the 6002 errors, I deleted the entries from LDAP DB and restarted DFS-R service. After that everything was OK.<br />
<br />
So, one more problem solved and documented so you can also benefit from this. Please commentcoffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com2tag:blogger.com,1999:blog-1135911131366790935.post-82914051297806616592012-07-29T18:24:00.000-07:002012-07-29T18:24:04.628-07:00Convert thousands of files from .Doc to .Html with Powershell (The Saga!)<span style="font-family: Arial, Helvetica, sans-serif;">Hello! After so long I am coming again after a 2-day battle against Powershell and Office assemblies. So, first, what I wanted to do (and actually did :) )...</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Convert thousands of Word .doc files to .html for a customer project. Well, first option: do by hand was out of scope... as they were really thousands of .doc files. So let´s go forward for a smart function.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Then I found this amazing piece of code at Technet:</span><br />
<pre style="background-color: #f0f0f0; background-position: initial initial; background-repeat: initial initial; border: 1px dashed rgb(204, 204, 204); color: black; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"><span style="font-family: Arial, Helvetica, sans-serif;">1: param([string]$docpath,[string]$htmlpath = $docpath)
2: $srcfiles = Get-ChildItem $docPath -filter "*.doc"
3: $saveFormat = [Enum]::Parse([Microsoft.Office.Interop.Word.WdSaveFormat], "wdFormatFilteredHTML");
4: $word = new-object -comobject word.application
5: $word.Visible = $False
6: function saveas-filteredhtml
7: {
8: $opendoc = $word.documents.open($doc.FullName);
9: $opendoc.saveas([ref]"$htmlpath\$doc.fullname.html", [ref]$saveFormat);
10: $opendoc.close();
11: }
12: ForEach ($doc in $srcfiles)
13: {
14: Write-Host "Processing :" $doc.FullName
15: saveas-filteredhtml
16: $doc = $null
17: }
18: $word.quit();
</span></code></pre>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Source: <a href="http://blogs.technet.com/b/bshukla/archive/2011/09/27/3347395.aspx">http://blogs.technet.com/b/bshukla/archive/2011/09/27/3347395.aspx</a></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">OK, perfect, right? Not yet. After copying and saving as a .ps1 file, the errors started...</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><br />
<br />
<b><span style="color: red; font-family: Arial, Helvetica, sans-serif; font-size: x-small;">Unable to find type [Microsoft.Office.Interop.Word.WdSaveFormat]: make sure that the assembly containing this type is l</span></b><br />
<b><span style="color: red; font-family: Arial, Helvetica, sans-serif; font-size: x-small;">oaded.</span></b><br />
<b><span style="color: red; font-family: Arial, Helvetica, sans-serif; font-size: x-small;">At c:\path\Doc2Html.ps1:5 char:73</span></b><br />
<b><span style="color: red; font-family: Arial, Helvetica, sans-serif; font-size: x-small;">+ $saveFormat = [Enum]::Parse([Microsoft.Office.Interop.Word.WdSaveFormat] <<<< , "wdFormatFilteredHTML");</span></b><br />
<b><span style="color: red; font-family: Arial, Helvetica, sans-serif; font-size: x-small;"> + CategoryInfo : InvalidOperation: (Microsoft.Offic...rd.WdSaveFormat:String) [], RuntimeException</span></b><br />
<b><span style="color: red; font-family: Arial, Helvetica, sans-serif; font-size: x-small;"> + FullyQualifiedErrorId : TypeNotFound</span></b><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Ops... something is not good here. So, let´s troubleshoot. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">1. Download and install the Office Interop Assemblies for your Office version (<a href="http://msdn.microsoft.com/en-us/library/15s06t57.aspx">http://msdn.microsoft.com/en-us/library/15s06t57.aspx</a>) for Office 2007 the download link is here (<a href="http://www.microsoft.com/en-us/download/details.aspx?id=18346">http://www.microsoft.com/en-us/download/details.aspx?id=18346</a>)</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">2. Very important: run the Script from a directory in the PATH. For example, after I installed the Interop Assembly I still got the same errors. Than I realized that I was trying to run the script from a USB drive. I copied the file to %SystemRoot% (C:\Windows\system32) in my case. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">So, now it ran yes? Not yet :( again strange errors:</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><br />
<span style="background-color: #fefdfa; color: red; line-height: 18px; text-align: justify;"><b><span style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;">Method invocation failed because [System.__ComObject] doesn't contain a method named 'SaveAS'.</span></b></span><br />
<span style="background-color: #fefdfa; color: red; line-height: 18px; text-align: justify;"><b><span style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"><br /></span></b></span><br />
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 18px;">What no</span></span><span style="background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 18px;">w? After Googling (or Binging...) I found that this error is related with regionalization and language settings. Mine Office is Portuguese-Brazil, but my PC has Win7 Enterprise - English. I found a simmilar error on this thread </span><a href="http://depsharee.blogspot.com.br/2011_08_01_archive.html">http://depsharee.blogspot.com.br/2011_08_01_archive.html</a> that had a link to the a MS page saying that this is really a BUG: <a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;320369">http://support.microsoft.com/default.aspx?scid=kb;en-us;320369</a></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">OK, so now just add the hint in the blog to my Powershell code? No. The hint is for C# so I had to search for the Powershell version. Finally found here: <a href="http://stackoverflow.com/questions/4105224/how-to-set-culture-in-powershell">http://stackoverflow.com/questions/4105224/how-to-set-culture-in-powershell</a></span></div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
</div>
<pre class="default prettyprint" style="background-color: #eeeeee; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 18px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; text-align: left; vertical-align: baseline; width: auto;"><code style="border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline;"><span class="pln" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">$currentThread </span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="pln" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">[</span><span class="typ" style="background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">System</span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">Threading</span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">Thread</span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">]::</span><span class="typ" style="background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">CurrentThread</span><span class="pln" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
$culture </span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="pln" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">[</span><span class="typ" style="background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">System</span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">Globalization</span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">CultureInfo</span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">]::</span><span class="typ" style="background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">InvariantCulture</span><span class="pln" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">
$currentThread</span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">CurrentCulture</span><span class="pln" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="pln" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> $culture
$currentThread</span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">.</span><span class="typ" style="background-color: transparent; border: 0px; color: #2b91af; margin: 0px; padding: 0px; vertical-align: baseline;">CurrentUICulture</span><span class="pln" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> </span><span class="pun" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;">=</span><span class="pln" style="background-color: transparent; border: 0px; margin: 0px; padding: 0px; vertical-align: baseline;"> $culture</span></code></pre>
<br />
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 18px;">Added the lines above to the script and finally the conversion started and converted in the first test 50 docs perfectly to html.</span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 18px;"><br /></span></span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="line-height: 18px;">Now mine final code, with regionalization settings:</span></span></div>
<span style="background-color: #fefdfa; color: red; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18px; text-align: justify;"><br /></span>
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgHVwVqRw7HGWrS9fCq-ym4LiEpECVgtwqsq-yjOcNYWnKfuOcziT-ahPuYOe0JemYKCTPOd4-hqCf2VYMUFLyipDSQ7lmqcJ_Vada0ZqOUHsGED97Wu-UI5XPBIkEtpd7Vlmu-CvBTBM5J/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;">1: # Convert .doc to .html
2: param([string]$docpath,[string]$htmlpath = $docpath)
3: $srcfiles = Get-ChildItem $docPath -filter "*.doc"
4: $saveFormat = [Enum]::Parse([Microsoft.Office.Interop.Word.WdSaveFormat], "wdFormatFilteredHTML");
5: $word = new-object -comobject word.application
6: $word.Visible = $False
7: function saveas-filteredhtml
8: {
9: $name = $doc.basename
10: $savepath = "$htmlpath\" + $name + ".html"
11: write-host $name
12: Write-Host $savepath
13: $opendoc = $word.documents.open($doc.FullName);
14: $opendoc.saveas([ref]$savepath, [ref]$saveFormat);
15: $opendoc.close();
16: }
17: ForEach ($doc in $srcfiles)
18: {
19: Write-Host "Processing :" $doc.FullName
20: saveas-filteredhtml
21: $doc = $null
22: }
23: $word.quit();
</code></pre>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">I hope this piece of code helps someone... pls comment!</span>coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com1tag:blogger.com,1999:blog-1135911131366790935.post-79284615940616732252011-10-05T16:43:00.000-07:002011-10-05T16:46:07.075-07:00PowerShell: Get NTFS permissions from a FolderHi,<br /><br />NTFS permissions are hard to be audited in a way that you can get an broad overview from your file system ACLs.<br /><br />The following `script` will dump all Directories permissions to a CSV file:<br /><br /><pre>Get-ChildItem E:\Data -recurse | Where {$_.psIsContainer -eq $true} | Get-Acl | <br />Export-Csv file-perms.csv</pre><br /><br />Hope this helps someone.coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com1tag:blogger.com,1999:blog-1135911131366790935.post-39127679001794678002011-06-14T03:53:00.000-07:002011-06-14T05:50:55.193-07:00Blogging Knowledge - my view about sharing informationThe Internet is an amazing place for learning, fun, work, get money (for some lucky and smart guys even get billionaire!). I think that sharing information is the root from what Internet is for. Since the old times when just research and universities had access the Internet was a place to share knowledge.<br /><br />I am creating this blog to do this: share knowledge and document procedures that I know I will quickly forget, wasting hours of research. With this action I hope some poor soul will find here the solution for its problems and be happy as I am when I find something really useful to solve my problems on the net. Is really nice to see when you can share your problems and see that they are not just yours.<br /><br />What will this blog talk about? Technology, technologies and computer science research topics like:<br /><ul><li>Windows Server</li><li>Active Directory</li><li>Network Servers (DHCP, DNS, Firewalls)</li><li>Linux<br /></li><li>FreeBSD</li><li>Programming: VBA, VB.NET, C#, PowerShell, VBScript, PHP, Perl, Shell Script (bash)</li><li>Cloud Computing</li><li>Open Source (yes, this is an open minded blog, Windows mixing with Linux and other topics)</li><li>A lot more :)<br /></li></ul>I just hope I can keep this blog running. The blog will be most in English, maybe some topics in Brazilian Portuguese (PT-BR).coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com0tag:blogger.com,1999:blog-1135911131366790935.post-34316923360715244842011-06-13T18:55:00.000-07:002011-06-14T03:53:04.413-07:00Quick Recipe: Exporting Active Directory informatin using CSVDEHi,<br /><br />CSVDE is a very nice tool to export information from AD DS. It allows you to perform queries in the LDAP context and export the results into nice CSV files, much easier to parse with other language or with Excel (or other spreadsheet solution).<br /><br />To see all options from CSVDE just type it in the Command Prompt or Power Shell (I prefer Power Shell console).<br /><br />So let's go: how to export all Users from my Domain? With the command:<br /><pre>csvde -d "dc=example,dc=com" -f example-com.csv -r<br />"(&(objectclass=user)(objectcategory=person))" -l "DN"<br /></pre><br />To export the logins use the following command:<br /><pre>csvde -d "dc=example,dc=com" -f example-com.csv -r<br />"(&(objectclass=user)(objectcategory=person))" -l "userPrincipalName"<br /></pre><br />DN and userPrincipalName will be exported. <br /><span style="font-weight:bold;"></span><br /><br />Command analysis:<br /><ul><li>-d option is where you want to look for your info, in the entire domain, one specific OU etc.</li><li>-f specifies the output file</li><li>-r is the advanced filter for LDAP search</li><li>-l is the fields limitation from the search, in this case I just want the DN's.</li></ul>Further information:<br /><br /><ul><li><a href="http://technet.microsoft.com/en-us/library/aa996205%28EXCHG.65%29.aspx">LDAP queries and filters</a></li><li><a href="http://msdn.microsoft.com/en-us/library/aa746475%28v=vs.85%29.aspx">MSDN: Search filters (LDAP)</a><br /></li></ul>coffeinehttp://www.blogger.com/profile/14422908391824900534noreply@blogger.com0